]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/strerror.3
fuse.4: ffix
[thirdparty/man-pages.git] / man3 / strerror.3
index d5ea3aa033363b28f42fc5322e264a9882eadf64..39de2c49932da5775d928521316f3cbe098efeb8 100644 (file)
 .\" 2005-12-13, mtk, Substantial rewrite of strerror_r() description
 .\"         Addition of extra material on portability and standards.
 .\"
-.TH STRERROR 3  2015-03-02 "" "Linux Programmer's Manual"
+.TH STRERROR 3  2017-09-15 "" "Linux Programmer's Manual"
 .SH NAME
 strerror, strerror_r, strerror_l \- return string describing error number
 .SH SYNOPSIS
 .nf
 .B #include <string.h>
-.sp
+.PP
 .BI "char *strerror(int " errnum );
-.sp
+.PP
 .BI "int strerror_r(int " errnum ", char *" buf ", size_t " buflen );
             /* XSI-compliant */
-.sp
+.PP
 .BI "char *strerror_r(int " errnum ", char *" buf ", size_t " buflen );
             /* GNU-specific */
-
+.PP
 .BI "char *strerror_l(int " errnum ", locale_t " locale );
 .fi
-.sp
+.PP
 .in -4n
 Feature Test Macro Requirements for glibc (see
 .BR feature_test_macros (7)):
 .in
 .ad l
-.sp
+.PP
 .BR strerror_r ():
 .RS 4
 The XSI-compliant version is provided if:
@@ -113,7 +113,7 @@ is defined by default with the value
 200112L, so that the XSI-compliant version of
 .BR strerror_r ()
 is provided by default.
-
+.PP
 The XSI-compliant
 .BR strerror_r ()
 is preferred for portable applications.
@@ -121,7 +121,7 @@ It returns the error string in the user-supplied buffer
 .I buf
 of length
 .IR buflen .
-
+.PP
 The GNU-specific
 .BR strerror_r ()
 returns a pointer to a string containing the error message.
@@ -166,7 +166,7 @@ and the GNU-specific
 functions return
 the appropriate error description string,
 or an "Unknown error nnn" message if the error number is unknown.
-
+.PP
 The XSI-compliant
 .BR strerror_r ()
 function returns 0 on success.
@@ -175,7 +175,7 @@ a (positive) error number is returned (since glibc 2.13),
 or \-1 is returned and
 .I errno
 is set to indicate the error (glibc versions before 2.13).
-
+.PP
 POSIX.1-2001 and POSIX.1-2008 require that a successful call to
 .BR strerror ()
 or
@@ -199,6 +199,10 @@ is not a valid error number.
 .TP
 .B ERANGE
 Insufficient storage was supplied to contain the error description string.
+.SH VERSIONS
+The
+.BR strerror_l ()
+function first appeared in glibc 2.6.
 .SH ATTRIBUTES
 For an explanation of the terms used in this section, see
 .BR attributes (7).
@@ -216,23 +220,23 @@ T{
 .BR strerror_l ()
 T}     Thread safety   MT-Safe
 .TE
-.SH VERSIONS
-The
-.BR strerror_l ()
-function first appeared in glibc 2.6.
 .SH CONFORMING TO
 .BR strerror ()
 is specified by POSIX.1-2001, POSIX.1-2008, C89, and C99.
 .BR strerror_r ()
 is specified by POSIX.1-2001 and POSIX.1-2008.
-
+.\" FIXME . for later review when Issue 8 is one day released...
+.\" A future POSIX.1 may remove strerror_r()
+.\" http://austingroupbugs.net/tag_view_page.php?tag_id=8
+.\" http://austingroupbugs.net/view.php?id=508
+.PP
 .BR strerror_l ()
 is specified in POSIX.1-2008.
-
+.PP
 The GNU-specific
 .BR strerror_r ()
 function is a nonstandard extension.
-
+.PP
 POSIX.1-2001 permits
 .BR strerror ()
 to set
@@ -252,6 +256,15 @@ to
 .B EINVAL
 if the error number is unknown.
 C99 and POSIX.1-2008 require the return value to be non-NULL.
+.SH NOTES
+The GNU C Library uses a buffer of 1024 characters for
+.BR strerror ().
+This buffer size therefore should be sufficient to avoid an
+.B ERANGE
+error when calling
+.BR strerror_r ()
+and
+.BR strerror_l ().
 .SH SEE ALSO
 .BR err (3),
 .BR errno (3),