X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=libiberty%2Fstrerror.c;h=cc7692c1d6951ce7008b59d7f93766777d256547;hb=ebe2334ee6cb065d2a86688bc9558d62320dd459;hp=6e42f9ec556768b613ea77090ccd3e1b5ce2e74b;hpb=fa9f0e33b3c0510267d7a41f2f4ee72ba452c37e;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/strerror.c b/libiberty/strerror.c index 6e42f9ec55..cc7692c1d6 100644 --- a/libiberty/strerror.c +++ b/libiberty/strerror.c @@ -2,9 +2,6 @@ Written by Fred Fish. fnf@cygnus.com This file is in the public domain. --Per Bothner. */ -#include "ansidecl.h" -#include "libiberty.h" - #include "config.h" #ifdef HAVE_SYS_ERRLIST @@ -17,6 +14,9 @@ #define sys_errlist sys_errlist__ #endif +#include "ansidecl.h" +#include "libiberty.h" + #include #include @@ -43,7 +43,7 @@ extern PTR memset (); # define MAX(a,b) ((a) > (b) ? (a) : (b)) #endif -static void init_error_tables PARAMS ((void)); +static void init_error_tables (void); /* Translation table for errno values. See intro(2) in most UNIX systems Programmers Reference Manuals. @@ -58,10 +58,10 @@ static void init_error_tables PARAMS ((void)); struct error_info { - int value; /* The numeric value from */ - const char *name; /* The equivalent symbolic value */ + const int value; /* The numeric value from */ + 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 }; @@ -299,7 +299,7 @@ static const struct error_info error_table[] = ENTRY(EREMCHG, "EREMCHG", "Remote address changed"), #endif #if defined (ELIBACC) - ENTRY(ELIBACC, "ELIBACC", "Can not access a needed shared library"), + ENTRY(ELIBACC, "ELIBACC", "Cannot access a needed shared library"), #endif #if defined (ELIBBAD) ENTRY(ELIBBAD, "ELIBBAD", "Accessing a corrupted shared library"), @@ -462,16 +462,22 @@ static int num_error_names = 0; #ifndef HAVE_SYS_ERRLIST +#define sys_nerr sys_nerr__ +#define sys_errlist sys_errlist__ static int sys_nerr; static const char **sys_errlist; #else + +#ifndef sys_nerr extern int sys_nerr; +#endif +#ifndef sys_errlist extern char *sys_errlist[]; - #endif +#endif /* @@ -502,7 +508,7 @@ BUGS */ static void -init_error_tables () +init_error_tables (void) { const struct error_info *eip; int nbytes; @@ -563,7 +569,7 @@ init_error_tables () /* -@deftypefn Replacement int errno_max (void) +@deftypefn Extension int errno_max (void) Returns the maximum @code{errno} value for which a corresponding symbolic name or message is available. Note that in the case where we @@ -573,7 +579,7 @@ 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 @file{errno.h}. +implied by the largest @code{errno} value defined in @code{}. We return the maximum value that can be used to obtain a meaningful symbolic name or message. @@ -583,7 +589,7 @@ symbolic name or message. */ int -errno_max () +errno_max (void) { int maxsize; @@ -599,7 +605,7 @@ errno_max () /* -@deftypefn Replacement char* strerror (int @var{errnoval}) +@deftypefn Supplemental char* strerror (int @var{errnoval}) Maps an @code{errno} number to an error message string, the contents of which are implementation defined. On systems which have the @@ -608,11 +614,11 @@ strings will be the same as the ones used by @code{perror}. 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 +error number, then returns the string @samp{Error @var{num}}, where @var{num} is the error number. If the supplied error number is not a valid index into -@code{sys_errlist}, returns NULL. +@code{sys_errlist}, returns @code{NULL}. The returned string is only guaranteed to be valid only until the next call to @code{strerror}. @@ -622,10 +628,9 @@ next call to @code{strerror}. */ char * -strerror (errnoval) - int errnoval; +strerror (int errnoval) { - char *msg; + const char *msg; static char buf[32]; #ifndef HAVE_SYS_ERRLIST @@ -667,19 +672,19 @@ strerror (errnoval) /* -@deftypefn Replacement const char* strerrno (int @var{errnum}) +@deftypefn Replacement {const char*} strerrno (int @var{errnum}) 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 @file{errno.h}. +symbolic name of that error number, as found in @code{}. 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} +number, then returns the string @samp{Error @var{num}}, where @var{num} is the error number. If the supplied error number is not within the range of valid -indices, then returns NULL. +indices, then returns @code{NULL}. The contents of the location pointed to are only guaranteed to be valid until the next call to @code{strerrno}. @@ -689,8 +694,7 @@ valid until the next call to @code{strerrno}. */ const char * -strerrno (errnoval) - int errnoval; +strerrno (int errnoval) { const char *name; static char buf[32]; @@ -727,9 +731,9 @@ strerrno (errnoval) /* -@deftypefn Replacement int strtoerrno (const char *@var{name}) +@deftypefn Extension int strtoerrno (const char *@var{name}) -Given the symbolic name of a error number (e.g., @code{EACCESS}), map it +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. @end deftypefn @@ -737,8 +741,7 @@ to an errno value. If no translation is found, returns 0. */ int -strtoerrno (name) - const char *name; +strtoerrno (const char *name) { int errnoval = 0; @@ -778,12 +781,12 @@ strtoerrno (name) #include int -main () +main (void) { int errn; int errnmax; const char *name; - char *msg; + const char *msg; char *strerror (); errnmax = errno_max ();