X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ferror.c;h=cf8634332020392497c23a438eef02aaaa0c71eb;hb=0d0706a5f5e05d18ab61e7f19ca407452db68a31;hp=34e83655291a39bead88115a9f1b0c98b3b37b1d;hpb=be5a3998ec7bae6cd2054e5e521aaaa321627e0f;p=gnulib.git diff --git a/lib/error.c b/lib/error.c index 34e836552..cf8634332 100644 --- a/lib/error.c +++ b/lib/error.c @@ -18,7 +18,7 @@ /* Written by David MacKenzie . */ -#ifdef HAVE_CONFIG_H +#if !_LIBC # include #endif @@ -92,23 +92,19 @@ extern void __error_at_line (int status, int errnum, const char *file_name, char *strerror_r (); # endif -# ifndef SIZE_MAX -# define SIZE_MAX ((size_t) -1) -# endif - /* The calling program should define program_name and set it to the name of the executing program. */ extern char *program_name; # if HAVE_STRERROR_R || defined strerror_r # define __strerror_r strerror_r -# endif +# endif /* HAVE_STRERROR_R || defined strerror_r */ #endif /* not _LIBC */ static void print_errno_message (int errnum) { - char const *s = NULL; + char const *s; #if defined HAVE_STRERROR_R || _LIBC char errbuf[1024]; @@ -117,11 +113,15 @@ print_errno_message (int errnum) # else if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0) s = errbuf; + else + s = 0; # endif +#else + s = strerror (errnum); #endif #if !_LIBC - if (! s && ! (s = strerror (errnum))) + if (! s) s = _("Unknown system error"); #endif @@ -310,14 +310,13 @@ error_at_line (int status, int errnum, const char *file_name, #endif } - if (file_name != NULL) - { #if _LIBC - __fxprintf (NULL, "%s:%d: ", file_name, line_number); + __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ", + file_name, line_number); #else - fprintf (stderr, "%s:%d: ", file_name, line_number); + fprintf (stderr, file_name != NULL ? "%s:%d: " : " ", + file_name, line_number); #endif - } va_start (args, message); error_tail (status, errnum, message, args);