chiark / gitweb /
basic: split parsing of the OOM score adjust value into its own function in parse...
authorLennart Poettering <lennart@poettering.net>
Mon, 7 May 2018 18:26:38 +0000 (20:26 +0200)
committerSven Eden <yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000 (16:47 +0200)
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
src/basic/parse-util.h

index ffad4ef45e0e5c176e74a39fc536af125e1b4422..e9bd8ade1918e8760a5832a2757239ac144d3a94 100644 (file)
@@ -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;
+}
index 9250b6fe00ec7f39b6de51ee4f7cbd96745629e5..f0f785a884649f8802fb95078033b05629d32913 100644 (file)
@@ -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);