.Dt WCSRTOMBS 3
.Os
.Sh NAME
+.Nm wcsnrtombs ,
+.Nm wcsnrtombs_l ,
.Nm wcsrtombs ,
-.Nm wcsnrtombs
+.Nm wcsrtombs_l
.Nd "convert a wide-character string to a character string (restartable)"
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In wchar.h
.Ft size_t
+.Fo wcsnrtombs
+.Fa "char *restrict dst"
+.Fa "const wchar_t **restrict src"
+.Fa "size_t nwc"
+.Fa "size_t len"
+.Fa "mbstate_t *restrict ps"
+.Fc
+.Ft size_t
.Fo wcsrtombs
-.Fa "char * restrict dst" "const wchar_t ** restrict src"
-.Fa "size_t len" "mbstate_t * restrict ps"
+.Fa "char *restrict dst"
+.Fa "const wchar_t **restrict src"
+.Fa "size_t len"
+.Fa "mbstate_t *restrict ps"
.Fc
+.In wchar.h
+.In xlocale.h
.Ft size_t
-.Fo wcsnrtombs
-.Fa "char * restrict dst" "const wchar_t ** restrict src" "size_t nwc"
-.Fa "size_t len" "mbstate_t * restrict ps"
+.Fo wcsnrtombs_l
+.Fa "char *restrict dst"
+.Fa "const wchar_t **restrict src"
+.Fa "size_t nwc"
+.Fa "size_t len"
+.Fa "mbstate_t *restrict ps"
+.Fa "locale_t loc"
+.Fc
+.Ft size_t
+.Fo wcsrtombs_l
+.Fa "char *restrict dst"
+.Fa "const wchar_t **restrict src"
+.Fa "size_t len"
+.Fa "mbstate_t *restrict ps"
+.Fa "locale_t loc"
.Fc
.Sh DESCRIPTION
The
.Fn wcsrtombs
-function converts a string of wide characters indirectly pointed to by
-.Fa src
-to a corresponding multibyte character string stored in the array
-pointed to by
+function converts a string of wide characters,
+indirectly pointed to by
+.Fa src ,
+to a corresponding multi-byte character string,
+stored in the array pointed to by
.Fa dst .
No more than
.Fa len
.Fa nwc
characters from the buffer pointed to by
.Fa src .
+.Pp
+Although the
+.Fn wcsrtombs
+and
+.Fn wcsnrtombs
+functions use the current locale, the
+.Fn wcsrtombs_l
+and
+.Fn wcsnrtombs_l
+functions may be passed locales directly. See
+.Xr xlocale 3
+for more information.
.Sh RETURN VALUES
-The
+If successful, the
.Fn wcsrtombs
and
.Fn wcsnrtombs
functions return the number of bytes stored in
the array pointed to by
.Fa dst
-(not including any terminating null), if successful, otherwise it returns
+(not including any terminating null);
+otherwise, they return
.Po Vt size_t Pc Ns \-1 .
.Sh ERRORS
The
.Sh SEE ALSO
.Xr mbsrtowcs 3 ,
.Xr wcrtomb 3 ,
-.Xr wcstombs 3
+.Xr wcstombs 3 ,
+.Xr xlocale 3
.Sh STANDARDS
The
.Fn wcsrtombs