diff options
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/locale/wcwidth.3 | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/libc/locale/wcwidth.3 b/lib/libc/locale/wcwidth.3 index 6e9dcd6..06c0067 100644 --- a/lib/libc/locale/wcwidth.3 +++ b/lib/libc/locale/wcwidth.3 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 3, 2002 +.Dd August 12, 2004 .Dt WCWIDTH 3 .Os .Sh NAME @@ -65,15 +65,16 @@ int column, w; column = 0; while ((ch = getwchar()) != WEOF) { - if ((w = wcwidth(ch)) > 0) - column += w; - if (column >= 20) { + w = wcwidth(ch); + if (w > 0 && column + w >= 20) { putwchar(L'\en'); column = 0; } putwchar(ch); if (ch == L'\en') column = 0; + else if (w > 0) + column += w; } .Ed .Sh SEE ALSO |