* verror.c (verror_at_line): Work around glibc bug 2997, so that
authorEric Blake <ebb9@byu.net>
Tue, 8 Aug 2006 22:00:44 +0000 (22:00 +0000)
committerEric Blake <ebb9@byu.net>
Tue, 8 Aug 2006 22:00:44 +0000 (22:00 +0000)
verror_at_line output complies with GNU Coding Standards even when
file is NULL.

lib/ChangeLog
lib/verror.c

index 38f2578..c356e99 100644 (file)
@@ -1,5 +1,11 @@
 2006-08-08  Eric Blake  <ebb9@byu.net>
 
+       * verror.c (verror_at_line): Work around glibc bug 2997, so that
+       verror_at_line output complies with GNU Coding Standards even when
+       file is NULL.
+
+2006-08-08  Eric Blake  <ebb9@byu.net>
+
        * verror.h, verror.c: New files.
 
 2006-08-07  Bruno Haible  <bruno@clisp.org>
index f9c869e..3011ab5 100644 (file)
@@ -59,7 +59,15 @@ verror_at_line (int status, int errnum, const char *file,
 {
   char *message = xvasprintf (format, args);
   if (message)
-    error_at_line (status, errnum, file, line_number, "%s", message);
+    {
+      /* Until http://sourceware.org/bugzilla/show_bug.cgi?id=2997 is fixed,
+        glibc violates GNU Coding Standards when the file argument to
+        error_at_line is NULL.  */
+      if (file)
+        error_at_line (status, errnum, file, line_number, "%s", message);
+      else
+        error (status, errnum, "%s", message);
+    }
   else
     {
       /* EOVERFLOW, EINVAL, and EILSEQ from xvasprintf are signs of