#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);