chiark / gitweb /
systemctl: fix error message when no connection to systemd is available
[elogind.git] / src / systemctl.c
index 848d6a8e4f0d53ad2a9a432d301a95608f210cc7..9b54da16cae49d63e0ef7281231f2d435072bb60 100644 (file)
@@ -4989,8 +4989,17 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError
                         return 0;
                 }
 
+                if (!bus) {
+                        log_error("Failed to get D-Bus connection: %s",
+                                  dbus_error_is_set(error) ? error->message : "No connection to service manager.");
+                        return -EIO;
+                }
+
+        } else {
+
                 if (!bus && !avoid_bus()) {
-                        log_error("Failed to get D-Bus connection: %s", error->message);
+                        log_error("Failed to get D-Bus connection: %s",
+                                  dbus_error_is_set(error) ? error->message : "No connection to service manager.");
                         return -EIO;
                 }
         }