summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/libiberty/strerror.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/libiberty/strerror.c')
-rw-r--r--contrib/binutils/libiberty/strerror.c125
1 files changed, 51 insertions, 74 deletions
diff --git a/contrib/binutils/libiberty/strerror.c b/contrib/binutils/libiberty/strerror.c
index 0dd2220..18050c2 100644
--- a/contrib/binutils/libiberty/strerror.c
+++ b/contrib/binutils/libiberty/strerror.c
@@ -13,6 +13,7 @@
incompatible with our later declaration, perhaps by using const
attributes. So we hide the declaration in errno.h (if any) using a
macro. */
+#define sys_nerr sys_nerr__
#define sys_errlist sys_errlist__
#endif
@@ -20,6 +21,7 @@
#include <errno.h>
#ifdef HAVE_SYS_ERRLIST
+#undef sys_nerr
#undef sys_errlist
#endif
@@ -56,10 +58,10 @@ static void init_error_tables PARAMS ((void));
struct error_info
{
- int value; /* The numeric value from <errno.h> */
- const char *name; /* The equivalent symbolic value */
+ const int value; /* The numeric value from <errno.h> */
+ const char *const name; /* The equivalent symbolic value */
#ifndef HAVE_SYS_ERRLIST
- const char *msg; /* Short message about this value */
+ const char *const msg; /* Short message about this value */
#endif
};
@@ -560,28 +562,23 @@ init_error_tables ()
/*
-NAME
-
- errno_max -- return the max errno value
-SYNOPSIS
+@deftypefn Extension int errno_max (void)
- int errno_max ();
+Returns the maximum @code{errno} value for which a corresponding
+symbolic name or message is available. Note that in the case where we
+use the @code{sys_errlist} supplied by the system, it is possible for
+there to be more symbolic names than messages, or vice versa. In
+fact, the manual page for @code{perror(3C)} explicitly warns that one
+should check the size of the table (@code{sys_nerr}) before indexing
+it, since new error codes may be added to the system before they are
+added to the table. Thus @code{sys_nerr} might be smaller than value
+implied by the largest @code{errno} value defined in @code{<errno.h>}.
-DESCRIPTION
+We return the maximum value that can be used to obtain a meaningful
+symbolic name or message.
- Returns the maximum errno value for which a corresponding symbolic
- name or message is available. Note that in the case where
- we use the sys_errlist supplied by the system, it is possible for
- there to be more symbolic names than messages, or vice versa.
- In fact, the manual page for perror(3C) explicitly warns that one
- should check the size of the table (sys_nerr) before indexing it,
- since new error codes may be added to the system before they are
- added to the table. Thus sys_nerr might be smaller than value
- implied by the largest errno value defined in <errno.h>.
-
- We return the maximum value that can be used to obtain a meaningful
- symbolic name or message.
+@end deftypefn
*/
@@ -602,31 +599,25 @@ errno_max ()
/*
-NAME
+@deftypefn Supplemental char* strerror (int @var{errnoval})
- strerror -- map an error number to an error message string
+Maps an @code{errno} number to an error message string, the contents
+of which are implementation defined. On systems which have the
+external variables @code{sys_nerr} and @code{sys_errlist}, these
+strings will be the same as the ones used by @code{perror}.
-SYNOPSIS
+If the supplied error number is within the valid range of indices for
+the @code{sys_errlist}, but no message is available for the particular
+error number, then returns the string @samp{Error @var{num}}, where
+@var{num} is the error number.
- char *strerror (int errnoval)
+If the supplied error number is not a valid index into
+@code{sys_errlist}, returns @code{NULL}.
-DESCRIPTION
-
- Maps an errno number to an error message string, the contents of
- which are implementation defined. On systems which have the external
- variables sys_nerr and sys_errlist, these strings will be the same
- as the ones used by perror().
-
- If the supplied error number is within the valid range of indices
- for the sys_errlist, but no message is available for the particular
- error number, then returns the string "Error NUM", where NUM is the
- error number.
+The returned string is only guaranteed to be valid only until the
+next call to @code{strerror}.
- If the supplied error number is not a valid index into sys_errlist,
- returns NULL.
-
- The returned string is only guaranteed to be valid only until the
- next call to strerror.
+@end deftypefn
*/
@@ -634,7 +625,7 @@ char *
strerror (errnoval)
int errnoval;
{
- char *msg;
+ const char *msg;
static char buf[32];
#ifndef HAVE_SYS_ERRLIST
@@ -676,32 +667,24 @@ strerror (errnoval)
/*
-NAME
+@deftypefn Replacement {const char*} strerrno (int @var{errnum})
- strerrno -- map an error number to a symbolic name string
+Given an error number returned from a system call (typically returned
+in @code{errno}), returns a pointer to a string containing the
+symbolic name of that error number, as found in @code{<errno.h>}.
-SYNOPSIS
+If the supplied error number is within the valid range of indices for
+symbolic names, but no name is available for the particular error
+number, then returns the string @samp{Error @var{num}}, where @var{num}
+is the error number.
- const char *strerrno (int errnoval)
+If the supplied error number is not within the range of valid
+indices, then returns @code{NULL}.
-DESCRIPTION
-
- Given an error number returned from a system call (typically
- returned in errno), returns a pointer to a string containing the
- symbolic name of that error number, as found in <errno.h>.
-
- If the supplied error number is within the valid range of indices
- for symbolic names, but no name is available for the particular
- error number, then returns the string "Error NUM", where NUM is
- the error number.
-
- If the supplied error number is not within the range of valid
- indices, then returns NULL.
-
-BUGS
+The contents of the location pointed to are only guaranteed to be
+valid until the next call to @code{strerrno}.
- The contents of the location pointed to are only guaranteed to be
- valid until the next call to strerrno.
+@end deftypefn
*/
@@ -744,18 +727,12 @@ strerrno (errnoval)
/*
-NAME
-
- strtoerrno -- map a symbolic errno name to a numeric value
-
-SYNOPSIS
-
- int strtoerrno (char *name)
+@deftypefn Extension int strtoerrno (const char *@var{name})
-DESCRIPTION
+Given the symbolic name of a error number (e.g., @code{EACCES}), map it
+to an errno value. If no translation is found, returns 0.
- Given the symbolic name of a error number, map it to an errno value.
- If no translation is found, returns 0.
+@end deftypefn
*/
@@ -806,7 +783,7 @@ main ()
int errn;
int errnmax;
const char *name;
- char *msg;
+ const char *msg;
char *strerror ();
errnmax = errno_max ();
OpenPOWER on IntegriCloud