summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/basic/parse-util.c17
-rw-r--r--src/basic/parse-util.h2
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);