* error.c (error_at_line, print_errno_message): Match libc, after
authorEric Blake <ebb9@byu.net>
Tue, 29 Aug 2006 16:58:34 +0000 (16:58 +0000)
committerEric Blake <ebb9@byu.net>
Tue, 29 Aug 2006 16:58:34 +0000 (16:58 +0000)
resolution of upstream bug 3044.

lib/ChangeLog
lib/error.c

index e7a76e9..d11d6b8 100644 (file)
@@ -1,3 +1,8 @@
+2006-08-29  Eric Blake  <ebb9@byu.net>
+
+       * error.c (error_at_line, print_errno_message): Match libc, after
+       resolution of upstream bug 3044.
+
 2006-08-29  Bruno Haible  <bruno@clisp.org>
 
        * localcharset.c: Include configmake.h in order to get LIBDIR defined.
index d8814e0..e6e6807 100644 (file)
@@ -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
 
@@ -312,10 +312,10 @@ error_at_line (int status, int errnum, const char *file_name,
 
 #if _LIBC
   __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
-              file_name, line_number);
+             file_name, line_number);
 #else
   fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
-           file_name, line_number);
+          file_name, line_number);
 #endif
 
   va_start (args, message);