summaryrefslogtreecommitdiff
path: root/src/sysctl
diff options
context:
space:
mode:
Diffstat (limited to 'src/sysctl')
-rw-r--r--src/sysctl/sysctl.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
index f9d282d1cb..d04a2cff15 100644
--- a/src/sysctl/sysctl.c
+++ b/src/sysctl/sysctl.c
@@ -266,21 +266,19 @@ static int parse_argv(int argc, char *argv[]) {
static int run(int argc, char *argv[]) {
_cleanup_(ordered_hashmap_free_free_freep) OrderedHashmap *sysctl_options = NULL;
- int r = 0, k;
+ int r, k;
r = parse_argv(argc, argv);
if (r <= 0)
- goto finish;
+ return r;
log_setup_service();
umask(0022);
sysctl_options = ordered_hashmap_new(&path_hash_ops);
- if (!sysctl_options) {
- r = log_oom();
- goto finish;
- }
+ if (!sysctl_options)
+ return log_oom();
r = 0;
@@ -297,16 +295,13 @@ static int run(int argc, char *argv[]) {
char **f;
r = conf_files_list_strv(&files, ".conf", NULL, 0, (const char**) CONF_PATHS_STRV("sysctl.d"));
- if (r < 0) {
- log_error_errno(r, "Failed to enumerate sysctl.d files: %m");
- goto finish;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to enumerate sysctl.d files: %m");
if (arg_cat_config) {
(void) pager_open(arg_pager_flags);
- r = cat_files(NULL, files, 0);
- goto finish;
+ return cat_files(NULL, files, 0);
}
STRV_FOREACH(f, files) {
@@ -320,9 +315,6 @@ static int run(int argc, char *argv[]) {
if (k < 0 && r == 0)
r = k;
-finish:
- pager_close();
-
return r;
}