Introduction
Introduction Statistics Contact Development Disclaimer Help
util.c: output function might override errno and thus affect perror() - dwm - d…
git clone git://git.suckless.org/dwm
Log
Files
Refs
README
LICENSE
---
commit fcb2476b693ca4c40ad32c7119e27bbeb856865c
parent 8933ebcf50024f4378a78e556b1ac08091197206
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 27 Oct 2024 20:10:07 +0100
util.c: output function might override errno and thus affect perror()
Original patch by Raymond Cole with some modifications, thanks!
Diffstat:
M util.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
---
diff --git 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>
@@ -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);
}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.