summaryrefslogtreecommitdiff
path: root/pith/charconv
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2018-06-30 00:55:35 -0600
committerEduardo Chappa <chappa@washington.edu>2018-06-30 00:55:35 -0600
commit7dbd93a3d471ff402f919d31aa4e86bdb9d6e5aa (patch)
treef0e2f060e47f7d1bc739cd2813ed5b0f75ea31ea /pith/charconv
parent5d1f76edbfa357181f1a8662aa990c8b3e89f775 (diff)
downloadalpine-7dbd93a3d471ff402f919d31aa4e86bdb9d6e5aa.tar.xz
* Width of characters is not always determined correctly when wcwidth
is used. The revert to using code for the Windows operating system. Reported by Andrew Ho.
Diffstat (limited to 'pith/charconv')
-rw-r--r--pith/charconv/utf8.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pith/charconv/utf8.c b/pith/charconv/utf8.c
index 373f4b62..6613f4db 100644
--- a/pith/charconv/utf8.c
+++ b/pith/charconv/utf8.c
@@ -100,10 +100,13 @@ wcellwidth(UCS ucs)
#endif
}
-/* ambiguous width zone character function */
+/* ambiguous width zone character function. We use the Windows code until
+ * we find a better way to do it in general.
+ */
int
pith_ucs4width(UCS ucs)
{
+ return (ucs >= 0x2100) ? 2 : 1;
#if !defined(_WINDOWS) && HAVE_WCWIDTH
return wcwidth((wchar_t) ucs);
#else