X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsystemctl.c;h=1f2b43be032148a7f004af985100946115aa5924;hb=55888fa400965fe6e458e78a844da8c85735311b;hp=8e538d64a44c9a0e7c9298074a60ccbc60c149dc;hpb=b036fc0050b21fb0d284a11019ea0a77be264296;p=elogind.git diff --git a/src/systemctl.c b/src/systemctl.c index 8e538d64a..1f2b43be0 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -1257,11 +1257,11 @@ static int start_unit(DBusConnection *bus, char **args, unsigned n) { streq(args[0], "stop") ? "StopUnit" : streq(args[0], "reload") ? "ReloadUnit" : streq(args[0], "restart") ? "RestartUnit" : - streq(args[0], "try-restart") ? "TryRestartUnit" : + streq(args[0], "try-restart") || + streq(args[0], "condrestart") ? "TryRestartUnit" : streq(args[0], "reload-or-restart") ? "ReloadOrRestartUnit" : streq(args[0], "reload-or-try-restart") || - streq(args[0], "force-reload") || - streq(args[0], "condrestart") ? "ReloadOrTryRestartUnit" : + streq(args[0], "force-reload") ? "ReloadOrTryRestartUnit" : "StartUnit"; mode = @@ -1581,7 +1581,9 @@ typedef struct UnitStatusInfo { pid_t control_pid; const char *status_text; bool running:1; +#ifdef HAVE_SYSV_COMPAT bool is_sysv:1; +#endif usec_t start_timestamp; usec_t exit_timestamp; @@ -1701,7 +1703,11 @@ static void print_status_info(UnitStatusInfo *i) { printf("status=%i", p->status); +#ifdef HAVE_SYSV_COMPAT if ((c = exit_status_to_string(p->status, i->is_sysv ? EXIT_STATUS_LSB : EXIT_STATUS_SYSTEMD))) +#else + if ((c = exit_status_to_string(p->status, EXIT_STATUS_SYSTEMD))) +#endif printf("/%s", c); } else @@ -1739,7 +1745,11 @@ static void print_status_info(UnitStatusInfo *i) { printf("status=%i", i->exit_status); +#ifdef HAVE_SYSV_COMPAT if ((c = exit_status_to_string(i->exit_status, i->is_sysv ? EXIT_STATUS_LSB : EXIT_STATUS_SYSTEMD))) +#else + if ((c = exit_status_to_string(i->exit_status, EXIT_STATUS_SYSTEMD))) +#endif printf("/%s", c); } else @@ -1811,10 +1821,13 @@ static int status_property(const char *name, DBusMessageIter *iter, UnitStatusIn i->description = s; else if (streq(name, "FragmentPath")) i->path = s; +#ifdef HAVE_SYSV_COMPAT else if (streq(name, "SysVPath")) { i->is_sysv = true; i->path = s; - } else if (streq(name, "DefaultControlGroup")) + } +#endif + else if (streq(name, "DefaultControlGroup")) i->default_control_group = s; else if (streq(name, "StatusText")) i->status_text = s; @@ -2003,6 +2016,14 @@ static int print_property(const char *name, DBusMessageIter *iter) { return 0; } + case DBUS_TYPE_DOUBLE: { + double d; + dbus_message_iter_get_basic(iter, &d); + + printf("%s=%g\n", name, d); + return 0; + } + case DBUS_TYPE_STRUCT: { DBusMessageIter sub; dbus_message_iter_recurse(iter, &sub);