unbreak vwarn: print ": " before errno message
authorRich Felker <dalias@aerifal.cx>
Wed, 21 Aug 2013 04:49:46 +0000 (00:49 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 21 Aug 2013 04:49:46 +0000 (00:49 -0400)
patch by Strake. this seems to be a regression caused by fixing the
behavior of perror("") to match perror(0) at some point in the past.

src/legacy/err.c

index 7b167b3..0d6ab52 100644 (file)
@@ -8,8 +8,11 @@ extern char *__progname;
 void vwarn(const char *fmt, va_list ap)
 {
        fprintf (stderr, "%s: ", __progname);
-       if (fmt) vfprintf(stderr, fmt, ap);
-       perror("");
+       if (fmt) {
+               vfprintf(stderr, fmt, ap);
+               fputs (": ", stderr);
+       }
+       perror(0);
 }
 
 void vwarnx(const char *fmt, va_list ap)