diff options
-rw-r--r-- | src/basic/parse-util.c | 17 | ||||
-rw-r--r-- | src/basic/parse-util.h | 2 |
2 files changed, 19 insertions, 0 deletions
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); |