mirror of
https://github.com/tmux/tmux.git
synced 2025-04-25 22:45:04 +00:00
Log wcwidth() and mbtowc() failure to make it easier to debug a Unicode
codepoint not appearing.
This commit is contained in:
parent
6bf2a43e67
commit
d303e55258
7
utf8.c
7
utf8.c
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <vis.h>
|
#include <vis.h>
|
||||||
@ -116,8 +117,10 @@ utf8_width(wchar_t wc)
|
|||||||
int width;
|
int width;
|
||||||
|
|
||||||
width = wcwidth(wc);
|
width = wcwidth(wc);
|
||||||
if (width < 0 || width > 0xff)
|
if (width < 0 || width > 0xff) {
|
||||||
|
log_debug("Unicode %04x, wcwidth() %d", wc, width);
|
||||||
return (-1);
|
return (-1);
|
||||||
|
}
|
||||||
return (width);
|
return (width);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,6 +130,8 @@ utf8_combine(const struct utf8_data *ud, wchar_t *wc)
|
|||||||
{
|
{
|
||||||
switch (mbtowc(wc, ud->data, ud->size)) {
|
switch (mbtowc(wc, ud->data, ud->size)) {
|
||||||
case -1:
|
case -1:
|
||||||
|
log_debug("UTF-8 %.*s, mbtowc() %d", (int)ud->size, ud->data,
|
||||||
|
errno);
|
||||||
mbtowc(NULL, NULL, MB_CUR_MAX);
|
mbtowc(NULL, NULL, MB_CUR_MAX);
|
||||||
return (UTF8_ERROR);
|
return (UTF8_ERROR);
|
||||||
case 0:
|
case 0:
|
||||||
|
Loading…
Reference in New Issue
Block a user