chiark / gitweb /
use /run instead of /dev/.run
[elogind.git] / src / condition.c
index 1dce276c00575004f48ecde1ff40de576a8ed771..61812c25705cfec2ca6d6f0675921616b2d13790 100644 (file)
@@ -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;