diff options
| -rw-r--r-- | util.c | 13 | 
1 files changed, 7 insertions, 6 deletions
@@ -1,4 +1,5 @@  /* See LICENSE file for copyright and license details. */ +#include <errno.h>  #include <stdarg.h>  #include <stdio.h>  #include <stdlib.h> @@ -10,17 +11,17 @@ void  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);  }  | 
