diff options
author | ache <ache@FreeBSD.org> | 2002-08-19 18:06:18 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2002-08-19 18:06:18 +0000 |
commit | 34e5c81b71e30231d88cfefd01b0ed07a8dcfd0d (patch) | |
tree | c15197c4a811b73be6f5e1ec16f1daa7633640bb /lib/libc | |
parent | 4cb63b194b8814677740b947875d7100a47c5656 (diff) | |
download | FreeBSD-src-34e5c81b71e30231d88cfefd01b0ed07a8dcfd0d.zip FreeBSD-src-34e5c81b71e30231d88cfefd01b0ed07a8dcfd0d.tar.gz |
According to SUSv2, always return 0 for null wide-character code
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/locale/wcwidth.c | 7 |
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) |