X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcondition.c;h=61812c25705cfec2ca6d6f0675921616b2d13790;hb=fe8954ab47b57703d2fb3116f5dbe389426e99bc;hp=1dce276c00575004f48ecde1ff40de576a8ed771;hpb=2fc9784656900c4dc3715db506096ddc23fdd87c;p=elogind.git diff --git a/src/condition.c b/src/condition.c index 1dce276c0..61812c257 100644 --- a/src/condition.c +++ b/src/condition.c @@ -134,6 +134,14 @@ bool condition_test(Condition *c) { case CONDITION_PATH_EXISTS: return (access(c->parameter, F_OK) >= 0) == !c->negate; + case CONDITION_PATH_IS_DIRECTORY: { + struct stat st; + + if (lstat(c->parameter, &st) < 0) + return !c->negate; + return S_ISDIR(st.st_mode) == !c->negate; + } + case CONDITION_DIRECTORY_NOT_EMPTY: { int k;