diff options
author | Dave Reisner <dreisner@archlinux.org> | 2014-02-13 10:14:31 -0500 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2014-02-13 10:14:31 -0500 |
commit | 5a1aece58142023d407afae797bb0ffb05b34732 (patch) | |
tree | 34b18011e4b452f67dfad0707a91f560e5d75714 | |
parent | c8a202b7d47f9d6bba3100a208abdadfc383499e (diff) |
systemctl: fix exit statuses from is-active/is-failed
This was inadvertantly disturbed in e3e0314b when glob support was
added.
-rw-r--r-- | src/systemctl/systemctl.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index edd4daaa24..ef0cbc5bf4 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -2511,14 +2511,16 @@ static int start_special(sd_bus *bus, char **args) { static int check_unit_generic(sd_bus *bus, int code, const char *good_states, char **args) { _cleanup_strv_free_ char **names = NULL; char **name; - int r = code; + int r; assert(bus); assert(args); r = expand_names(bus, args, NULL, &names); - if (r < 0) + if (r < 0) { log_error("Failed to expand names: %s", strerror(-r)); + return r; + } STRV_FOREACH(name, names) { int state; @@ -2526,8 +2528,8 @@ static int check_unit_generic(sd_bus *bus, int code, const char *good_states, ch state = check_one_unit(bus, *name, good_states, arg_quiet); if (state < 0) return state; - if (state > 0) - r = 0; + if (state == 0) + r = code; } return r; |