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 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel