--- ungetwc.3.bsdnew 2009-11-11 13:33:18.000000000 -0800 +++ ungetwc.3 2009-11-11 13:33:18.000000000 -0800 @@ -38,7 +38,8 @@ .Dt UNGETWC 3 .Os .Sh NAME -.Nm ungetwc +.Nm ungetwc , +.Nm ungetwc_l .Nd un-get wide character from input stream .Sh LIBRARY .Lb libc @@ -46,7 +47,19 @@ .In stdio.h .In wchar.h .Ft wint_t -.Fn ungetwc "wint_t wc" "FILE *stream" +.Fo ungetwc +.Fa "wint_t wc" +.Fa "FILE *stream" +.Fc +.In stdio.h +.In wchar.h +.In xlocale.h +.Ft wint_t +.Fo ungetwc_l +.Fa "wint_t wc" +.Fa "FILE *stream" +.Fa "locale_t loc" +.Fc .Sh DESCRIPTION The .Fn ungetwc @@ -56,22 +69,31 @@ function pushes the wide character .Vt wchar_t ) back onto the input stream pointed to by .Fa stream . -The pushed-backed wide characters will be returned by subsequent reads on the -stream (in reverse order). -A successful intervening call, using the same stream, to one of the file +The pushed-backed wide characters will be returned (in reverse order) +by subsequent reads on the stream. +A successful intervening call to one of the file positioning functions .Xr fseek 3 , .Xr fsetpos 3 , or -.Xr rewind 3 -will discard the pushed back wide characters. +.Xr rewind 3 , +using the same stream, +will discard the pushed-back wide characters. .Pp -One wide character of push-back is guaranteed, -but as long as there is -sufficient memory, an effectively infinite amount of pushback is allowed. +Only one wide character of push-back is guaranteed, +but as long as there is sufficient memory, +an effectively infinite amount of push-back is allowed. .Pp If a character is successfully pushed-back, the end-of-file indicator for the stream is cleared. +.Pp +Although the +.Fn ungetwc +function uses the current locale, the +.Fn ungetwc_l +function may be passed a locale directly. See +.Xr xlocale 3 +for more information. .Sh RETURN VALUES The .Fn ungetwc @@ -87,7 +109,8 @@ character equals the operation will fail and the stream will remain unchanged. .Sh SEE ALSO .Xr fseek 3 , -.Xr getwc 3 +.Xr getwc 3 , +.Xr xlocale 3 .Sh STANDARDS The .Fn ungetwc