chiark / gitweb /
systemctl: split --help into multiple sections
[elogind.git] / src / hostnamed.c
index d05c9023c75cd658f8fc52f8e693bc47d7934ba2..7b2ce691a378a244bbb5112753ffad8792c98659 100644 (file)
@@ -513,7 +513,7 @@ static int connect_bus(DBusConnection **_bus) {
 
         bus = dbus_bus_get_private(DBUS_BUS_SYSTEM, &error);
         if (!bus) {
-                log_error("Failed to get system D-Bus connection: %s", error.message);
+                log_error("Failed to get system D-Bus connection: %s", bus_error_message(&error));
                 r = -ECONNREFUSED;
                 goto fail;
         }
@@ -524,8 +524,15 @@ static int connect_bus(DBusConnection **_bus) {
                 goto fail;
         }
 
-        if (dbus_bus_request_name(bus, "org.freedesktop.hostname1", DBUS_NAME_FLAG_DO_NOT_QUEUE, &error) < 0) {
-                log_error("Failed to register name on bus: %s", error.message);
+        r = dbus_bus_request_name(bus, "org.freedesktop.hostname1", DBUS_NAME_FLAG_DO_NOT_QUEUE, &error);
+        if (dbus_error_is_set(&error)) {
+                log_error("Failed to register name on bus: %s", bus_error_message(&error));
+                r = -EEXIST;
+                goto fail;
+        }
+
+        if (r != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
+                log_error("Failed to acquire name.");
                 r = -EEXIST;
                 goto fail;
         }