summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-05-01 19:16:55 +0000
committerLennart Poettering <lennart@poettering.net>2008-05-01 19:16:55 +0000
commit58168711171d823833a8d699090a8238e24ebea1 (patch)
tree69f43d4e8cb8ef5ef884332d7ae1dd911cb1aaae
parentb93ea1840ccb49f1ee020186cef6f8a147343b34 (diff)
save and restore errno in log functions
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2323 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--src/pulsecore/log.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/pulsecore/log.c b/src/pulsecore/log.c
index c824e84d..a8985783 100644
--- a/src/pulsecore/log.c
+++ b/src/pulsecore/log.c
@@ -30,6 +30,7 @@
#include <stdio.h>
#include <unistd.h>
#include <string.h>
+#include <errno.h>
#ifdef HAVE_SYSLOG_H
#include <syslog.h>
@@ -109,6 +110,7 @@ void pa_log_levelv_meta(
const char *e;
char *text, *t, *n, *location;
+ int saved_errno = errno;
pa_assert(level < PA_LOG_LEVEL_MAX);
pa_assert(format);
@@ -116,8 +118,10 @@ void pa_log_levelv_meta(
if ((e = getenv(ENV_LOGLEVEL)))
maximal_level = atoi(e);
- if (level > maximal_level)
+ if (level > maximal_level) {
+ errno = saved_errno;
return;
+ }
text = pa_vsprintf_malloc(format, ap);
@@ -206,6 +210,8 @@ void pa_log_levelv_meta(
pa_xfree(text);
pa_xfree(location);
+
+ errno = saved_errno;
}
void pa_log_level_meta(