OSDN Git Service

LDP: Update original to LDP v3.79
[linuxjm/LDP_man-pages.git] / original / man3 / wcsnrtombs.3
index 2db1f69..9b80bbf 100644 (file)
@@ -12,7 +12,7 @@
 .\"   Dinkumware C library reference http://www.dinkumware.com/
 .\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
 .\"
-.TH WCSNRTOMBS 3  2011-10-16 "GNU" "Linux Programmer's Manual"
+.TH WCSNRTOMBS 3  2014-03-18 "GNU" "Linux Programmer's Manual"
 .SH NAME
 wcsnrtombs \- convert a wide-character string to a multibyte string
 .SH SYNOPSIS
@@ -48,61 +48,101 @@ function is like the
 .BR wcsrtombs (3)
 function,
 except that the number of wide characters to be converted,
-starting at \fI*src\fP, is limited to \fInwc\fP.
+starting at
+.IR *src ,
+is limited to
+.IR nwc .
 .PP
-If \fIdest\fP is not a NULL pointer,
+If
+.I dest
+is not NULL,
 the
 .BR wcsnrtombs ()
 function converts
-at most \fInwc\fP wide characters from
-the wide-character string \fI*src\fP to a multibyte string starting at
-\fIdest\fP.
-At most \fIlen\fP bytes are written to \fIdest\fP.
+at most
+.I nwc
+wide characters from
+the wide-character string
+.I *src
+to a multibyte string starting at
+.IR dest .
+At most
+.I len
+bytes are written to
+.IR dest .
 The shift state
-\fI*ps\fP is updated.
+.I *ps
+is updated.
 The conversion is effectively performed by repeatedly
 calling
 .IR "wcrtomb(dest, *src, ps)" ,
 as long as this call succeeds,
-and then incrementing \fIdest\fP by the
-number of bytes written and \fI*src\fP
+and then incrementing
+.I dest
+by the
+number of bytes written and
+.I *src
 by one.
 The conversion can stop for three reasons:
-.PP
-1. A wide character has been encountered that can not be represented as a
+.IP 1. 3
+A wide character has been encountered that can not be represented as a
 multibyte sequence (according to the current locale).
-In this case \fI*src\fP
+In this case,
+.I *src
 is left pointing to the invalid wide character,
 .I (size_t)\ \-1
 is returned,
-and \fIerrno\fP is set to \fBEILSEQ\fP.
-.PP
-2. \fInwc\fP wide characters have been
+and
+.I errno
+is set to
+.BR EILSEQ .
+.IP 2.
+.I nwc
+wide characters have been
 converted without encountering a null wide character (L\(aq\\0\(aq),
 or the length limit forces a stop.
-In this case \fI*src\fP is left pointing
+In this case,
+.I *src
+is left pointing
 to the next wide character to be converted, and the number of bytes written
-to \fIdest\fP is returned.
-.PP
-3. The wide-character string has been completely converted, including the
-terminating null wide character (which has the side effect of bringing back \fI*ps\fP
+to
+.I dest
+is returned.
+.IP 3.
+The wide-character string has been completely converted, including the
+terminating null wide character (which has the side effect of bringing back
+.I *ps
 to the initial state).
-In this case \fI*src\fP is set to NULL, and the number
-of bytes written to \fIdest\fP,
+In this case,
+.I *src
+is set to NULL, and the number
+of bytes written to
+.IR dest ,
 excluding the terminating null byte (\(aq\\0\(aq), is
 returned.
 .PP
-If \fIdest\fP is NULL, \fIlen\fP is ignored,
+If
+.IR dest
+is NULL,
+.I len
+is ignored,
 and the conversion proceeds as above,
 except that the converted bytes are not written out to memory, and that
 no destination length limit exists.
 .PP
 In both of the above cases,
-if \fIps\fP is a NULL pointer, a static anonymous
-state only known to the wcsnrtombs function is used instead.
+if
+.I ps
+is NULL, a static anonymous
+state known only to the
+.BR wcsnrtombs ()
+function is used instead.
 .PP
-The programmer must ensure that there is room for at least \fIlen\fP bytes
-at \fIdest\fP.
+The programmer must ensure that there is room for at least
+.I len
+bytes
+at
+.IR dest .
 .SH RETURN VALUE
 The
 .BR wcsnrtombs ()
@@ -113,7 +153,10 @@ not including the terminating null byte.
 If a wide character was encountered which
 could not be converted,
 .I (size_t)\ \-1
-is returned, and \fIerrno\fP set to \fBEILSEQ\fP.
+is returned, and
+.I errno
+set to
+.BR EILSEQ .
 .SH CONFORMING TO
 POSIX.1-2008.
 .SH NOTES
@@ -124,7 +167,19 @@ depends on the
 category of the
 current locale.
 .PP
-Passing NULL as \fIps\fP is not multithread safe.
+Passing NULL as
+.I ps
+is not multithread safe.
 .SH SEE ALSO
 .BR iconv (3),
+.BR mbsinit (3),
 .BR wcsrtombs (3)
+.SH COLOPHON
+This page is part of release 3.79 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.