OpenBSD wcwidth() is sensible and complete so if it returns -1 it means

that a character is not printable, so return to ignoring such
characters.
This commit is contained in:
nicm 2016-04-29 09:11:19 +00:00
parent dd8ba0b5a8
commit 7abdfbe20e

8
utf8.c
View File

@ -119,14 +119,6 @@ utf8_width(wchar_t wc)
width = wcwidth(wc);
if (width < 0 || width > 0xff) {
log_debug("Unicode %04x, wcwidth() %d", wc, width);
/*
* Many platforms have no width for relatively common
* characters (wcwidth() returns -1); assume width 1 in this
* case and hope for the best.
*/
if (width < 0)
return (1);
return (-1);
}
return (width);