X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsystemctl.c;h=bb998d37e21b4c4e313adc065f069dd8231ae973;hb=d937fbbd97760d4d1a59dc0fa6f3000e57a96998;hp=3eb8ab5b5cd78240e33a112e392a64985964d23c;hpb=9f39404c86ea20d164b08b9639ca800c1d88724b;p=elogind.git diff --git a/src/systemctl.c b/src/systemctl.c index 3eb8ab5b5..bb998d37e 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -1962,6 +1962,7 @@ typedef struct UnitStatusInfo { const char *load_state; const char *active_state; const char *sub_state; + const char *unit_file_state; const char *description; const char *following; @@ -2043,6 +2044,8 @@ static void print_status_info(UnitStatusInfo *i) { if (i->load_error) printf("\t Loaded: %s%s%s (Reason: %s)\n", on, strna(i->load_state), off, i->load_error); + else if (i->path && i->unit_file_state) + printf("\t Loaded: %s%s%s (%s; %s)\n", on, strna(i->load_state), off, i->path, i->unit_file_state); else if (i->path) printf("\t Loaded: %s%s%s (%s)\n", on, strna(i->load_state), off, i->path); else @@ -2285,6 +2288,8 @@ static int status_property(const char *name, DBusMessageIter *iter, UnitStatusIn i->what = s; else if (streq(name, "Following")) i->following = s; + else if (streq(name, "UnitFileState")) + i->unit_file_state = s; } break; @@ -2464,11 +2469,13 @@ static int print_property(const char *name, DBusMessageIter *iter) { } else if (dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRING && streq(name, "LoadError")) { const char *a = NULL, *b = NULL; - if (bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &a, true) > 0) + if (bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &a, true) >= 0) bus_iter_get_basic_and_next(&sub, DBUS_TYPE_STRING, &b, false); if (arg_all || !isempty(a) || !isempty(b)) printf("%s=%s \"%s\"\n", name, strempty(a), strempty(b)); + + return 0; } break;