diff options
author | Ruixin Bao <rubao@redhat.com> | 2018-08-26 22:00:03 +0200 |
---|---|---|
committer | Ruixin Bao <rubao@redhat.com> | 2018-08-28 01:56:31 +0200 |
commit | 1e475a0ab4c46eb07f3df3fb24f5a7c3e1fa20b1 (patch) | |
tree | e71df2370e81343fb5539570c65395bff4f3ea83 /src/shared/install.c | |
parent | install: allow instantiated units to be enabled via presets (diff) | |
download | systemd-1e475a0ab4c46eb07f3df3fb24f5a7c3e1fa20b1.tar.xz systemd-1e475a0ab4c46eb07f3df3fb24f5a7c3e1fa20b1.zip |
install: small refactor to combine two function calls into one function
Combine consecutive function calls of install_info_discover and
install_info_may_process into one short helper function.
Diffstat (limited to 'src/shared/install.c')
-rw-r--r-- | src/shared/install.c | 61 |
1 files changed, 30 insertions, 31 deletions
diff --git a/src/shared/install.c b/src/shared/install.c index 4ac1c9a732..03773bd02f 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -1676,6 +1676,25 @@ static int install_info_discover( return r; } +static int install_info_discover_and_check( + UnitFileScope scope, + InstallContext *c, + const LookupPaths *paths, + const char *name, + SearchFlags flags, + UnitFileInstallInfo **ret, + UnitFileChange **changes, + size_t *n_changes) { + + int r; + + r = install_info_discover(scope, c, paths, name, flags, ret, changes, n_changes); + if (r < 0) + return r; + + return install_info_may_process(ret ? *ret : NULL, paths, changes, n_changes); +} + static int install_info_symlink_alias( UnitFileInstallInfo *i, const LookupPaths *paths, @@ -2399,11 +2418,8 @@ int unit_file_add_dependency( if (!config_path) return -ENXIO; - r = install_info_discover(scope, &c, &paths, target, SEARCH_FOLLOW_CONFIG_SYMLINKS, - &target_info, changes, n_changes); - if (r < 0) - return r; - r = install_info_may_process(target_info, &paths, changes, n_changes); + r = install_info_discover_and_check(scope, &c, &paths, target, SEARCH_FOLLOW_CONFIG_SYMLINKS, + &target_info, changes, n_changes); if (r < 0) return r; @@ -2412,11 +2428,8 @@ int unit_file_add_dependency( STRV_FOREACH(f, files) { char ***l; - r = install_info_discover(scope, &c, &paths, *f, SEARCH_FOLLOW_CONFIG_SYMLINKS, - &i, changes, n_changes); - if (r < 0) - return r; - r = install_info_may_process(i, &paths, changes, n_changes); + r = install_info_discover_and_check(scope, &c, &paths, *f, SEARCH_FOLLOW_CONFIG_SYMLINKS, + &i, changes, n_changes); if (r < 0) return r; @@ -2467,11 +2480,8 @@ int unit_file_enable( return -ENXIO; STRV_FOREACH(f, files) { - r = install_info_discover(scope, &c, &paths, *f, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, - &i, changes, n_changes); - if (r < 0) - return r; - r = install_info_may_process(i, &paths, changes, n_changes); + r = install_info_discover_and_check(scope, &c, &paths, *f, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, + &i, changes, n_changes); if (r < 0) return r; @@ -2585,10 +2595,7 @@ int unit_file_set_default( if (r < 0) return r; - r = install_info_discover(scope, &c, &paths, name, 0, &i, changes, n_changes); - if (r < 0) - return r; - r = install_info_may_process(i, &paths, changes, n_changes); + r = install_info_discover_and_check(scope, &c, &paths, name, 0, &i, changes, n_changes); if (r < 0) return r; @@ -3089,22 +3096,14 @@ static int preset_prepare_one( if (instance_name_list) { char **s; STRV_FOREACH(s, instance_name_list) { - r = install_info_discover(scope, plus, paths, *s, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, - &i, changes, n_changes); - if (r < 0) - return r; - - r = install_info_may_process(i, paths, changes, n_changes); + r = install_info_discover_and_check(scope, plus, paths, *s, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, + &i, changes, n_changes); if (r < 0) return r; } } else { - r = install_info_discover(scope, plus, paths, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, - &i, changes, n_changes); - if (r < 0) - return r; - - r = install_info_may_process(i, paths, changes, n_changes); + r = install_info_discover_and_check(scope, plus, paths, name, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, + &i, changes, n_changes); if (r < 0) return r; } |