mirror of
https://github.com/tmux/tmux.git
synced 2024-12-04 19:58:48 +00:00
Restore utf8proc code.
This commit is contained in:
parent
789a98982e
commit
51b80b985e
1
tmux.h
1
tmux.h
@ -3343,6 +3343,7 @@ int utf8_cstrhas(const char *, const struct utf8_data *);
|
||||
char *osdep_get_name(int, char *);
|
||||
char *osdep_get_cwd(int);
|
||||
struct event_base *osdep_event_init(void);
|
||||
|
||||
/* utf8-combined.c */
|
||||
int utf8_has_zwj(const struct utf8_data *);
|
||||
int utf8_is_zwj(const struct utf8_data *);
|
||||
|
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);
|
||||
|
Loading…
Reference in New Issue
Block a user