summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2002-08-19 18:06:18 +0000
committerache <ache@FreeBSD.org>2002-08-19 18:06:18 +0000
commit34e5c81b71e30231d88cfefd01b0ed07a8dcfd0d (patch)
treec15197c4a811b73be6f5e1ec16f1daa7633640bb /lib
parent4cb63b194b8814677740b947875d7100a47c5656 (diff)
downloadFreeBSD-src-34e5c81b71e30231d88cfefd01b0ed07a8dcfd0d.zip
FreeBSD-src-34e5c81b71e30231d88cfefd01b0ed07a8dcfd0d.tar.gz
According to SUSv2, always return 0 for null wide-character code
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/locale/wcwidth.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libc/locale/wcwidth.c b/lib/libc/locale/wcwidth.c
index dab0808..b2d70a5 100644
--- a/lib/libc/locale/wcwidth.c
+++ b/lib/libc/locale/wcwidth.c
@@ -52,7 +52,12 @@ int
wcwidth(wc)
wchar_t wc;
{
- int width = __maskrune(wc, _CTYPE_SWM);
+ int width;
+
+ if (wc == 0)
+ return (0);
+
+ width = __maskrune(wc, _CTYPE_SWM);
/* 0 is autowidth (default) */
return (width ? (int)((unsigned)width >> _CTYPE_SWS)
OpenPOWER on IntegriCloud