[systemd-commits] src/systemctl

Dave Reisner dreisner at kemper.freedesktop.org
Thu Feb 13 16:24:40 CET 2014


 src/systemctl/systemctl.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

New commits:
commit 5a1aece58142023d407afae797bb0ffb05b34732
Author: Dave Reisner <dreisner at archlinux.org>
Date:   Thu Feb 13 10:14:31 2014 -0500

    systemctl: fix exit statuses from is-active/is-failed
    
    This was inadvertantly disturbed in e3e0314b when glob support was
    added.

diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index edd4daa..ef0cbc5 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;



More information about the systemd-commits mailing list