mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Restore utf8proc code.
This commit is contained in:
9
utf8.c
9
utf8.c
@ -409,6 +409,10 @@ utf8_width(struct utf8_data *ud, int *width)
|
||||
*width = 2;
|
||||
return (UTF8_DONE);
|
||||
}
|
||||
#ifdef HAVE_UTF8PROC
|
||||
*width = utf8proc_wcwidth(wc);
|
||||
log_debug("utf8proc_wcwidth(%05X) returned %d", (u_int)wc, *width);
|
||||
#else
|
||||
*width = wcwidth(wc);
|
||||
log_debug("wcwidth(%05X) returned %d", (u_int)wc, *width);
|
||||
if (*width < 0) {
|
||||
@ -418,6 +422,7 @@ utf8_width(struct utf8_data *ud, int *width)
|
||||
*/
|
||||
*width = (wc >= 0x80 && wc <= 0x9f) ? 0 : 1;
|
||||
}
|
||||
#endif
|
||||
if (*width >= 0 && *width <= 0xff)
|
||||
return (UTF8_DONE);
|
||||
return (UTF8_ERROR);
|
||||
@ -427,7 +432,11 @@ utf8_width(struct utf8_data *ud, int *width)
|
||||
enum utf8_state
|
||||
utf8_towc(const struct utf8_data *ud, wchar_t *wc)
|
||||
{
|
||||
#ifdef HAVE_UTF8PROC
|
||||
switch (utf8proc_mbtowc(wc, ud->data, ud->size)) {
|
||||
#else
|
||||
switch (mbtowc(wc, ud->data, ud->size)) {
|
||||
#endif
|
||||
case -1:
|
||||
log_debug("UTF-8 %.*s, mbtowc() %d", (int)ud->size, ud->data,
|
||||
errno);
|
||||
|
Reference in New Issue
Block a user