Commit 7850b3b8 authored by Kay Sievers's avatar Kay Sievers
Browse files

shared: conf-files - add root parameter

parent 0b9cc004
......@@ -138,7 +138,7 @@ int main(int argc, char *argv[]) {
} 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",
......
......@@ -171,7 +171,7 @@ int unit_load_dropin(Unit *u) {
_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;
......
......@@ -296,7 +296,7 @@ int catalog_update(void) {
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;
......
......@@ -198,7 +198,7 @@ int main(int argc, char *argv[]) {
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",
......
......@@ -37,7 +37,7 @@
#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;
......@@ -90,7 +90,7 @@ static int base_cmp(const void *a, const void *b) {
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;
......@@ -105,7 +105,7 @@ int conf_files_list_strv(char ***strv, const char *suffix, const char **dirs) {
}
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));
......@@ -126,7 +126,7 @@ finish:
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;
......@@ -145,7 +145,7 @@ int conf_files_list(char ***strv, const char *suffix, const char *dir, ...) {
}
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);
......
......@@ -25,7 +25,7 @@
#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
......@@ -1658,7 +1658,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
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",
......@@ -1667,7 +1667,7 @@ int unit_file_query_preset(UnitFileScope scope, const char *name) {
#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",
......
......@@ -289,7 +289,7 @@ int main(int argc, char *argv[]) {
} 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",
......
......@@ -280,7 +280,7 @@ static char** get_ntp_services(void) {
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",
......
......@@ -1435,7 +1435,7 @@ int main(int argc, char *argv[]) {
} 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;
......
......@@ -1619,7 +1619,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
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);
......
......@@ -537,7 +537,7 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
}
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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment