} else {
char **files, **f;
- r = conf_files_list(&files, ".conf",
+ r = conf_files_list(&files, ".conf", NULL,
"/etc/binfmt.d",
"/run/binfmt.d",
"/usr/local/lib/binfmt.d",
_cleanup_strv_free_ char **files = NULL;
char **f;
- r = conf_files_list_strv(&files, ".conf", (const char**) strv);
+ r = conf_files_list_strv(&files, ".conf", NULL, (const char**) strv);
if (r < 0) {
log_error("Failed to get list of configuration files: %s", strerror(-r));
return r;
goto finish;
}
- r = conf_files_list_strv(&files, ".catalog", (const char **) conf_file_dirs);
+ r = conf_files_list_strv(&files, ".catalog", NULL, (const char **) conf_file_dirs);
if (r < 0) {
log_error("Failed to get catalog files: %s", strerror(-r));
goto finish;
r = EXIT_FAILURE;
}
- k = conf_files_list(&files, ".conf",
+ k = conf_files_list(&files, ".conf", NULL,
"/etc/modules-load.d",
"/run/modules-load.d",
"/usr/local/lib/modules-load.d",
#include "hashmap.h"
#include "conf-files.h"
-static int files_add(Hashmap *h, const char *path, const char *suffix) {
+static int files_add(Hashmap *h, const char *root, const char *path, const char *suffix) {
DIR *dir;
int r = 0;
return strcmp(path_get_file_name(s1), path_get_file_name(s2));
}
-int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs) {
+int conf_files_list_strv(char ***strv, const char *suffix, const char *root, const char **dirs) {
Hashmap *fh = NULL;
char **files = NULL;
const char **p;
}
STRV_FOREACH(p, dirs) {
- r = files_add(fh, *p, suffix);
+ r = files_add(fh, root, *p, suffix);
if (r < 0)
log_warning("Failed to search for files in %s: %s",
*p, strerror(-r));
return r;
}
-int conf_files_list(char ***strv, const char *suffix, const char *dir, ...) {
+int conf_files_list(char ***strv, const char *suffix, const char *root, const char *dir, ...) {
char **dirs = NULL;
va_list ap;
int r;
}
strv_uniq(dirs);
- r = conf_files_list_strv(strv, suffix, (const char **)dirs);
+ r = conf_files_list_strv(strv, suffix, root, (const char **)dirs);
finish:
strv_free(dirs);
#include "macro.h"
-int conf_files_list(char ***strv, const char *suffix, const char *dir, ...);
-int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs);
+int conf_files_list(char ***strv, const char *suffix, const char *root, const char *dir, ...);
+int conf_files_list_strv(char ***strv, const char *suffix, const char *root, const char **dirs);
#endif
assert(name);
if (scope == UNIT_FILE_SYSTEM)
- r = conf_files_list(&files, ".preset",
+ r = conf_files_list(&files, ".preset", NULL,
"/etc/systemd/system-preset",
"/usr/local/lib/systemd/system-preset",
"/usr/lib/systemd/system-preset",
#endif
NULL);
else if (scope == UNIT_FILE_GLOBAL)
- r = conf_files_list(&files, ".preset",
+ r = conf_files_list(&files, ".preset", NULL,
"/etc/systemd/user-preset",
"/usr/local/lib/systemd/user-preset",
"/usr/lib/systemd/user-preset",
} else {
char **files, **f;
- r = conf_files_list(&files, ".conf",
+ r = conf_files_list(&files, ".conf", NULL,
"/etc/sysctl.d",
"/run/sysctl.d",
"/usr/local/lib/sysctl.d",
char **r = NULL, **files, **i;
int k;
- k = conf_files_list(&files, ".list",
+ k = conf_files_list(&files, ".list", NULL,
"/etc/systemd/ntp-units.d",
"/run/systemd/ntp-units.d",
"/usr/local/lib/systemd/ntp-units.d",
} else {
char **files, **f;
- r = conf_files_list_strv(&files, ".conf", (const char **)conf_file_dirs);
+ r = conf_files_list_strv(&files, ".conf", NULL, (const char **)conf_file_dirs);
if (r < 0) {
log_error("Failed to enumerate tmpfiles.d files: %s", strerror(-r));
r = EXIT_FAILURE;
return udev_rules_unref(rules);
udev_rules_check_timestamp(rules);
- r = conf_files_list_strv(&files, ".rules", (const char **)rules->dirs);
+ r = conf_files_list_strv(&files, ".rules", NULL, (const char **)rules->dirs);
if (r < 0) {
log_error("failed to enumerate rules files: %s\n", strerror(-r));
return udev_rules_unref(rules);
}
trie->nodes_count++;
- err = conf_files_list_strv(&files, ".hwdb", (const char **)conf_file_dirs);
+ err = conf_files_list_strv(&files, ".hwdb", NULL, (const char **)conf_file_dirs);
if (err < 0) {
log_error("failed to enumerate hwdb files: %s\n", strerror(-err));
rc = EXIT_FAILURE;