Introduce CONF_PATHS_USR_STRV to mirror CONF_PATHS_STRV
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 2 Jan 2019 12:12:18 +0000 (13:12 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 18 Feb 2019 09:25:25 +0000 (10:25 +0100)
src/basic/def.h
src/shared/install.c

index 5be018d..929da72 100644 (file)
         "/usr/lib/" n "\0"                      \
         _CONF_PATHS_SPLIT_USR_NULSTR(n)
 
+#define CONF_PATHS_USR(n)                       \
+        "/etc/" n,                              \
+        "/run/" n,                              \
+        "/usr/local/lib/" n,                    \
+        "/usr/lib/" n
+
+#define CONF_PATHS(n)                           \
+        CONF_PATHS_USR(n)                       \
+        _CONF_PATHS_SPLIT_USR(n)
+
+#define CONF_PATHS_USR_STRV(n)                  \
+        STRV_MAKE(CONF_PATHS_USR(n))
+
 #define CONF_PATHS_STRV(n)                      \
-        STRV_MAKE(                              \
-                "/etc/" n,                      \
-                "/run/" n,                      \
-                "/usr/local/lib/" n,            \
-                "/usr/lib/" n                   \
-                _CONF_PATHS_SPLIT_USR(n))
+        STRV_MAKE(CONF_PATHS(n))
 
 #define HIGH_RLIMIT_MEMLOCK (1024ULL*1024ULL*64ULL)
index 5a1fff4..9e88ac4 100644 (file)
@@ -15,6 +15,7 @@
 #include "alloc-util.h"
 #include "conf-files.h"
 #include "conf-parser.h"
+#include "def.h"
 #include "dirent-util.h"
 #include "extract-word.h"
 #include "fd-util.h"
@@ -2821,40 +2822,26 @@ static int split_pattern_into_name_and_instances(const char *pattern, char **out
 }
 
 static int presets_find_config(UnitFileScope scope, const char *root_dir, char ***files) {
-        int r;
+        const char* const* dirs;
 
         assert(scope >= 0);
         assert(scope < _UNIT_FILE_SCOPE_MAX);
-        assert(files);
 
         switch (scope) {
         case UNIT_FILE_SYSTEM:
-                r = conf_files_list(files, ".preset", root_dir, 0,
-                                    "/etc/systemd/system-preset",
-                                    "/run/systemd/system-preset",
-                                    "/usr/local/lib/systemd/system-preset",
-                                    "/usr/lib/systemd/system-preset",
-#if HAVE_SPLIT_USR
-                                    "/lib/systemd/system-preset",
-#endif
-                                    NULL);
+                dirs = (const char* const*) CONF_PATHS_STRV("systemd/system-preset");
                 break;
 
         case UNIT_FILE_GLOBAL:
         case UNIT_FILE_USER:
-                r = conf_files_list(files, ".preset", root_dir, 0,
-                                    "/etc/systemd/user-preset",
-                                    "/run/systemd/user-preset",
-                                    "/usr/local/lib/systemd/user-preset",
-                                    "/usr/lib/systemd/user-preset",
-                                    NULL);
+                dirs = (const char* const*) CONF_PATHS_USR_STRV("systemd/user-preset");
                 break;
 
         default:
                 assert_not_reached("Invalid unit file scope");
         }
 
-        return r;
+        return conf_files_list_strv(files, ".preset", root_dir, 0, dirs);
 }
 
 static int read_presets(UnitFileScope scope, const char *root_dir, Presets *presets) {