diff options
author | Lennart Poettering <lennart@poettering.net> | 2016-08-05 11:17:08 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-08-05 11:18:32 +0200 |
commit | 41bf0590cc89438f1d319465190b1c00809c78fe (patch) | |
tree | 58d255848f99af24009cea575d4d58ec53d6874d /src/basic/parse-util.c | |
parent | 1ed1f50f8277df07918e13cba3331a114eaa6fe3 (diff) |
util-lib: unify parsing of nice level values
This adds parse_nice() that parses a nice level and ensures it is in the right
range, via a new nice_is_valid() helper. It then ports over a number of users
to this.
No functional changes.
Diffstat (limited to 'src/basic/parse-util.c')
-rw-r--r-- | src/basic/parse-util.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c index 11849ade0b..c98815b9bc 100644 --- a/src/basic/parse-util.c +++ b/src/basic/parse-util.c @@ -29,6 +29,7 @@ #include "extract-word.h" #include "macro.h" #include "parse-util.h" +#include "process-util.h" #include "string-util.h" int parse_boolean(const char *v) { @@ -551,10 +552,25 @@ int parse_percent_unbounded(const char *p) { } int parse_percent(const char *p) { - int v = parse_percent_unbounded(p); + int v; + v = parse_percent_unbounded(p); if (v > 100) return -ERANGE; return v; } + +int parse_nice(const char *p, int *ret) { + int n, r; + + r = safe_atoi(p, &n); + if (r < 0) + return r; + + if (!nice_is_valid(n)) + return -ERANGE; + + *ret = n; + return 0; +} |