eliminate dependence of perror on printf
authorRich Felker <dalias@aerifal.cx>
Sat, 30 Jul 2011 10:11:16 +0000 (06:11 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 30 Jul 2011 10:11:16 +0000 (06:11 -0400)
src/stdio/perror.c

index e4637c8..4349ac5 100644 (file)
@@ -5,23 +5,18 @@
 
 void perror(const char *msg)
 {
-#if 1
-       if (msg) fprintf(stderr, "%s: %m\n", msg, strerror(errno));
-       else fprintf(stderr, "%m\n");
-#else
        FILE *f = stderr;
        char *errstr = strerror(errno);
 
        FLOCK(f);
        
        if (msg) {
-               __fwritex(msg, strlen(msg), f);
-               __putc_unlocked(':', f);
-               __putc_unlocked(' ', f);
+               fwrite(msg, strlen(msg), 1, f);
+               fputc(':', f);
+               fputc(' ', f);
        }
-       __fwritex(errstr, strlen(errstr), f);
-       __putc_unlocked('\n', f);
+       fwrite(errstr, strlen(errstr), 1, f);
+       fputc('\n', f);
 
        FUNLOCK(f);
-#endif
 }