commit - 475d8093cb8d29d5756937bfa9e0b3b9e415f632
commit + 545031a076d4b5712442a8fc2d983f1e9d9f4f79
blob - 96b82c980c4ce304d329fc60e582379ab0400993
blob + 8e26a51bd3a3b526d351c314a4916a2e64759a0e
--- util.c
+++ util.c
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
die(const char *fmt, ...)
{
va_list ap;
+ int saved_errno;
+ saved_errno = errno;
+
va_start(ap, 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(saved_errno));
+ fputc('\n', stderr);
exit(1);
}