OSDN Git Service

LDP: Update original to LDP v3.79
[linuxjm/LDP_man-pages.git] / original / man3 / mbrlen.3
index da50230..805a5bf 100644 (file)
@@ -13,7 +13,7 @@
 .\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
 .\"   ISO/IEC 9899:1999
 .\"
-.TH MBRLEN 3  1999-07-25 "GNU" "Linux Programmer's Manual"
+.TH MBRLEN 3  2013-06-21 "GNU" "Linux Programmer's Manual"
 .SH NAME
 mbrlen \- determine number of bytes in next multibyte character
 .SH SYNOPSIS
@@ -25,32 +25,57 @@ mbrlen \- determine number of bytes in next multibyte character
 .SH DESCRIPTION
 The
 .BR mbrlen ()
-function inspects at most \fIn\fP bytes of the multibyte
-string starting at \fIs\fP and extracts the next complete multibyte character.
-It updates the shift state \fI*ps\fP.
+function inspects at most
+.I n
+bytes of the multibyte
+string starting at
+.I s
+and extracts the next complete multibyte character.
+It updates the shift state
+.IR *ps .
 If the multibyte character is not the
 null wide character, it returns the number of bytes that were consumed from
-\fIs\fP.
+.IR s .
 If the multibyte character is the null wide character, it resets the
-shift state \fI*ps\fP to the initial state and returns 0.
+shift state
+.I *ps
+to the initial state and returns 0.
 .PP
-If the \fIn\fP bytes starting at \fIs\fP do not contain a complete multibyte
+If the
+.IR n
+bytes starting at
+.I s
+do not contain a complete multibyte
 character,
 .BR mbrlen ()
-returns \fI(size_t)\ \-2\fP.
+returns
+.IR "(size_t)\ \-2" .
 This can happen even if
-\fIn\fP >= \fIMB_CUR_MAX\fP, if the multibyte string contains redundant shift
+.I n
+>=
+.IR MB_CUR_MAX ,
+if the multibyte string contains redundant shift
 sequences.
 .PP
-If the multibyte string starting at \fIs\fP contains an invalid multibyte
+If the multibyte string starting at
+.I s
+contains an invalid multibyte
 sequence before the next complete character,
 .BR mbrlen ()
 returns
-\fI(size_t)\ \-1\fP and sets \fIerrno\fP to \fBEILSEQ\fP.
+.IR "(size_t)\ \-1"
+and sets
+.I errno
+to
+.BR EILSEQ .
 In this case,
-the effects on \fI*ps\fP are undefined.
+the effects on
+.I *ps
+are undefined.
 .PP
-If \fIps\fP is a NULL pointer, a static anonymous state known only to the
+If
+.I ps
+is NULL, a static anonymous state known only to the
 .BR mbrlen ()
 function is used instead.
 .SH RETURN VALUE
@@ -58,14 +83,30 @@ The
 .BR mbrlen ()
 function returns the number of bytes
 parsed from the multibyte
-sequence starting at \fIs\fP, if a non-null wide character was recognized.
+sequence starting at
+.IR s ,
+if a non-null wide character was recognized.
 It returns 0, if a null wide character was recognized.
 It returns
 .I "(size_t)\ \-1"
-and sets \fIerrno\fP to \fBEILSEQ\fP, if an invalid multibyte sequence was
+and sets
+.I errno
+to
+.BR EILSEQ ,
+if an invalid multibyte sequence was
 encountered.
-It returns \fI(size_t)\ \-2\fP if it couldn't parse a complete multibyte
-character, meaning that \fIn\fP should be increased.
+It returns
+.IR "(size_t)\ \-2"
+if it couldn't parse a complete multibyte
+character, meaning that
+.I n
+should be increased.
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR mbrlen ()
+function is thread-safe with exceptions.
+It is not thread-safe if called with a NULL \fIps\fP parameter.
 .SH CONFORMING TO
 C99.
 .SH NOTES
@@ -77,3 +118,12 @@ category of the
 current locale.
 .SH SEE ALSO
 .BR mbrtowc (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/.