X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/9385eb3d10ebe5eb398c52040ec3dbfba9b0cdcf..15de9d6b4ab2de27ae24b13b7b6c4d55fffe4aef:/locale/FreeBSD/wcwidth.3 diff --git a/locale/FreeBSD/wcwidth.3 b/locale/FreeBSD/wcwidth.3 index ed28bf5..4c014ce 100644 --- a/locale/FreeBSD/wcwidth.3 +++ b/locale/FreeBSD/wcwidth.3 @@ -22,26 +22,44 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/locale/wcwidth.3,v 1.3 2002/11/29 17:35:09 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/wcwidth.3,v 1.6 2004/08/17 04:56:03 trhodes Exp $ .\" -.Dd October 3, 2002 +.Dd August 17, 2004 .Dt WCWIDTH 3 .Os .Sh NAME -.Nm wcwidth +.Nm wcwidth , +.Nm wcwidth_l .Nd "number of column positions of a wide-character code" .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In wchar.h .Ft int -.Fn wcwidth "wchar_t wc" +.Fo wcwidth +.Fa "wchar_t wc" +.Fc +.In wchar.h +.In xlocale.h +.Ft int +.Fo wcwidth_l +.Fa "wchar_t wc" +.Fa "locale_t loc" +.Fc .Sh DESCRIPTION The .Fn wcwidth function determines the number of column positions required to display the wide character .Fa wc . +.Pp +Although the +.Fn wcwidth +function uses the current locale, the +.Fn wcwidth_l +function may be passed a locale directly. See +.Xr xlocale 3 +for more information. .Sh RETURN VALUES The .Fn wcwidth @@ -50,8 +68,8 @@ function returns 0 if the argument is a null wide character (L'\e0'), \-1 if .Fa wc -is not printable, -otherwise it returns the number of column positions the +is not printable; +otherwise, it returns the number of column positions the character occupies. .Sh EXAMPLES This code fragment reads text from standard input and @@ -65,20 +83,22 @@ 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 .Xr iswprint 3 , -.Xr wcswidth 3 +.Xr wcswidth 3 , +.Xr xlocale 3 .Sh STANDARDS The .Fn wcwidth