fputc() might set errno and thus affect perror().
---
util.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/util.c b/util.c
index 96b82c9..a289160 100644
--- a/util.c
+++ b/util.c
@@ -1,4 +1,5 @@
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
@@ -15,12 +16,9 @@ die(const char *fmt, ...)
vfprintf(stderr, fmt, ap);
va_end(ap);
- if (fmt[0] && fmt[strlen(fmt)-1] == ':') {
- fputc(' ', stderr);
- perror(NULL);
- } else {
- fputc('\n', stderr);
- }
+ if (fmt[0] && fmt[strlen(fmt)-1] == ':')
+ fprintf(stderr, " %s", strerror(errno));
+ fputc('\n', stderr);
exit(1);
}
--
2.46.2