X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fverror.c;h=bc90ef39f56299054611f88a620e8b5be3931299;hb=1b94e030d122eb05acd5054b711e7bf6d49994e3;hp=f9c869ec8489c4ed7933bcf18ffe0b5cbbf3ad6e;hpb=4f861fcbb2f6cefe311e085c97eb3c1694fd6557;p=gnulib.git diff --git a/lib/verror.c b/lib/verror.c index f9c869ec8..bc90ef39f 100644 --- a/lib/verror.c +++ b/lib/verror.c @@ -1,25 +1,22 @@ /* va_list error handler for noninteractive utilities - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ /* Written by Eric Blake. */ -#ifdef HAVE_CONFIG_H -# include -#endif +#include #include "verror.h" #include "xvasprintf.h" @@ -30,6 +27,7 @@ #if ENABLE_NLS # include "gettext.h" +# define _(msgid) gettext (msgid) #endif #ifndef _ @@ -59,7 +57,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