.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" @(#)fgets.3 8.1 (Berkeley) 6/4/93
.\" FreeBSD: src/lib/libc/stdio/fgets.3,v 1.16 2002/05/31 05:01:17 archie Exp
-.\" $FreeBSD: src/lib/libc/stdio/fgetws.3,v 1.3 2003/03/09 02:56:54 tjr Exp $
+.\" $FreeBSD: src/lib/libc/stdio/fgetws.3,v 1.4 2007/01/09 00:28:06 imp Exp $
.\"
.Dd August 6, 2002
.Dt FGETWS 3
.Os
.Sh NAME
-.Nm fgetws
+.Nm fgetws ,
+.Nm fgetws_l
.Nd get a line of wide characters from a stream
.Sh LIBRARY
.Lb libc
.In stdio.h
.In wchar.h
.Ft "wchar_t *"
-.Fn fgetws "wchar_t * restrict ws" "int n" "FILE * restrict fp"
+.Fo fgetws
+.Fa "wchar_t *restrict ws"
+.Fa "int n"
+.Fa "FILE *restrict stream"
+.Fc
+.In stdio.h
+.In wchar.h
+.In xlocale.h
+.Ft "wchar_t *"
+.Fo fgetws_l
+.Fa "wchar_t *restrict ws"
+.Fa "int n"
+.Fa "FILE *restrict stream"
+.Fa "locale_t loc"
+.Fc
.Sh DESCRIPTION
The
.Fn fgetws
reads at most one less than the number of characters specified by
.Fa n
from the given
-.Fa fp
+.Fa stream
and stores them in the wide character string
.Fa ws .
Reading stops when a newline character is found,
If any characters are read and there is no error, a
.Ql \e0
character is appended to end the string.
+.Pp
+While the
+.Fn fgetws
+function uses the current locale, the
+.Fn fgetws_l
+function may be passed a locale directly. See
+.Xr xlocale 3
+for more information.
.Sh RETURN VALUES
Upon successful completion,
.Fn fgetws
The
.Fn fgetws
function
-does not distinguish between end-of-file and error, and callers must use
+does not distinguish between end-of-file and error;
+callers must use
.Xr feof 3
and
.Xr ferror 3
.Bl -tag -width Er
.It Bq Er EBADF
The given
-.Fa fp
+.Fa stream
argument is not a readable stream.
.It Bq Er EILSEQ
The data obtained from the input stream does not form a valid
.Sh SEE ALSO
.Xr feof 3 ,
.Xr ferror 3 ,
-.Xr fgets 3
+.Xr fgets 3 ,
+.Xr xlocale 3
.Sh STANDARDS
The
.Fn fgetws