diff options
-rw-r--r-- | src/shared/install.c | 427 |
1 files changed, 212 insertions, 215 deletions
diff --git a/src/shared/install.c b/src/shared/install.c index d0b3b68b4e..6f6087c4ee 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -98,7 +98,7 @@ static const char *const unit_file_type_table[_UNIT_FILE_TYPE_MAX] = { DEFINE_PRIVATE_STRING_TABLE_LOOKUP_TO_STRING(unit_file_type, UnitFileType); -static int in_search_path(const LookupPaths *p, const char *path) { +static int in_search_path(const LookupPaths *lp, const char *path) { _cleanup_free_ char *parent = NULL; assert(path); @@ -107,19 +107,16 @@ static int in_search_path(const LookupPaths *p, const char *path) { if (!parent) return -ENOMEM; - return path_strv_contains(p->search_path, parent); + return path_strv_contains(lp->search_path, parent); } -static const char* skip_root(const LookupPaths *p, const char *path) { - char *e; - - assert(p); +static const char* skip_root(const char *root_dir, const char *path) { assert(path); - if (!p->root_dir) + if (!root_dir) return path; - e = path_startswith(path, p->root_dir); + const char *e = path_startswith(path, root_dir); if (!e) return NULL; @@ -134,52 +131,52 @@ static const char* skip_root(const LookupPaths *p, const char *path) { return e; } -static int path_is_generator(const LookupPaths *p, const char *path) { +static int path_is_generator(const LookupPaths *lp, const char *path) { _cleanup_free_ char *parent = NULL; - assert(p); + assert(lp); assert(path); parent = dirname_malloc(path); if (!parent) return -ENOMEM; - return path_equal_ptr(parent, p->generator) || - path_equal_ptr(parent, p->generator_early) || - path_equal_ptr(parent, p->generator_late); + return path_equal_ptr(parent, lp->generator) || + path_equal_ptr(parent, lp->generator_early) || + path_equal_ptr(parent, lp->generator_late); } -static int path_is_transient(const LookupPaths *p, const char *path) { +static int path_is_transient(const LookupPaths *lp, const char *path) { _cleanup_free_ char *parent = NULL; - assert(p); + assert(lp); assert(path); parent = dirname_malloc(path); if (!parent) return -ENOMEM; - return path_equal_ptr(parent, p->transient); + return path_equal_ptr(parent, lp->transient); } -static int path_is_control(const LookupPaths *p, const char *path) { +static int path_is_control(const LookupPaths *lp, const char *path) { _cleanup_free_ char *parent = NULL; - assert(p); + assert(lp); assert(path); parent = dirname_malloc(path); if (!parent) return -ENOMEM; - return path_equal_ptr(parent, p->persistent_control) || - path_equal_ptr(parent, p->runtime_control); + return path_equal_ptr(parent, lp->persistent_control) || + path_equal_ptr(parent, lp->runtime_control); } -static int path_is_config(const LookupPaths *p, const char *path, bool check_parent) { +static int path_is_config(const LookupPaths *lp, const char *path, bool check_parent) { _cleanup_free_ char *parent = NULL; - assert(p); + assert(lp); assert(path); /* Note that we do *not* have generic checks for /etc or /run in place, since with @@ -193,21 +190,21 @@ static int path_is_config(const LookupPaths *p, const char *path, bool check_par path = parent; } - return path_equal_ptr(path, p->persistent_config) || - path_equal_ptr(path, p->runtime_config); + return path_equal_ptr(path, lp->persistent_config) || + path_equal_ptr(path, lp->runtime_config); } -static int path_is_runtime(const LookupPaths *p, const char *path, bool check_parent) { +static int path_is_runtime(const LookupPaths *lp, const char *path, bool check_parent) { _cleanup_free_ char *parent = NULL; const char *rpath; - assert(p); + assert(lp); assert(path); /* Everything in /run is considered runtime. On top of that we also add * explicit checks for the various runtime directories, as safety net. */ - rpath = skip_root(p, path); + rpath = skip_root(lp->root_dir, path); if (rpath && path_startswith(rpath, "/run")) return true; @@ -219,21 +216,21 @@ static int path_is_runtime(const LookupPaths *p, const char *path, bool check_pa path = parent; } - return path_equal_ptr(path, p->runtime_config) || - path_equal_ptr(path, p->generator) || - path_equal_ptr(path, p->generator_early) || - path_equal_ptr(path, p->generator_late) || - path_equal_ptr(path, p->transient) || - path_equal_ptr(path, p->runtime_control); + return path_equal_ptr(path, lp->runtime_config) || + path_equal_ptr(path, lp->generator) || + path_equal_ptr(path, lp->generator_early) || + path_equal_ptr(path, lp->generator_late) || + path_equal_ptr(path, lp->transient) || + path_equal_ptr(path, lp->runtime_control); } -static int path_is_vendor_or_generator(const LookupPaths *p, const char *path) { +static int path_is_vendor_or_generator(const LookupPaths *lp, const char *path) { const char *rpath; - assert(p); + assert(lp); assert(path); - rpath = skip_root(p, path); + rpath = skip_root(lp->root_dir, path); if (!rpath) return 0; @@ -245,19 +242,19 @@ static int path_is_vendor_or_generator(const LookupPaths *p, const char *path) { return true; #endif - if (path_is_generator(p, rpath)) + if (path_is_generator(lp, rpath)) return true; return path_equal(rpath, SYSTEM_DATA_UNIT_DIR); } -static const char* config_path_from_flags(const LookupPaths *paths, UnitFileFlags flags) { - assert(paths); +static const char* config_path_from_flags(const LookupPaths *lp, UnitFileFlags flags) { + assert(lp); if (FLAGS_SET(flags, UNIT_FILE_PORTABLE)) - return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? paths->runtime_attached : paths->persistent_attached; + return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? lp->runtime_attached : lp->persistent_attached; else - return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? paths->runtime_config : paths->persistent_config; + return FLAGS_SET(flags, UNIT_FILE_RUNTIME) ? lp->runtime_config : lp->persistent_config; } int unit_file_changes_add( @@ -435,7 +432,7 @@ static bool chroot_symlinks_same(const char *root, const char *wd, const char *a } static int create_symlink( - const LookupPaths *paths, + const LookupPaths *lp, const char *old_path, const char *new_path, bool force, @@ -449,7 +446,7 @@ static int create_symlink( assert(old_path); assert(new_path); - rp = skip_root(paths, old_path); + rp = skip_root(lp->root_dir, old_path); if (rp) old_path = rp; @@ -487,7 +484,7 @@ static int create_symlink( if (!dirname) return -ENOMEM; - if (chroot_symlinks_same(paths->root_dir, dirname, dest, old_path)) { + if (chroot_symlinks_same(lp->root_dir, dirname, dest, old_path)) { log_debug("Symlink %s → %s already exists", new_path, dest); return 1; } @@ -642,7 +639,7 @@ static int remove_marked_symlinks_fd( /* Now, remember the full path (but with the root prefix removed) of * the symlink we just removed, and remove any symlinks to it, too. */ - rp = skip_root(lp, p); + rp = skip_root(lp->root_dir, p); q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: p); if (q < 0) return q; @@ -861,7 +858,7 @@ static int find_symlinks( static int find_symlinks_in_scope( UnitFileScope scope, - const LookupPaths *paths, + const LookupPaths *lp, const UnitFileInstallInfo *i, bool match_name, UnitFileState *state) { @@ -872,23 +869,23 @@ static int find_symlinks_in_scope( char **p; int r; - assert(paths); + assert(lp); assert(i); - /* As we iterate over the list of search paths in paths->search_path, we may encounter "same name" + /* As we iterate over the list of search paths in lp->search_path, we may encounter "same name" * symlinks. The ones which are "below" (i.e. have lower priority) than the unit file itself are * effectively masked, so we should ignore them. */ - STRV_FOREACH(p, paths->search_path) { + STRV_FOREACH(p, lp->search_path) { bool same_name_link = false; - r = find_symlinks(paths->root_dir, i, match_name, ignore_same_name, *p, &same_name_link); + r = find_symlinks(lp->root_dir, i, match_name, ignore_same_name, *p, &same_name_link); if (r < 0) return r; if (r > 0) { /* We found symlinks in this dir? Yay! Let's see where precisely it is enabled. */ - if (path_equal_ptr(*p, paths->persistent_config)) { + if (path_equal_ptr(*p, lp->persistent_config)) { /* This is the best outcome, let's return it immediately. */ *state = UNIT_FILE_ENABLED; return 1; @@ -900,7 +897,7 @@ static int find_symlinks_in_scope( return 1; } - r = path_is_runtime(paths, *p, false); + r = path_is_runtime(lp, *p, false); if (r < 0) return r; if (r > 0) @@ -909,10 +906,10 @@ static int find_symlinks_in_scope( enabled_at_all = true; } else if (same_name_link) { - if (path_equal_ptr(*p, paths->persistent_config)) + if (path_equal_ptr(*p, lp->persistent_config)) same_name_link_config = true; else { - r = path_is_runtime(paths, *p, false); + r = path_is_runtime(lp, *p, false); if (r < 0) return r; if (r > 0) @@ -990,11 +987,11 @@ static UnitFileInstallInfo *install_info_find(InstallContext *c, const char *nam static int install_info_may_process( const UnitFileInstallInfo *i, - const LookupPaths *paths, + const LookupPaths *lp, UnitFileChange **changes, size_t *n_changes) { assert(i); - assert(paths); + assert(lp); /* Checks whether the loaded unit file is one we should process, or is masked, * transient or generated and thus not subject to enable/disable operations. */ @@ -1003,8 +1000,8 @@ static int install_info_may_process( unit_file_changes_add(changes, n_changes, -ERFKILL, i->path, NULL); return -ERFKILL; } - if (path_is_generator(paths, i->path) || - path_is_transient(paths, i->path)) { + if (path_is_generator(lp, i->path) || + path_is_transient(lp, i->path)) { unit_file_changes_add(changes, n_changes, -EADDRNOTAVAIL, i->path, NULL); return -EADDRNOTAVAIL; } @@ -1339,20 +1336,20 @@ static int unit_file_load_or_readlink( InstallContext *c, UnitFileInstallInfo *info, const char *path, - const char *root_dir, + const LookupPaths *lp, SearchFlags flags) { _cleanup_free_ char *resolved = NULL; int r; - r = unit_file_load(c, info, path, root_dir, flags); + r = unit_file_load(c, info, path, lp->root_dir, flags); if (r != -ELOOP || (flags & SEARCH_DROPIN)) return r; - r = chase_symlinks(path, root_dir, CHASE_WARN | CHASE_NONEXISTENT, &resolved, NULL); + r = chase_symlinks(path, lp->root_dir, CHASE_WARN | CHASE_NONEXISTENT, &resolved, NULL); if (r >= 0 && - root_dir && - path_equal_ptr(path_startswith(resolved, root_dir), "dev/null")) + lp->root_dir && + path_equal_ptr(path_startswith(resolved, lp->root_dir), "dev/null")) /* When looking under root_dir, we can't expect /dev/ to be mounted, * so let's see if the path is a (possibly dangling) symlink to /dev/null. */ info->type = UNIT_FILE_TYPE_MASKED; @@ -1402,7 +1399,7 @@ static int unit_file_load_or_readlink( if (path_is_absolute(target)) /* This is an absolute path, prefix the root so that we always deal with fully qualified paths */ - info->symlink_target = path_join(root_dir, target); + info->symlink_target = path_join(lp->root_dir, target); else /* This is a relative path, take it relative to the dir the symlink is located in. */ info->symlink_target = file_in_same_dir(path, target); @@ -1418,7 +1415,7 @@ static int unit_file_load_or_readlink( static int unit_file_search( InstallContext *c, UnitFileInstallInfo *info, - const LookupPaths *paths, + const LookupPaths *lp, SearchFlags flags) { const char *dropin_dir_name = NULL, *dropin_template_dir_name = NULL; @@ -1429,14 +1426,14 @@ static int unit_file_search( char **p; assert(info); - assert(paths); + assert(lp); /* Was this unit already loaded? */ if (info->type != _UNIT_FILE_TYPE_INVALID) return 0; if (info->path) - return unit_file_load_or_readlink(c, info, info->path, paths->root_dir, flags); + return unit_file_load_or_readlink(c, info, info->path, lp, flags); assert(info->name); @@ -1446,14 +1443,14 @@ static int unit_file_search( return r; } - STRV_FOREACH(p, paths->search_path) { + STRV_FOREACH(p, lp->search_path) { _cleanup_free_ char *path = NULL; path = path_join(*p, info->name); if (!path) return -ENOMEM; - r = unit_file_load_or_readlink(c, info, path, paths->root_dir, flags); + r = unit_file_load_or_readlink(c, info, path, lp, flags); if (r >= 0) { info->path = TAKE_PTR(path); result = r; @@ -1469,14 +1466,14 @@ static int unit_file_search( * enablement was requested. We will check if it is * possible to load template unit file. */ - STRV_FOREACH(p, paths->search_path) { + STRV_FOREACH(p, lp->search_path) { _cleanup_free_ char *path = NULL; path = path_join(*p, template); if (!path) return -ENOMEM; - r = unit_file_load_or_readlink(c, info, path, paths->root_dir, flags); + r = unit_file_load_or_readlink(c, info, path, lp, flags); if (r >= 0) { info->path = TAKE_PTR(path); result = r; @@ -1498,7 +1495,7 @@ static int unit_file_search( /* Search for drop-in directories */ dropin_dir_name = strjoina(info->name, ".d"); - STRV_FOREACH(p, paths->search_path) { + STRV_FOREACH(p, lp->search_path) { char *path; path = path_join(*p, dropin_dir_name); @@ -1512,7 +1509,7 @@ static int unit_file_search( if (template) { dropin_template_dir_name = strjoina(template, ".d"); - STRV_FOREACH(p, paths->search_path) { + STRV_FOREACH(p, lp->search_path) { char *path; path = path_join(*p, dropin_template_dir_name); @@ -1532,7 +1529,7 @@ static int unit_file_search( return log_debug_errno(r, "Failed to get list of conf files: %m"); STRV_FOREACH(p, files) { - r = unit_file_load_or_readlink(c, info, *p, paths->root_dir, flags | SEARCH_DROPIN); + r = unit_file_load_or_readlink(c, info, *p, lp, flags | SEARCH_DROPIN); if (r < 0) return log_debug_errno(r, "Failed to load conf file %s: %m", *p); } @@ -1543,7 +1540,7 @@ static int unit_file_search( static int install_info_follow( InstallContext *c, UnitFileInstallInfo *i, - const char *root_dir, + const LookupPaths *lp, SearchFlags flags, bool ignore_different_name) { @@ -1564,7 +1561,7 @@ static int install_info_follow( free_and_replace(i->path, i->symlink_target); i->type = _UNIT_FILE_TYPE_INVALID; - return unit_file_load_or_readlink(c, i, i->path, root_dir, flags); + return unit_file_load_or_readlink(c, i, i->path, lp, flags); } /** @@ -1574,7 +1571,7 @@ static int install_info_follow( static int install_info_traverse( UnitFileScope scope, InstallContext *c, - const LookupPaths *paths, + const LookupPaths *lp, UnitFileInstallInfo *start, SearchFlags flags, UnitFileInstallInfo **ret) { @@ -1583,11 +1580,11 @@ static int install_info_traverse( unsigned k = 0; int r; - assert(paths); + assert(lp); assert(start); assert(c); - r = unit_file_search(c, start, paths, flags); + r = unit_file_search(c, start, lp, flags); if (r < 0) return r; @@ -1599,14 +1596,14 @@ static int install_info_traverse( return -ELOOP; if (!(flags & SEARCH_FOLLOW_CONFIG_SYMLINKS)) { - r = path_is_config(paths, i->path, true); + r = path_is_config(lp, i->path, true); if (r < 0) return r; if (r > 0) return -ELOOP; } - r = install_info_follow(c, i, paths->root_dir, flags, false); + r = install_info_follow(c, i, lp, flags, false); if (r == -EXDEV) { _cleanup_free_ char *buffer = NULL; const char *bn; @@ -1635,7 +1632,7 @@ static int install_info_traverse( /* We filled in the instance, and the target stayed the same? If so, then let's * honour the link as it is. */ - r = install_info_follow(c, i, paths->root_dir, flags, true); + r = install_info_follow(c, i, lp, flags, true); if (r < 0) return r; @@ -1645,12 +1642,12 @@ static int install_info_traverse( bn = buffer; } - r = install_info_add(c, bn, NULL, paths->root_dir, /* auxiliary= */ false, &i); + r = install_info_add(c, bn, NULL, lp->root_dir, /* auxiliary= */ false, &i); if (r < 0) return r; /* Try again, with the new target we found. */ - r = unit_file_search(c, i, paths, flags); + r = unit_file_search(c, i, lp, flags); if (r == -ENOENT) /* Translate error code to highlight this specific case */ return -ENOLINK; @@ -1672,7 +1669,7 @@ static int install_info_traverse( */ static int install_info_add_auto( InstallContext *c, - const LookupPaths *paths, + const LookupPaths *lp, const char *name_or_path, UnitFileInstallInfo **ret) { @@ -1682,17 +1679,17 @@ static int install_info_add_auto( if (path_is_absolute(name_or_path)) { const char *pp; - pp = prefix_roota(paths->root_dir, name_or_path); + pp = prefix_roota(lp->root_dir, name_or_path); - return install_info_add(c, NULL, pp, paths->root_dir, /* auxiliary= */ false, ret); + return install_info_add(c, NULL, pp, lp->root_dir, /* auxiliary= */ false, ret); } else - return install_info_add(c, name_or_path, NULL, paths->root_dir, /* auxiliary= */ false, ret); + return install_info_add(c, name_or_path, NULL, lp->root_dir, /* auxiliary= */ false, ret); } static int install_info_discover( UnitFileScope scope, InstallContext *c, - const LookupPaths *paths, + const LookupPaths *lp, const char *name, SearchFlags flags, UnitFileInstallInfo **ret, @@ -1703,12 +1700,12 @@ static int install_info_discover( int r; assert(c); - assert(paths); + assert(lp); assert(name); - r = install_info_add_auto(c, paths, name, &i); + r = install_info_add_auto(c, lp, name, &i); if (r >= 0) - r = install_info_traverse(scope, c, paths, i, flags, ret); + r = install_info_traverse(scope, c, lp, i, flags, ret); if (r < 0) unit_file_changes_add(changes, n_changes, r, name, NULL); @@ -1718,7 +1715,7 @@ static int install_info_discover( static int install_info_discover_and_check( UnitFileScope scope, InstallContext *c, - const LookupPaths *paths, + const LookupPaths *lp, const char *name, SearchFlags flags, UnitFileInstallInfo **ret, @@ -1727,11 +1724,11 @@ static int install_info_discover_and_check( int r; - r = install_info_discover(scope, c, paths, name, flags, ret, changes, n_changes); + r = install_info_discover(scope, c, lp, name, flags, ret, changes, n_changes); if (r < 0) return r; - return install_info_may_process(ret ? *ret : NULL, paths, changes, n_changes); + return install_info_may_process(ret ? *ret : NULL, lp, changes, n_changes); } int unit_file_verify_alias(const UnitFileInstallInfo *i, const char *dst, char **ret_dst) { @@ -1812,7 +1809,7 @@ int unit_file_verify_alias(const UnitFileInstallInfo *i, const char *dst, char * static int install_info_symlink_alias( UnitFileInstallInfo *i, - const LookupPaths *paths, + const LookupPaths *lp, const char *config_path, bool force, UnitFileChange **changes, @@ -1822,7 +1819,7 @@ static int install_info_symlink_alias( int r = 0, q; assert(i); - assert(paths); + assert(lp); assert(config_path); STRV_FOREACH(s, i->aliases) { @@ -1840,7 +1837,7 @@ static int install_info_symlink_alias( if (!alias_path) return -ENOMEM; - q = create_symlink(paths, i->path, alias_path, force, changes, n_changes); + q = create_symlink(lp, i->path, alias_path, force, changes, n_changes); if (r == 0) r = q; } @@ -1852,7 +1849,7 @@ static int install_info_symlink_wants( UnitFileScope scope, UnitFileFlags file_flags, UnitFileInstallInfo *i, - const LookupPaths *paths, + const LookupPaths *lp, const char *config_path, char **list, const char *suffix, @@ -1866,7 +1863,7 @@ static int install_info_symlink_wants( int r = 0, q; assert(i); - assert(paths); + assert(lp); assert(config_path); if (strv_isempty(list)) @@ -1889,7 +1886,7 @@ static int install_info_symlink_wants( return r; instance.name = buf; - r = unit_file_search(NULL, &instance, paths, SEARCH_FOLLOW_CONFIG_SYMLINKS); + r = unit_file_search(NULL, &instance, lp, SEARCH_FOLLOW_CONFIG_SYMLINKS); if (r < 0) return r; @@ -1943,11 +1940,11 @@ static int install_info_symlink_wants( if (!path) return -ENOMEM; - q = create_symlink(paths, i->path, path, true, changes, n_changes); + q = create_symlink(lp, i->path, path, true, changes, n_changes); if (r == 0) r = q; - if (unit_file_exists(scope, paths, dst) == 0) + if (unit_file_exists(scope, lp, dst) == 0) unit_file_changes_add(changes, n_changes, UNIT_FILE_DESTINATION_NOT_PRESENT, dst, i->path); } @@ -1956,7 +1953,7 @@ static int install_info_symlink_wants( static int install_info_symlink_link( UnitFileInstallInfo *i, - const LookupPaths *paths, + const LookupPaths *lp, const char *config_path, bool force, UnitFileChange **changes, @@ -1966,11 +1963,11 @@ static int install_info_symlink_link( int r; assert(i); - assert(paths); + assert(lp); assert(config_path); assert(i->path); - r = in_search_path(paths, i->path); + r = in_search_path(lp, i->path); if (r < 0) return r; if (r > 0) @@ -1980,14 +1977,14 @@ static int install_info_symlink_link( if (!path) return -ENOMEM; - return create_symlink(paths, i->path, path, force, changes, n_changes); + return create_symlink(lp, i->path, path, force, changes, n_changes); } static int install_info_apply( UnitFileScope scope, UnitFileFlags file_flags, UnitFileInstallInfo *i, - const LookupPaths *paths, + const LookupPaths *lp, const char *config_path, UnitFileChange **changes, size_t *n_changes) { @@ -1995,7 +1992,7 @@ static int install_info_apply( int r, q; assert(i); - assert(paths); + assert(lp); assert(config_path); if (i->type != UNIT_FILE_TYPE_REGULAR) @@ -2003,17 +2000,17 @@ static int install_info_apply( bool force = file_flags & UNIT_FILE_FORCE; - r = install_info_symlink_alias(i, paths, config_path, force, changes, n_changes); + r = install_info_symlink_alias(i, lp, config_path, force, changes, n_changes); - q = install_info_symlink_wants(scope, file_flags, i, paths, config_path, i->wanted_by, ".wants/", changes, n_changes); + q = install_info_symlink_wants(scope, file_flags, i, lp, config_path, i->wanted_by, ".wants/", changes, n_changes); if (r == 0) r = q; - q = install_info_symlink_wants(scope, file_flags, i, paths, config_path, i->required_by, ".requires/", changes, n_changes); + q = install_info_symlink_wants(scope, file_flags, i, lp, config_path, i->required_by, ".requires/", changes, n_changes); if (r == 0) r = q; - q = install_info_symlink_link(i, paths, config_path, force, changes, n_changes); + q = install_info_symlink_link(i, lp, config_path, force, changes, n_changes); /* Do not count links to the unit file towards the "carries_install_info" count */ if (r == 0 && q < 0) r = q; @@ -2025,7 +2022,7 @@ static int install_context_apply( UnitFileScope scope, UnitFileFlags file_flags, InstallContext *c, - const LookupPaths *paths, + const LookupPaths *lp, const char *config_path, SearchFlags flags, UnitFileChange **changes, @@ -2035,7 +2032,7 @@ static int install_context_apply( int r; assert(c); - assert(paths); + assert(lp); assert(config_path); if (ordered_hashmap_isempty(c->will_process)) @@ -2053,7 +2050,7 @@ static int install_context_apply( if (q < 0) return q; - q = install_info_traverse(scope, c, paths, i, flags, NULL); + q = install_info_traverse(scope, c, lp, i, flags, NULL); if (q < 0) { if (i->auxiliary) { q = unit_file_changes_add(changes, n_changes, UNIT_FILE_AUXILIARY_FAILED, NULL, i->name); @@ -2080,7 +2077,7 @@ static int install_context_apply( if (i->type != UNIT_FILE_TYPE_REGULAR) continue; - q = install_info_apply(scope, file_flags, i, paths, config_path, changes, n_changes); + q = install_info_apply(scope, file_flags, i, lp, config_path, changes, n_changes); if (r >= 0) { if (q < 0) r = q; @@ -2095,7 +2092,7 @@ static int install_context_apply( static int install_context_mark_for_removal( UnitFileScope scope, InstallContext *c, - const LookupPaths *paths, + const LookupPaths *lp, Set **remove_symlinks_to, const char *config_path, UnitFileChange **changes, @@ -2105,7 +2102,7 @@ static int install_context_mark_for_removal( int r; assert(c); - assert(paths); + assert(lp); assert(config_path); /* Marks all items for removal */ @@ -2123,7 +2120,7 @@ static int install_context_mark_for_removal( if (r < 0) return r; - r = install_info_traverse(scope, c, paths, i, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, NULL); + r = install_info_traverse(scope, c, lp, i, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, NULL); if (r == -ENOLINK) { log_debug_errno(r, "Name %s leads to a dangling symlink, removing name.", i->name); unit_file_changes_add(changes, n_changes, UNIT_FILE_IS_DANGLING, i->path ?: i->name, NULL); @@ -2164,7 +2161,7 @@ int unit_file_mask( UnitFileChange **changes, size_t *n_changes) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; const char *config_path; char **i; int r; @@ -2172,11 +2169,11 @@ int unit_file_mask( assert(scope >= 0); assert(scope < _UNIT_FILE_SCOPE_MAX); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config; + config_path = (flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config; if (!config_path) return -ENXIO; @@ -2194,7 +2191,7 @@ int unit_file_mask( if (!path) return -ENOMEM; - q = create_symlink(&paths, "/dev/null", path, !!(flags & UNIT_FILE_FORCE), changes, n_changes); + q = create_symlink(&lp, "/dev/null", path, !!(flags & UNIT_FILE_FORCE), changes, n_changes); if (q < 0 && r >= 0) r = q; } @@ -2210,7 +2207,7 @@ int unit_file_unmask( UnitFileChange **changes, size_t *n_changes) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_set_free_free_ Set *remove_symlinks_to = NULL; _cleanup_strv_free_ char **todo = NULL; const char *config_path; @@ -2222,11 +2219,11 @@ int unit_file_unmask( assert(scope >= 0); assert(scope < _UNIT_FILE_SCOPE_MAX); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config; + config_path = (flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config; if (!config_path) return -ENXIO; @@ -2283,13 +2280,13 @@ int unit_file_unmask( unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, path, NULL); - rp = skip_root(&paths, path); + rp = skip_root(lp.root_dir, path); q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: path); if (q < 0) return q; } - q = remove_marked_symlinks(remove_symlinks_to, config_path, &paths, dry_run, changes, n_changes); + q = remove_marked_symlinks(remove_symlinks_to, config_path, &lp, dry_run, changes, n_changes); if (r >= 0) r = q; @@ -2304,7 +2301,7 @@ int unit_file_link( UnitFileChange **changes, size_t *n_changes) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_strv_free_ char **todo = NULL; const char *config_path; size_t n_todo = 0; @@ -2314,11 +2311,11 @@ int unit_file_link( assert(scope >= 0); assert(scope < _UNIT_FILE_SCOPE_MAX); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config; + config_path = (flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config; if (!config_path) return -ENXIO; @@ -2334,7 +2331,7 @@ int unit_file_link( if (!unit_name_is_valid(fn, UNIT_NAME_ANY)) return -EINVAL; - full = path_join(paths.root_dir, *i); + full = path_join(lp.root_dir, *i); if (!full) return -ENOMEM; @@ -2344,7 +2341,7 @@ int unit_file_link( if (r < 0) return r; - q = in_search_path(&paths, *i); + q = in_search_path(&lp, *i); if (q < 0) return q; if (q > 0) @@ -2370,7 +2367,7 @@ int unit_file_link( if (!new_path) return -ENOMEM; - q = create_symlink(&paths, *i, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes); + q = create_symlink(&lp, *i, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes); if (q < 0 && r >= 0) r = q; } @@ -2378,23 +2375,23 @@ int unit_file_link( return r; } -static int path_shall_revert(const LookupPaths *paths, const char *path) { +static int path_shall_revert(const LookupPaths *lp, const char *path) { int r; - assert(paths); + assert(lp); assert(path); /* Checks whether the path is one where the drop-in directories shall be removed. */ - r = path_is_config(paths, path, true); + r = path_is_config(lp, path, true); if (r != 0) return r; - r = path_is_control(paths, path); + r = path_is_control(lp, path); if (r != 0) return r; - return path_is_transient(paths, path); + return path_is_transient(lp, path); } int unit_file_revert( @@ -2405,7 +2402,7 @@ int unit_file_revert( size_t *n_changes) { _cleanup_set_free_free_ Set *remove_symlinks_to = NULL; - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_strv_free_ char **todo = NULL; size_t n_todo = 0; char **i; @@ -2422,7 +2419,7 @@ int unit_file_revert( * We remove all that in both the runtime and the persistent directories, if that applies. */ - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; @@ -2433,7 +2430,7 @@ int unit_file_revert( if (!unit_name_is_valid(*i, UNIT_NAME_ANY)) return -EINVAL; - STRV_FOREACH(p, paths.search_path) { + STRV_FOREACH(p, lp.search_path) { _cleanup_free_ char *path = NULL, *dropin = NULL; struct stat st; @@ -2447,7 +2444,7 @@ int unit_file_revert( return -errno; } else if (S_ISREG(st.st_mode)) { /* Check if there's a vendor version */ - r = path_is_vendor_or_generator(&paths, path); + r = path_is_vendor_or_generator(&lp, path); if (r < 0) return r; if (r > 0) @@ -2464,7 +2461,7 @@ int unit_file_revert( return -errno; } else if (S_ISDIR(st.st_mode)) { /* Remove the drop-ins */ - r = path_shall_revert(&paths, dropin); + r = path_shall_revert(&lp, dropin); if (r < 0) return r; if (r > 0) { @@ -2480,7 +2477,7 @@ int unit_file_revert( continue; /* OK, there's a vendor version, hence drop all configuration versions */ - STRV_FOREACH(p, paths.search_path) { + STRV_FOREACH(p, lp.search_path) { _cleanup_free_ char *path = NULL; struct stat st; @@ -2493,7 +2490,7 @@ int unit_file_revert( if (errno != ENOENT) return -errno; } else if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) { - r = path_is_config(&paths, path, true); + r = path_is_config(&lp, path, true); if (r < 0) return r; if (r > 0) { @@ -2534,17 +2531,17 @@ int unit_file_revert( unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, *i, NULL); - rp = skip_root(&paths, *i); + rp = skip_root(lp.root_dir, *i); q = mark_symlink_for_removal(&remove_symlinks_to, rp ?: *i); if (q < 0) return q; } - q = remove_marked_symlinks(remove_symlinks_to, paths.runtime_config, &paths, false, changes, n_changes); + q = remove_marked_symlinks(remove_symlinks_to, lp.runtime_config, &lp, false, changes, n_changes); if (r >= 0) r = q; - q = remove_marked_symlinks(remove_symlinks_to, paths.persistent_config, &paths, false, changes, n_changes); + q = remove_marked_symlinks(remove_symlinks_to, lp.persistent_config, &lp, false, changes, n_changes); if (r >= 0) r = q; @@ -2561,7 +2558,7 @@ int unit_file_add_dependency( UnitFileChange **changes, size_t *n_changes) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_(install_context_done) InstallContext c = {}; UnitFileInstallInfo *i, *target_info; const char *config_path; @@ -2578,15 +2575,15 @@ int unit_file_add_dependency( if (!unit_name_is_valid(target, UNIT_NAME_ANY)) return -EINVAL; - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = (file_flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config; + config_path = (file_flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config; if (!config_path) return -ENXIO; - r = install_info_discover_and_check(scope, &c, &paths, target, SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover_and_check(scope, &c, &lp, target, SEARCH_FOLLOW_CONFIG_SYMLINKS, &target_info, changes, n_changes); if (r < 0) return r; @@ -2596,7 +2593,7 @@ int unit_file_add_dependency( STRV_FOREACH(f, files) { char ***l; - r = install_info_discover_and_check(scope, &c, &paths, *f, SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover_and_check(scope, &c, &lp, *f, SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, changes, n_changes); if (r < 0) return r; @@ -2618,7 +2615,7 @@ int unit_file_add_dependency( return -ENOMEM; } - return install_context_apply(scope, file_flags, &c, &paths, config_path, + return install_context_apply(scope, file_flags, &c, &lp, config_path, SEARCH_FOLLOW_CONFIG_SYMLINKS, changes, n_changes); } @@ -2630,7 +2627,7 @@ int unit_file_enable( UnitFileChange **changes, size_t *n_changes) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_(install_context_done) InstallContext c = {}; const char *config_path; UnitFileInstallInfo *i; @@ -2640,16 +2637,16 @@ int unit_file_enable( assert(scope >= 0); assert(scope < _UNIT_FILE_SCOPE_MAX); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = config_path_from_flags(&paths, file_flags); + config_path = config_path_from_flags(&lp, file_flags); if (!config_path) return -ENXIO; STRV_FOREACH(f, files) { - r = install_info_discover_and_check(scope, &c, &paths, *f, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover_and_check(scope, &c, &lp, *f, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, changes, n_changes); if (r < 0) return r; @@ -2662,7 +2659,7 @@ int unit_file_enable( is useful to determine whether the passed files had any installation data at all. */ - return install_context_apply(scope, file_flags, &c, &paths, config_path, SEARCH_LOAD, changes, n_changes); + return install_context_apply(scope, file_flags, &c, &lp, config_path, SEARCH_LOAD, changes, n_changes); } int unit_file_disable( @@ -2673,7 +2670,7 @@ int unit_file_disable( UnitFileChange **changes, size_t *n_changes) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_(install_context_done) InstallContext c = {}; _cleanup_set_free_free_ Set *remove_symlinks_to = NULL; const char *config_path; @@ -2683,11 +2680,11 @@ int unit_file_disable( assert(scope >= 0); assert(scope < _UNIT_FILE_SCOPE_MAX); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = config_path_from_flags(&paths, flags); + config_path = config_path_from_flags(&lp, flags); if (!config_path) return -ENXIO; @@ -2695,16 +2692,16 @@ int unit_file_disable( if (!unit_name_is_valid(*i, UNIT_NAME_ANY)) return -EINVAL; - r = install_info_add(&c, *i, NULL, paths.root_dir, /* auxiliary= */ false, NULL); + r = install_info_add(&c, *i, NULL, lp.root_dir, /* auxiliary= */ false, NULL); if (r < 0) return r; } - r = install_context_mark_for_removal(scope, &c, &paths, &remove_symlinks_to, config_path, changes, n_changes); + r = install_context_mark_for_removal(scope, &c, &lp, &remove_symlinks_to, config_path, changes, n_changes); if (r < 0) return r; - return remove_marked_symlinks(remove_symlinks_to, config_path, &paths, !!(flags & UNIT_FILE_DRY_RUN), changes, n_changes); + return remove_marked_symlinks(remove_symlinks_to, config_path, &lp, !!(flags & UNIT_FILE_DRY_RUN), changes, n_changes); } int unit_file_reenable( @@ -2742,7 +2739,7 @@ int unit_file_set_default( UnitFileChange **changes, size_t *n_changes) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_(install_context_done) InstallContext c = {}; UnitFileInstallInfo *i; const char *new_path; @@ -2757,16 +2754,16 @@ int unit_file_set_default( if (streq(name, SPECIAL_DEFAULT_TARGET)) return -EINVAL; - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - r = install_info_discover_and_check(scope, &c, &paths, name, 0, &i, changes, n_changes); + r = install_info_discover_and_check(scope, &c, &lp, name, 0, &i, changes, n_changes); if (r < 0) return r; - new_path = strjoina(paths.persistent_config, "/" SPECIAL_DEFAULT_TARGET); - return create_symlink(&paths, i->path, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes); + new_path = strjoina(lp.persistent_config, "/" SPECIAL_DEFAULT_TARGET); + return create_symlink(&lp, i->path, new_path, !!(flags & UNIT_FILE_FORCE), changes, n_changes); } int unit_file_get_default( @@ -2774,7 +2771,7 @@ int unit_file_get_default( const char *root_dir, char **name) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_(install_context_done) InstallContext c = {}; UnitFileInstallInfo *i; char *n; @@ -2784,15 +2781,15 @@ int unit_file_get_default( assert(scope < _UNIT_FILE_SCOPE_MAX); assert(name); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - r = install_info_discover(scope, &c, &paths, SPECIAL_DEFAULT_TARGET, SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover(scope, &c, &lp, SPECIAL_DEFAULT_TARGET, SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, NULL, NULL); if (r < 0) return r; - r = install_info_may_process(i, &paths, NULL, 0); + r = install_info_may_process(i, &lp, NULL, 0); if (r < 0) return r; @@ -2806,7 +2803,7 @@ int unit_file_get_default( int unit_file_lookup_state( UnitFileScope scope, - const LookupPaths *paths, + const LookupPaths *lp, const char *name, UnitFileState *ret) { @@ -2815,13 +2812,13 @@ int unit_file_lookup_state( UnitFileState state; int r; - assert(paths); + assert(lp); assert(name); if (!unit_name_is_valid(name, UNIT_NAME_ANY)) return -EINVAL; - r = install_info_discover(scope, &c, paths, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover(scope, &c, lp, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, NULL, NULL); if (r < 0) return log_debug_errno(r, "Failed to discover unit %s: %m", name); @@ -2837,7 +2834,7 @@ int unit_file_lookup_state( switch (i->type) { case UNIT_FILE_TYPE_MASKED: - r = path_is_runtime(paths, i->path, true); + r = path_is_runtime(lp, i->path, true); if (r < 0) return r; @@ -2851,7 +2848,7 @@ int unit_file_lookup_state( break; } - r = path_is_generator(paths, i->path); + r = path_is_generator(lp, i->path); if (r < 0) return r; if (r > 0) { @@ -2859,7 +2856,7 @@ int unit_file_lookup_state( break; } - r = path_is_transient(paths, i->path); + r = path_is_transient(lp, i->path); if (r < 0) return r; if (r > 0) { @@ -2870,7 +2867,7 @@ int unit_file_lookup_state( /* Check if any of the Alias= symlinks have been created. * We ignore other aliases, and only check those that would * be created by systemctl enable for this unit. */ - r = find_symlinks_in_scope(scope, paths, i, true, &state); + r = find_symlinks_in_scope(scope, lp, i, true, &state); if (r < 0) return r; if (r > 0) @@ -2878,7 +2875,7 @@ int unit_file_lookup_state( /* Check if the file is known under other names. If it is, * it might be in use. Report that as UNIT_FILE_INDIRECT. */ - r = find_symlinks_in_scope(scope, paths, i, false, &state); + r = find_symlinks_in_scope(scope, lp, i, false, &state); if (r < 0) return r; if (r > 0) @@ -2908,31 +2905,31 @@ int unit_file_get_state( const char *name, UnitFileState *ret) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; int r; assert(scope >= 0); assert(scope < _UNIT_FILE_SCOPE_MAX); assert(name); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - return unit_file_lookup_state(scope, &paths, name, ret); + return unit_file_lookup_state(scope, &lp, name, ret); } -int unit_file_exists(UnitFileScope scope, const LookupPaths *paths, const char *name) { +int unit_file_exists(UnitFileScope scope, const LookupPaths *lp, const char *name) { _cleanup_(install_context_done) InstallContext c = {}; int r; - assert(paths); + assert(lp); assert(name); if (!unit_name_is_valid(name, UNIT_NAME_ANY)) return -EINVAL; - r = install_info_discover(scope, &c, paths, name, 0, NULL, NULL, NULL); + r = install_info_discover(scope, &c, lp, name, 0, NULL, NULL, NULL); if (r == -ENOENT) return 0; if (r < 0) @@ -3195,7 +3192,7 @@ static int execute_preset( UnitFileFlags file_flags, InstallContext *plus, InstallContext *minus, - const LookupPaths *paths, + const LookupPaths *lp, const char *config_path, char **files, UnitFilePresetMode mode, @@ -3206,17 +3203,17 @@ static int execute_preset( assert(plus); assert(minus); - assert(paths); + assert(lp); assert(config_path); if (mode != UNIT_FILE_PRESET_ENABLE_ONLY) { _cleanup_set_free_free_ Set *remove_symlinks_to = NULL; - r = install_context_mark_for_removal(scope, minus, paths, &remove_symlinks_to, config_path, changes, n_changes); + r = install_context_mark_for_removal(scope, minus, lp, &remove_symlinks_to, config_path, changes, n_changes); if (r < 0) return r; - r = remove_marked_symlinks(remove_symlinks_to, config_path, paths, false, changes, n_changes); + r = remove_marked_symlinks(remove_symlinks_to, config_path, lp, false, changes, n_changes); } else r = 0; @@ -3226,7 +3223,7 @@ static int execute_preset( /* Returns number of symlinks that where supposed to be installed. */ q = install_context_apply(scope, file_flags | UNIT_FILE_IGNORE_AUXILIARY_FAILURE, - plus, paths, config_path, SEARCH_LOAD, changes, n_changes); + plus, lp, config_path, SEARCH_LOAD, changes, n_changes); if (r >= 0) { if (q < 0) r = q; @@ -3242,7 +3239,7 @@ static int preset_prepare_one( UnitFileScope scope, InstallContext *plus, InstallContext *minus, - LookupPaths *paths, + LookupPaths *lp, const char *name, const UnitFilePresets *presets, UnitFileChange **changes, @@ -3256,7 +3253,7 @@ static int preset_prepare_one( if (install_info_find(plus, name) || install_info_find(minus, name)) return 0; - r = install_info_discover(scope, &tmp, paths, name, SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover(scope, &tmp, lp, name, SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, changes, n_changes); if (r < 0) return r; @@ -3273,20 +3270,20 @@ static int preset_prepare_one( if (instance_name_list) { char **s; STRV_FOREACH(s, instance_name_list) { - r = install_info_discover_and_check(scope, plus, paths, *s, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover_and_check(scope, plus, lp, *s, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, changes, n_changes); if (r < 0) return r; } } else { - r = install_info_discover_and_check(scope, plus, paths, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover_and_check(scope, plus, lp, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, changes, n_changes); if (r < 0) return r; } } else - r = install_info_discover(scope, minus, paths, name, SEARCH_FOLLOW_CONFIG_SYMLINKS, + r = install_info_discover(scope, minus, lp, name, SEARCH_FOLLOW_CONFIG_SYMLINKS, &i, changes, n_changes); return r; @@ -3302,7 +3299,7 @@ int unit_file_preset( size_t *n_changes) { _cleanup_(install_context_done) InstallContext plus = {}, minus = {}; - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_(unit_file_presets_freep) UnitFilePresets presets = {}; const char *config_path; char **i; @@ -3312,11 +3309,11 @@ int unit_file_preset( assert(scope < _UNIT_FILE_SCOPE_MAX); assert(mode < _UNIT_FILE_PRESET_MAX); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = (file_flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config; + config_path = (file_flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config; if (!config_path) return -ENXIO; @@ -3325,12 +3322,12 @@ int unit_file_preset( return r; STRV_FOREACH(i, files) { - r = preset_prepare_one(scope, &plus, &minus, &paths, *i, &presets, changes, n_changes); + r = preset_prepare_one(scope, &plus, &minus, &lp, *i, &presets, changes, n_changes); if (r < 0) return r; } - return execute_preset(scope, file_flags, &plus, &minus, &paths, config_path, files, mode, changes, n_changes); + return execute_preset(scope, file_flags, &plus, &minus, &lp, config_path, files, mode, changes, n_changes); } int unit_file_preset_all( @@ -3342,7 +3339,7 @@ int unit_file_preset_all( size_t *n_changes) { _cleanup_(install_context_done) InstallContext plus = {}, minus = {}; - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; _cleanup_(unit_file_presets_freep) UnitFilePresets presets = {}; const char *config_path = NULL; char **i; @@ -3352,11 +3349,11 @@ int unit_file_preset_all( assert(scope < _UNIT_FILE_SCOPE_MAX); assert(mode < _UNIT_FILE_PRESET_MAX); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - config_path = (file_flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config; + config_path = (file_flags & UNIT_FILE_RUNTIME) ? lp.runtime_config : lp.persistent_config; if (!config_path) return -ENXIO; @@ -3364,7 +3361,7 @@ int unit_file_preset_all( if (r < 0) return r; - STRV_FOREACH(i, paths.search_path) { + STRV_FOREACH(i, lp.search_path) { _cleanup_closedir_ DIR *d = NULL; d = opendir(*i); @@ -3383,7 +3380,7 @@ int unit_file_preset_all( if (!IN_SET(de->d_type, DT_LNK, DT_REG)) continue; - r = preset_prepare_one(scope, &plus, &minus, &paths, de->d_name, &presets, changes, n_changes); + r = preset_prepare_one(scope, &plus, &minus, &lp, de->d_name, &presets, changes, n_changes); if (r < 0 && !IN_SET(r, -EEXIST, -ERFKILL, -EADDRNOTAVAIL, -EIDRM, -EUCLEAN, -ELOOP, -ENOENT)) /* Ignore generated/transient/missing/invalid units when applying preset, propagate other errors. @@ -3392,7 +3389,7 @@ int unit_file_preset_all( } } - return execute_preset(scope, file_flags, &plus, &minus, &paths, config_path, NULL, mode, changes, n_changes); + return execute_preset(scope, file_flags, &plus, &minus, &lp, config_path, NULL, mode, changes, n_changes); } static UnitFileList* unit_file_list_free_one(UnitFileList *f) { @@ -3416,7 +3413,7 @@ int unit_file_get_list( char **states, char **patterns) { - _cleanup_(lookup_paths_free) LookupPaths paths = {}; + _cleanup_(lookup_paths_free) LookupPaths lp = {}; char **dirname; int r; @@ -3424,11 +3421,11 @@ int unit_file_get_list( assert(scope < _UNIT_FILE_SCOPE_MAX); assert(h); - r = lookup_paths_init(&paths, scope, 0, root_dir); + r = lookup_paths_init(&lp, scope, 0, root_dir); if (r < 0) return r; - STRV_FOREACH(dirname, paths.search_path) { + STRV_FOREACH(dirname, lp.search_path) { _cleanup_closedir_ DIR *d = NULL; d = opendir(*dirname); @@ -3466,7 +3463,7 @@ int unit_file_get_list( if (!f->path) return -ENOMEM; - r = unit_file_lookup_state(scope, &paths, de->d_name, &f->state); + r = unit_file_lookup_state(scope, &lp, de->d_name, &f->state); if (r < 0) f->state = UNIT_FILE_BAD; |