about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--misc/error.c12
-rw-r--r--stdio-common/perror.c5
2 files changed, 11 insertions, 6 deletions
diff --git a/misc/error.c b/misc/error.c
index 8306fd569f..1c9c4a6850 100644
--- a/misc/error.c
+++ b/misc/error.c
@@ -127,7 +127,7 @@ static void
 error_tail (int status, int errnum, const char *message, va_list args)
 {
 # if HAVE_VPRINTF || _LIBC
-#  ifdef _LIBC
+#  if _LIBC && USE_IN_LIBIO
   if (_IO_fwide (stderr, 0) > 0)
     {
 #   define ALLOCA_LIMIT	2000
@@ -181,7 +181,7 @@ error_tail (int status, int errnum, const char *message, va_list args)
 #if defined HAVE_STRERROR_R || _LIBC
       char errbuf[1024];
       char *s = __strerror_r (errnum, errbuf, sizeof errbuf);
-# ifdef _LIBC
+# if _LIBC && USE_IN_LIBIO
       if (_IO_fwide (stderr, 0) > 0)
 	__fwprintf (stderr, L": %s", s);
       else
@@ -191,7 +191,7 @@ error_tail (int status, int errnum, const char *message, va_list args)
       fprintf (stderr, ": %s", strerror (errnum));
 #endif
     }
-#ifdef _LIBC
+#if _LIBC && USE_IN_LIBIO
   if (_IO_fwide (stderr, 0) > 0)
     putwc (L'\n', stderr);
   else
@@ -236,7 +236,7 @@ error (status, errnum, message, va_alist)
     (*error_print_progname) ();
   else
     {
-#ifdef _LIBC
+#if _LIBC && USE_IN_LIBIO
       if (_IO_fwide (stderr, 0) > 0)
 	__fwprintf (stderr, L"%s: ", program_name);
       else
@@ -317,7 +317,7 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
     (*error_print_progname) ();
   else
     {
-#ifdef _LIBC
+#if _LIBC && USE_IN_LIBIO
       if (_IO_fwide (stderr, 0) > 0)
 	__fwprintf (stderr, L"%s: ", program_name);
       else
@@ -327,7 +327,7 @@ error_at_line (status, errnum, file_name, line_number, message, va_alist)
 
   if (file_name != NULL)
     {
-#ifdef _LIBC
+#if _LIBC && USE_IN_LIBIO
       if (_IO_fwide (stderr, 0) > 0)
 	__fwprintf (stderr, L"%s:%d: ", file_name, line_number);
       else
diff --git a/stdio-common/perror.c b/stdio-common/perror.c
index b6f8d5e13e..a1995e975e 100644
--- a/stdio-common/perror.c
+++ b/stdio-common/perror.c
@@ -55,9 +55,11 @@ perror_internal (FILE *fp, const char *s)
 void
 perror (const char *s)
 {
+#ifdef USE_IN_LIBIO
   FILE *fp;
   int fd = -1;
 
+
   /* The standard says that 'perror' must not change the orientation
      of the stream.  What is supposed to happen when the stream isn't
      oriented yet?  In this case we'll create a new stream which is
@@ -84,4 +86,7 @@ perror (const char *s)
 
       ((_IO_FILE *) stderr)->_offset = _IO_pos_BAD;
     }
+#else
+  perror_internal (stderr, s);
+#endif
 }