chiark / gitweb /
systemctl: fail in the case that no unit files were found
[elogind.git] / src / shared / install.c
index 0fe1371129c59a9d169b1a06b4aa0221c9a8f198..03c7a9da2eb08e91031f51085f77a4a759bf1b7b 100644 (file)
@@ -2044,6 +2044,12 @@ int unit_file_get_list(
         if (root_dir && scope != UNIT_FILE_SYSTEM)
                 return -EINVAL;
 
         if (root_dir && scope != UNIT_FILE_SYSTEM)
                 return -EINVAL;
 
+        if (root_dir) {
+                r = access(root_dir, F_OK);
+                if (r < 0)
+                        return -errno;
+        }
+
         r = lookup_paths_init_from_scope(&paths, scope, root_dir);
         if (r < 0)
                 return r;
         r = lookup_paths_init_from_scope(&paths, scope, root_dir);
         if (r < 0)
                 return r;