bus_context_log_literal: add simplified version of bus_context_log
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 2 Feb 2015 17:57:30 +0000 (17:57 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 3 Feb 2015 16:19:17 +0000 (16:19 +0000)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810
Reviewed-by: Philip Withnall
bus/bus.c
bus/bus.h

index 84e6a1f..d7a068d 100644 (file)
--- 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);
index d05c80f..746e5ba 100644 (file)
--- 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,