[systemd-devel] [PATCH 1/4] path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install.c and use it

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Mon Jan 5 08:13:47 PST 2015


On Fri, Dec 19, 2014 at 05:08:07PM +0300, Ivan Shapovalov wrote:
> ---
>  src/shared/install.c      | 16 ----------------
>  src/shared/path-lookup.c  | 16 ++++++++++++++++
>  src/shared/path-lookup.h  |  4 ++++
>  src/systemctl/systemctl.c |  6 +-----
>  4 files changed, 21 insertions(+), 21 deletions(-)
Actually 1/4 is kind of independent. Applied.

Zbyszek

> 
> diff --git a/src/shared/install.c b/src/shared/install.c
> index efbe61e..2dcdfc3 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 8f75a8e..051f1a4 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 b8a0aac..655e454 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 4c4648f..7af111c 100644
> --- a/src/systemctl/systemctl.c
> +++ b/src/systemctl/systemctl.c
> @@ -4742,11 +4742,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");
>  
> -- 
> 2.2.0
> 
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel


More information about the systemd-devel mailing list