mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
lookup: drop empty directories from search paths
This commit is contained in:
parent
ac3f50caa5
commit
a9dd208208
2
TODO
2
TODO
@ -34,8 +34,6 @@ Features:
|
|||||||
|
|
||||||
* Maybe merge nss-myhostname into systemd?
|
* Maybe merge nss-myhostname into systemd?
|
||||||
|
|
||||||
* ensure we strip empty directories from search path
|
|
||||||
|
|
||||||
* GC unreferenced jobs (such as .device jobs)
|
* GC unreferenced jobs (such as .device jobs)
|
||||||
|
|
||||||
* support wildcard expansion in ListenStream= and friends
|
* support wildcard expansion in ListenStream= and friends
|
||||||
|
@ -205,6 +205,7 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as) {
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
strv_uniq(p->unit_path);
|
strv_uniq(p->unit_path);
|
||||||
|
strv_path_remove_empty(p->unit_path);
|
||||||
|
|
||||||
if (!strv_isempty(p->unit_path)) {
|
if (!strv_isempty(p->unit_path)) {
|
||||||
|
|
||||||
@ -259,6 +260,9 @@ int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as) {
|
|||||||
strv_uniq(p->sysvinit_path);
|
strv_uniq(p->sysvinit_path);
|
||||||
strv_uniq(p->sysvrcnd_path);
|
strv_uniq(p->sysvrcnd_path);
|
||||||
|
|
||||||
|
strv_path_remove_empty(p->sysvinit_path);
|
||||||
|
strv_path_remove_empty(p->sysvrcnd_path);
|
||||||
|
|
||||||
if (!strv_isempty(p->sysvinit_path)) {
|
if (!strv_isempty(p->sysvinit_path)) {
|
||||||
|
|
||||||
if (!(t = strv_join(p->sysvinit_path, "\n\t")))
|
if (!(t = strv_join(p->sysvinit_path, "\n\t")))
|
||||||
|
20
src/util.c
20
src/util.c
@ -1209,6 +1209,26 @@ char **strv_path_canonicalize(char **l) {
|
|||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char **strv_path_remove_empty(char **l) {
|
||||||
|
char **f, **t;
|
||||||
|
|
||||||
|
if (!l)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
for (f = t = l; *f; f++) {
|
||||||
|
|
||||||
|
if (dir_is_empty(*f) > 0) {
|
||||||
|
free(*f);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
*(t++) = *f;
|
||||||
|
}
|
||||||
|
|
||||||
|
*t = NULL;
|
||||||
|
return l;
|
||||||
|
}
|
||||||
|
|
||||||
int reset_all_signal_handlers(void) {
|
int reset_all_signal_handlers(void) {
|
||||||
int sig;
|
int sig;
|
||||||
|
|
||||||
|
@ -224,6 +224,7 @@ char *path_make_absolute_cwd(const char *p);
|
|||||||
|
|
||||||
char **strv_path_make_absolute_cwd(char **l);
|
char **strv_path_make_absolute_cwd(char **l);
|
||||||
char **strv_path_canonicalize(char **l);
|
char **strv_path_canonicalize(char **l);
|
||||||
|
char **strv_path_remove_empty(char **l);
|
||||||
|
|
||||||
int reset_all_signal_handlers(void);
|
int reset_all_signal_handlers(void);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user