[systemd-devel] [PATCH] Move bus_error to dbus-common and remove bus_error_message_or_strerror

Simon Peeters peeters.simon at gmail.com
Wed Apr 10 15:39:01 PDT 2013


bus_error and bus_error_message_or_strerror dit almost exactly the same,
so use only one of them and place it in dbus-common.
---
 src/core/bus-errors.h    | 13 -------------
 src/core/load-fragment.c |  2 +-
 src/core/main.c          |  2 +-
 src/core/path.c          |  2 +-
 src/core/service.c       |  2 +-
 src/core/socket.c        |  2 +-
 src/core/timer.c         |  2 +-
 src/core/transaction.c   |  1 +
 src/login/inhibit.c      |  4 ++--
 src/login/logind-dbus.c  |  2 +-
 src/shared/dbus-common.c |  6 ++++--
 src/shared/dbus-common.h |  2 +-
 12 files changed, 15 insertions(+), 25 deletions(-)

diff --git a/src/core/bus-errors.h b/src/core/bus-errors.h
index 04c1b28..7a4084e 100644
--- a/src/core/bus-errors.h
+++ b/src/core/bus-errors.h
@@ -21,9 +21,6 @@
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#include <string.h>
-#include <dbus/dbus.h>
-
 #define BUS_ERROR_NO_SUCH_UNIT "org.freedesktop.systemd1.NoSuchUnit"
 #define BUS_ERROR_NO_SUCH_JOB "org.freedesktop.systemd1.NoSuchJob"
 #define BUS_ERROR_NOT_SUBSCRIBED "org.freedesktop.systemd1.NotSubscribed"
@@ -43,13 +40,3 @@
 #define BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC "org.freedesktop.systemd1.TransactionOrderIsCyclic"
 #define BUS_ERROR_SHUTTING_DOWN "org.freedesktop.systemd1.ShuttingDown"
 #define BUS_ERROR_NO_SUCH_PROCESS "org.freedesktop.systemd1.NoSuchProcess"
-
-static inline const char *bus_error(const DBusError *e, int r) {
-        if (e && e->message)
-                return e->message;
-
-        if (r >= 0)
-                return strerror(r);
-
-        return strerror(-r);
-}
diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
index 42c181d..0f16fd9 100644
--- a/src/core/load-fragment.c
+++ b/src/core/load-fragment.c
@@ -44,7 +44,7 @@
 #include "missing.h"
 #include "unit-name.h"
 #include "unit-printf.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
 #include "utf8.h"
 #include "path-util.h"
 #include "syscall-list.h"
diff --git a/src/core/main.c b/src/core/main.c
index 7899761..fe9932b 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -40,7 +40,7 @@
 #include "fdset.h"
 #include "special.h"
 #include "conf-parser.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
 #include "missing.h"
 #include "label.h"
 #include "build.h"
diff --git a/src/core/path.c b/src/core/path.c
index ff49c06..b8ba057 100644
--- a/src/core/path.c
+++ b/src/core/path.c
@@ -31,7 +31,7 @@
 #include "mkdir.h"
 #include "dbus-path.h"
 #include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
 #include "path-util.h"
 #include "macro.h"
 
diff --git a/src/core/service.c b/src/core/service.c
index a104b30..cf19ccb 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -36,7 +36,7 @@
 #include "unit-printf.h"
 #include "dbus-service.h"
 #include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
 #include "exit-status.h"
 #include "def.h"
 #include "path-util.h"
diff --git a/src/core/socket.c b/src/core/socket.c
index f3cbe08..9f1af1e 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -46,7 +46,7 @@
 #include "dbus-socket.h"
 #include "missing.h"
 #include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
 #include "label.h"
 #include "exit-status.h"
 #include "def.h"
diff --git a/src/core/timer.c b/src/core/timer.c
index 16ca573..107dbb3 100644
--- a/src/core/timer.c
+++ b/src/core/timer.c
@@ -26,7 +26,7 @@
 #include "timer.h"
 #include "dbus-timer.h"
 #include "special.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
 
 static const UnitActiveState state_translation_table[_TIMER_STATE_MAX] = {
         [TIMER_DEAD] = UNIT_INACTIVE,
diff --git a/src/core/transaction.c b/src/core/transaction.c
index 4a8d90e..610344e 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -24,6 +24,7 @@
 
 #include "transaction.h"
 #include "bus-errors.h"
+#include "dbus-common.h"
 
 static void transaction_unlink_job(Transaction *tr, Job *j, bool delete_dependencies);
 
diff --git a/src/login/inhibit.c b/src/login/inhibit.c
index 9cb321f..fbab42a 100644
--- a/src/login/inhibit.c
+++ b/src/login/inhibit.c
@@ -251,7 +251,7 @@ int main(int argc, char *argv[]) {
 
                 r = print_inhibitors(bus, &error);
                 if (r < 0) {
-                        log_error("Failed to list inhibitors: %s", bus_error_message_or_strerror(&error, -r));
+                        log_error("Failed to list inhibitors: %s", bus_error(&error, r));
                         goto finish;
                 }
 
@@ -266,7 +266,7 @@ int main(int argc, char *argv[]) {
                 free(w);
 
                 if (fd < 0) {
-                        log_error("Failed to inhibit: %s", bus_error_message_or_strerror(&error, -r));
+                        log_error("Failed to inhibit: %s", bus_error(&error, r));
                         r = fd;
                         goto finish;
                 }
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index 230dd2b..bc46de7 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -2459,7 +2459,7 @@ int manager_dispatch_delayed(Manager *manager) {
         dbus_error_init(&error);
         r = execute_shutdown_or_sleep(manager, manager->action_what, manager->action_unit, &error);
         if (r < 0) {
-                log_warning("Failed to send delayed message: %s", bus_error_message_or_strerror(&error, -r));
+                log_warning("Failed to send delayed message: %s", bus_error(&error, r));
                 dbus_error_free(&error);
 
                 manager->action_unit = NULL;
diff --git a/src/shared/dbus-common.c b/src/shared/dbus-common.c
index 5afce76..fca54bb 100644
--- a/src/shared/dbus-common.c
+++ b/src/shared/dbus-common.c
@@ -258,11 +258,13 @@ const char *bus_error_message(const DBusError *error) {
         return error->message;
 }
 
-const char *bus_error_message_or_strerror(const DBusError *error, int err) {
-
+const char *bus_error(const DBusError *error, int err) {
         if (error && dbus_error_is_set(error))
                 return bus_error_message(error);
 
+        if (r < 0)
+                return strerror(-err);
+
         return strerror(err);
 }
 
diff --git a/src/shared/dbus-common.h b/src/shared/dbus-common.h
index f7f614c..16fc14b 100644
--- a/src/shared/dbus-common.h
+++ b/src/shared/dbus-common.h
@@ -92,7 +92,7 @@ int bus_connect_system_ssh(const char *user, const char *host, DBusConnection **
 int bus_connect_system_polkit(DBusConnection **_bus, DBusError *error);
 
 const char *bus_error_message(const DBusError *error);
-const char *bus_error_message_or_strerror(const DBusError *error, int err);
+const char *bus_error(const DBusError *e, int r);
 
 typedef int (*BusPropertyCallback)(DBusMessageIter *iter, const char *property, void *data);
 typedef int (*BusPropertySetCallback)(DBusMessageIter *iter, const char *property, void *data);
-- 
1.8.2



More information about the systemd-devel mailing list