From ff8c35ce1d9525bdd8911e5085c3f5125b97b084 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 2 Feb 2015 17:57:30 +0000 Subject: [PATCH 09/12] bus_context_log_literal: add simplified version of bus_context_log Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 --- bus/bus.c | 22 +++++++++++++++++++++- bus/bus.h | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/bus/bus.c b/bus/bus.c index 84e6a1f..d7a068d 100644 --- a/bus/bus.c +++ b/bus/bus.c @@ -1374,6 +1374,26 @@ nonnull (const char *maybe_null, return (maybe_null ? maybe_null : if_null); } +void +bus_context_log_literal (BusContext *context, + DBusSystemLogSeverity severity, + const char *msg) +{ + if (!context->syslog) + { + fputs (msg, stderr); + fputc ('\n', stderr); + + if (severity == DBUS_SYSTEM_LOG_FATAL) + _dbus_exit (1); + } + else + { + _dbus_system_log (severity, "%s%s", nonnull (context->log_prefix, ""), + msg); + } +} + /* * Log something about a message, usually that it was rejected. */ @@ -1432,7 +1452,7 @@ complain_about_message (BusContext *context, /* If we hit OOM while setting the error, this will syslog "out of memory" * which is itself an indication that something is seriously wrong */ if (log) - bus_context_log (context, DBUS_SYSTEM_LOG_SECURITY, "%s", + bus_context_log_literal (context, DBUS_SYSTEM_LOG_SECURITY, stack_error.message); dbus_move_error (&stack_error, error); diff --git a/bus/bus.h b/bus/bus.h index d05c80f..746e5ba 100644 --- a/bus/bus.h +++ b/bus/bus.h @@ -121,6 +121,9 @@ void bus_context_log (BusContext DBusSystemLogSeverity severity, const char *msg, ...) _DBUS_GNUC_PRINTF (3, 4); +void bus_context_log_literal (BusContext *context, + DBusSystemLogSeverity severity, + const char *msg); dbus_bool_t bus_context_check_security_policy (BusContext *context, BusTransaction *transaction, DBusConnection *sender, -- 2.1.4