chiark / gitweb /
tmpfiles: don't exit with an error code if we cannot access all files
[elogind.git] / src / tmpfiles.c
index 1574a199fbf3ab50e54e01b4adf2766b9f136913..4394f0dd55f56ee8e16dda964e148c7aa4d8626c 100644 (file)
@@ -963,11 +963,17 @@ int main(int argc, char *argv[]) {
         } else {
                 char **files, **f;
 
-                files = conf_files_list(".conf",
-                                        "/run/tmpfiles.d",
-                                        "/etc/tmpfiles.d",
-                                        "/usr/lib/tmpfiles.d",
-                                        NULL);
+                r = conf_files_list(&files, ".conf",
+                                    "/run/tmpfiles.d",
+                                    "/etc/tmpfiles.d",
+                                    "/usr/local/lib/tmpfiles.d",
+                                    "/usr/lib/tmpfiles.d",
+                                    NULL);
+                if (r < 0) {
+                        r = EXIT_FAILURE;
+                        log_error("Failed to enumerate tmpfiles.d files: %s", strerror(-r));
+                        goto finish;
+                }
 
                 STRV_FOREACH(f, files) {
                         if (read_config_file(*f, true) < 0)
@@ -977,15 +983,11 @@ int main(int argc, char *argv[]) {
                 strv_free(files);
         }
 
-
-
         HASHMAP_FOREACH(i, globs, iterator)
-                if (process_item(i) < 0)
-                        r = EXIT_FAILURE;
+                process_item(i);
 
         HASHMAP_FOREACH(i, items, iterator)
-                if (process_item(i) < 0)
-                        r = EXIT_FAILURE;
+                process_item(i);
 
 finish:
         while ((i = hashmap_steal_first(items)))