dbus_message_iter_next(&sub);
}
+ r = 0;
+
finish:
if (m)
dbus_message_unref(m);
}
static bool need_daemon_reload(DBusConnection *bus, const char *unit) {
- DBusMessage *m, *reply;
+ DBusMessage *m = NULL, *reply = NULL;
dbus_bool_t b = FALSE;
DBusMessageIter iter, sub;
const char
const char *description;
- const char *fragment_path;
+ const char *path;
const char *default_control_group;
bool need_daemon_reload;
printf("\n");
- if (i->fragment_path)
- printf("\t Loaded: %s (%s)\n", strna(i->load_state), i->fragment_path);
- else if (streq_ptr(i->load_state, "failed"))
- printf("\t Loaded: %s%s%s\n",
- ansi_highlight(true),
- strna(i->load_state),
- ansi_highlight(false));
+ if (streq_ptr(i->load_state, "failed")) {
+ on = ansi_highlight(true);
+ off = ansi_highlight(false);
+ } else
+ on = off = "";
+
+ if (i->path)
+ printf("\t Loaded: %s%s%s (%s)\n", on, strna(i->load_state), off, i->path);
else
- printf("\t Loaded: %s\n", strna(i->load_state));
+ printf("\t Loaded: %s%s%s\n", on, strna(i->load_state), off);
ss = streq_ptr(i->active_state, i->sub_state) ? NULL : i->sub_state;
else if (streq(name, "Description"))
i->description = s;
else if (streq(name, "FragmentPath"))
- i->fragment_path = s;
+ i->path = s;
+ else if (streq(name, "SysVPath"))
+ i->path = s;
else if (streq(name, "DefaultControlGroup"))
i->default_control_group = s;
else if (streq(name, "StatusText"))
free(p);
if (r == 0)
- q = r;
+ r = q;
} else if (is_link) {
char *p, *dest, *c;
}
static int reload_with_fallback(DBusConnection *bus) {
- int r;
if (bus) {
/* First, try systemd via D-Bus. */
- if ((r = daemon_reload(bus, NULL, 0)) > 0)
+ if (daemon_reload(bus, NULL, 0) > 0)
return 0;
}
}
static int start_with_fallback(DBusConnection *bus) {
- int r;
if (bus) {
/* First, try systemd via D-Bus. */
- if ((r = start_unit(bus, NULL, 0)) > 0)
+ if (start_unit(bus, NULL, 0) > 0)
goto done;
}
/* Hmm, talking to systemd via D-Bus didn't work. Then
* let's try to talk to Upstart via D-Bus. */
- if ((r = talk_upstart()) > 0)
+ if (talk_upstart() > 0)
goto done;
/* Nothing else worked, so let's try
* /dev/initctl */
- if ((r = talk_initctl()) != 0)
+ if (talk_initctl() != 0)
goto done;
log_error("Failed to talk to init daemon.");
switch (arg_action) {
case ACTION_HALT:
- log_info("Halting");
+ log_info("Halting.");
reboot(RB_HALT_SYSTEM);
break;
case ACTION_POWEROFF:
- log_info("Powering off");
+ log_info("Powering off.");
reboot(RB_POWER_OFF);
break;
case ACTION_REBOOT:
- log_info("Rebooting");
+ log_info("Rebooting.");
reboot(RB_AUTOBOOT);
break;