X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ferror.c;h=308ed3ccd3d8522f9ab1ec0c8d0d0a0052b2e76e;hb=be1f94e3d6e1f561cb62a73e26e40c7051d966d9;hp=9c0700c2e38cbe59ca23c1d98bb9da6bcd47796e;hpb=e5bf94ff351ef97da921c0c47b6a5ff9a405821d;p=gnulib.git diff --git a/lib/error.c b/lib/error.c index 9c0700c2e..308ed3ccd 100644 --- a/lib/error.c +++ b/lib/error.c @@ -1,22 +1,18 @@ /* Error handler for noninteractive utilities - Copyright (C) 1990-1998, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. Its master source is NOT part of - the C library, however. The master source lives in /gd/gnu/lib. + Copyright (C) 1990-1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + 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 GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, + 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 - Lesser General Public License for more details. + 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 Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Written by David MacKenzie . */ @@ -25,9 +21,13 @@ #endif #include -#if HAVE_LIBINTL_H + +#ifdef _LIBC # include +#else +# include "gettext.h" #endif + #ifdef _LIBC # include # define mbsrtowcs __mbsrtowcs @@ -55,6 +55,10 @@ void exit (); #include "error.h" +#if !_LIBC +# include "unlocked-io.h" +#endif + #ifndef _ # define _(String) String #endif @@ -76,6 +80,7 @@ unsigned int error_message_count; # define program_name program_invocation_name # include +# include /* In GNU libc we want do not want to use the common name `error' directly. Instead make it a weak alias. */ @@ -88,10 +93,10 @@ extern void __error_at_line (int status, int errnum, const char *file_name, # define error __error # define error_at_line __error_at_line -# ifdef USE_IN_LIBIO -# include -# define fflush(s) _IO_fflush (s) -# endif +# include +# define fflush(s) INTUSE(_IO_fflush) (s) +# undef putc +# define putc(c, fp) INTUSE(_IO_putc) (c, fp) #else /* not _LIBC */ @@ -156,7 +161,7 @@ print_errno_message (int errnum) s = _("Unknown system error"); #endif -#if _LIBC && USE_IN_LIBIO +#if _LIBC if (_IO_fwide (stderr, 0) > 0) { __fwprintf (stderr, L": %s", s); @@ -172,7 +177,7 @@ static void error_tail (int status, int errnum, const char *message, va_list args) { # if HAVE_VPRINTF || _LIBC -# if _LIBC && USE_IN_LIBIO +# if _LIBC if (_IO_fwide (stderr, 0) > 0) { # define ALLOCA_LIMIT 2000 @@ -223,7 +228,7 @@ error_tail (int status, int errnum, const char *message, va_list args) ++error_message_count; if (errnum) print_errno_message (errnum); -# if _LIBC && USE_IN_LIBIO +# if _LIBC if (_IO_fwide (stderr, 0) > 0) putwc (L'\n', stderr); else @@ -258,17 +263,13 @@ error (status, errnum, message, va_alist) fflush (stdout); #ifdef _LIBC -# ifdef USE_IN_LIBIO _IO_flockfile (stderr); -# else - __flockfile (stderr); -# endif #endif if (error_print_progname) (*error_print_progname) (); else { -#if _LIBC && USE_IN_LIBIO +#if _LIBC if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s: ", program_name); else @@ -292,11 +293,7 @@ error (status, errnum, message, va_alist) #endif #ifdef _LIBC -# ifdef USE_IN_LIBIO _IO_funlockfile (stderr); -# else - __funlockfile (stderr); -# endif #endif } @@ -339,17 +336,13 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist) fflush (stdout); #ifdef _LIBC -# ifdef USE_IN_LIBIO _IO_flockfile (stderr); -# else - __flockfile (stderr); -# endif #endif if (error_print_progname) (*error_print_progname) (); else { -#if _LIBC && USE_IN_LIBIO +#if _LIBC if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s: ", program_name); else @@ -359,7 +352,7 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist) if (file_name != NULL) { -#if _LIBC && USE_IN_LIBIO +#if _LIBC if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s:%d: ", file_name, line_number); else @@ -383,11 +376,7 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist) #endif #ifdef _LIBC -# ifdef USE_IN_LIBIO _IO_funlockfile (stderr); -# else - __funlockfile (stderr); -# endif #endif }