From: Ivan Shapovalov Date: Fri, 19 Dec 2014 14:08:07 +0000 (+0300) Subject: path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install... X-Git-Tag: v219~685 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=60d27f1916c90871c063819a6e7d586c7a663789;p=elogind.git path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install.c and use it --- diff --git a/src/shared/install.c b/src/shared/install.c index 3b065445b..37191a7c7 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -58,22 +58,6 @@ static int in_search_path(const char *path, char **search) { return strv_contains(search, parent); } -static int lookup_paths_init_from_scope(LookupPaths *paths, - UnitFileScope scope, - const char *root_dir) { - assert(paths); - assert(scope >= 0); - assert(scope < _UNIT_FILE_SCOPE_MAX); - - zero(*paths); - - return lookup_paths_init(paths, - scope == UNIT_FILE_SYSTEM ? SYSTEMD_SYSTEM : SYSTEMD_USER, - scope == UNIT_FILE_USER, - root_dir, - NULL, NULL, NULL); -} - static int get_config_path(UnitFileScope scope, bool runtime, const char *root_dir, char **ret) { char *p = NULL; int r; diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c index 8f75a8e83..051f1a483 100644 --- a/src/shared/path-lookup.c +++ b/src/shared/path-lookup.c @@ -398,3 +398,19 @@ void lookup_paths_free(LookupPaths *p) { p->sysvinit_path = p->sysvrcnd_path = NULL; #endif } + +int lookup_paths_init_from_scope(LookupPaths *paths, + UnitFileScope scope, + const char *root_dir) { + assert(paths); + assert(scope >= 0); + assert(scope < _UNIT_FILE_SCOPE_MAX); + + zero(*paths); + + return lookup_paths_init(paths, + scope == UNIT_FILE_SYSTEM ? SYSTEMD_SYSTEM : SYSTEMD_USER, + scope == UNIT_FILE_USER, + root_dir, + NULL, NULL, NULL); +} diff --git a/src/shared/path-lookup.h b/src/shared/path-lookup.h index b8a0aace8..655e4549c 100644 --- a/src/shared/path-lookup.h +++ b/src/shared/path-lookup.h @@ -22,6 +22,7 @@ ***/ #include "macro.h" +#include "install.h" typedef struct LookupPaths { char **unit_path; @@ -49,5 +50,8 @@ int lookup_paths_init(LookupPaths *p, const char *generator_early, const char *generator_late); void lookup_paths_free(LookupPaths *p); +int lookup_paths_init_from_scope(LookupPaths *paths, + UnitFileScope scope, + const char *root_dir); #define _cleanup_lookup_paths_free_ _cleanup_(lookup_paths_free) diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 3d939f050..679541493 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -4515,11 +4515,7 @@ static int init_home_and_lookup_paths(char **user_home, char **user_runtime, Loo return log_error_errno(ENOTDIR, "Cannot find units: $XDG_RUNTIME_DIR is not set."); } - r = lookup_paths_init(lp, - arg_scope == UNIT_FILE_SYSTEM ? SYSTEMD_SYSTEM : SYSTEMD_USER, - arg_scope == UNIT_FILE_USER, - arg_root, - NULL, NULL, NULL); + r = lookup_paths_init_from_scope(lp, arg_scope, arg_root); if (r < 0) return log_error_errno(r, "Failed to lookup unit lookup paths: %m");