.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
.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
.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
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