From: Matt Fischer Date: Wed, 20 Feb 2013 21:27:20 +0000 (-0600) Subject: Add support for systems without syslog.h X-Git-Tag: dbus-1.7.0~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ebd4ae912568caa40b714ba166211fa31b82af8;p=thirdparty%2Fdbus.git Add support for systems without syslog.h This patch disables the use of syslog for systems which do not have it, such as QNX. Log messages are still printed to stderr. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61176 Reviewed-by: Simon McVittie --- diff --git a/dbus/dbus-sysdeps-util-unix.c b/dbus/dbus-sysdeps-util-unix.c index 6cff3fe20..7beab2094 100644 --- a/dbus/dbus-sysdeps-util-unix.c +++ b/dbus/dbus-sysdeps-util-unix.c @@ -49,7 +49,10 @@ #include #include #include + +#ifdef HAVE_SYSLOG_H #include +#endif #ifdef HAVE_SYS_SYSLIMITS_H #include @@ -425,11 +428,15 @@ _dbus_request_file_descriptor_limit (unsigned int limit) void _dbus_init_system_log (void) { +#ifdef HAVE_SYSLOG_H + #if HAVE_DECL_LOG_PERROR openlog ("dbus", LOG_PID | LOG_PERROR, LOG_DAEMON); #else openlog ("dbus", LOG_PID, LOG_DAEMON); #endif + +#endif } /** @@ -465,6 +472,7 @@ _dbus_system_log (DBusSystemLogSeverity severity, const char *msg, ...) void _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args) { +#ifdef HAVE_SYSLOG_H int flags; switch (severity) { @@ -481,7 +489,10 @@ _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args return; } -#ifndef HAVE_DECL_LOG_PERROR + vsyslog (flags, msg, args); +#endif + +#if !defined(HAVE_SYSLOG_H) || !HAVE_DECL_LOG_PERROR { /* vsyslog() won't write to stderr, so we'd better do it */ va_list tmp; @@ -494,8 +505,6 @@ _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args } #endif - vsyslog (flags, msg, args); - if (severity == DBUS_SYSTEM_LOG_FATAL) exit (1); }