diff options
author | José Bollo <jose.bollo@iot.bzh> | 2017-06-28 18:08:29 +0200 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2017-06-28 18:34:48 +0200 |
commit | 305d98f7b6db1a3207cc877bd2cda819e3b90656 (patch) | |
tree | cb326872956d6108aa45b59d4d1222dac8bdf2b6 | |
parent | 859e455780dccf2cbe4f2a94a65e4639e6c7e183 (diff) |
Fix bad error reporting
The use of %m was buggy due to the implementation
of 'vverbose': it always returned ENOTTY
Inappropriate ioctl for device
Change-Id: Idedeefa44ec3cf301d75cd542c54c35a208886a1
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r-- | src/verbose.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/verbose.c b/src/verbose.c index 5b2611a7..2b009073 100644 --- a/src/verbose.c +++ b/src/verbose.c @@ -77,6 +77,7 @@ void verbose_set_name(const char *name, int authority) #else #include <unistd.h> +#include <errno.h> static const char *appname; @@ -95,7 +96,9 @@ static const char *prefixes[] = { void vverbose(int level, const char *file, int line, const char *function, const char *fmt, va_list args) { + int saverr = errno; int tty = isatty(fileno(stderr)); + errno = saverr; fprintf(stderr, "%s: ", prefixes[LEVEL(level)] + (tty ? 4 : 0)); vfprintf(stderr, fmt, args); |