From 639857b77ba7042bb36436c6194d521b03f5d397 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 7 May 2018 20:26:38 +0200 Subject: basic: split parsing of the OOM score adjust value into its own function in parse-util.c And port config_parse_exec_oom_score_adjust() over to use it. While we are at it, let's also fix config_parse_exec_oom_score_adjust() to accept an empty string for turning off OOM score adjustments set earlier. --- src/basic/parse-util.c | 17 +++++++++++++++++ src/basic/parse-util.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c index ffad4ef45..e9bd8ade1 100644 --- a/src/basic/parse-util.c +++ b/src/basic/parse-util.c @@ -683,3 +683,20 @@ int parse_dev(const char *s, dev_t *ret) { *ret = d; return 0; } + +int parse_oom_score_adjust(const char *s, int *ret) { + int r, v; + + assert(s); + assert(ret); + + r = safe_atoi(s, &v); + if (r < 0) + return r; + + if (v < OOM_SCORE_ADJ_MIN || v > OOM_SCORE_ADJ_MAX) + return -ERANGE; + + *ret = v; + return 0; +} diff --git a/src/basic/parse-util.h b/src/basic/parse-util.h index 9250b6fe0..f0f785a88 100644 --- a/src/basic/parse-util.h +++ b/src/basic/parse-util.h @@ -122,3 +122,5 @@ int parse_nice(const char *p, int *ret); int parse_ip_port(const char *s, uint16_t *ret); #endif // 0 + +int parse_oom_score_adjust(const char *s, int *ret); -- cgit v1.2.3