summaryrefslogtreecommitdiffstats
path: root/libdaemon/dlog.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-06-11 15:34:47 +0000
committerLennart Poettering <lennart@poettering.net>2007-06-11 15:34:47 +0000
commit57855dabe0eab60dc4090309d07ba4c1aee3e0e2 (patch)
treec9968bc8bebb749854f6d71feb25fb220ba7658a /libdaemon/dlog.c
parentb45cd330549c234d0c061602d6239b083ddb9978 (diff)
Make sure that we always return a sensible errno
git-svn-id: file:///home/lennart/svn/public/libdaemon/trunk@117 153bfa13-eec0-0310-be40-b0cb6a0e1b4b
Diffstat (limited to 'libdaemon/dlog.c')
-rw-r--r--libdaemon/dlog.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libdaemon/dlog.c b/libdaemon/dlog.c
index 3748cf8..f832147 100644
--- a/libdaemon/dlog.c
+++ b/libdaemon/dlog.c
@@ -26,6 +26,7 @@
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
+#include <errno.h>
#include "dlog.h"
@@ -33,6 +34,9 @@ enum daemon_log_flags daemon_log_use = DAEMON_LOG_AUTO|DAEMON_LOG_STDERR;
const char* daemon_log_ident = NULL;
void daemon_logv(int prio, const char* template, va_list arglist) {
+ int saved_errno;
+
+ saved_errno = errno;
if (daemon_log_use & DAEMON_LOG_SYSLOG) {
openlog(daemon_log_ident ? daemon_log_ident : "UNKNOWN", LOG_PID, LOG_DAEMON);
@@ -48,7 +52,8 @@ void daemon_logv(int prio, const char* template, va_list arglist) {
vfprintf(stdout, template, arglist);
fprintf(stdout, "\n");
}
-
+
+ errno = saved_errno;
}
void daemon_log(int prio, const char* template, ...) {