aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-06-28 18:08:29 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-06-28 18:34:48 +0200
commit305d98f7b6db1a3207cc877bd2cda819e3b90656 (patch)
treecb326872956d6108aa45b59d4d1222dac8bdf2b6
parent859e455780dccf2cbe4f2a94a65e4639e6c7e183 (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.c3
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);