[systemd-commits] src/condition.c

Michal Schmidt michich at kemper.freedesktop.org
Thu Sep 22 17:12:00 PDT 2011


 src/condition.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 1f8fef5a44e6ce711808665bca6eb43d604fe279
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Fri Sep 23 02:10:00 2011 +0200

    condition: fix reversed tests if path does not exist at all
    
    CONDITION_PATH_IS_DIRECTORY, CONDITION_PATH_IS_SYMBOLIC_LINK and
    CONDITION_FILE_IS_EXECUTABLE gave reversed results when the path
    did not exist at all.

diff --git a/src/condition.c b/src/condition.c
index f84c81b..1438ea8 100644
--- a/src/condition.c
+++ b/src/condition.c
@@ -163,7 +163,7 @@ bool condition_test(Condition *c) {
                 struct stat st;
 
                 if (stat(c->parameter, &st) < 0)
-                        return !c->negate;
+                        return c->negate;
                 return S_ISDIR(st.st_mode) == !c->negate;
         }
 
@@ -171,7 +171,7 @@ bool condition_test(Condition *c) {
                 struct stat st;
 
                 if (lstat(c->parameter, &st) < 0)
-                        return !c->negate;
+                        return c->negate;
                 return S_ISLNK(st.st_mode) == !c->negate;
         }
 
@@ -189,7 +189,7 @@ bool condition_test(Condition *c) {
                 struct stat st;
 
                 if (stat(c->parameter, &st) < 0)
-                        return !c->negate;
+                        return c->negate;
 
                 return (S_ISREG(st.st_mode) && (st.st_mode & 0111)) == !c->negate;
         }



More information about the systemd-commits mailing list