From: Yu Watanabe Date: Tue, 16 Aug 2022 18:11:00 +0000 (+0900) Subject: sysctl: drop /proc/sys/ in prefix X-Git-Tag: v252-rc1~428^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c01404fdf100b03dafa8a366d07f74f3c30d5330;p=thirdparty%2Fsystemd.git sysctl: drop /proc/sys/ in prefix --- diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c index dda112f45a7..ae079b7a716 100644 --- a/src/sysctl/sysctl.c +++ b/src/sysctl/sysctl.c @@ -56,18 +56,7 @@ static bool test_prefix(const char *p) { if (strv_isempty(arg_prefixes)) return true; - STRV_FOREACH(i, arg_prefixes) { - const char *t; - - t = path_startswith(*i, "/proc/sys/"); - if (!t) - t = *i; - - if (path_startswith(p, t)) - return true; - } - - return false; + return path_startswith_strv(p, arg_prefixes); } static Option *option_new( @@ -360,6 +349,7 @@ static int parse_argv(int argc, char *argv[]) { break; case ARG_PREFIX: { + const char *s; char *p; /* We used to require people to specify absolute paths @@ -368,10 +358,8 @@ static int parse_argv(int argc, char *argv[]) { * sysctl name available. */ sysctl_normalize(optarg); - if (path_startswith(optarg, "/proc/sys")) - p = strdup(optarg); - else - p = path_join("/proc/sys", optarg); + s = path_startswith(optarg, "/proc/sys"); + p = strdup(s ?: optarg); if (!p) return log_oom();