diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-10-24 22:21:28 +0200 |
---|---|---|
committer | Sven Eden <sven.eden@prydeworx.com> | 2018-10-29 10:18:39 +0100 |
commit | 3a3c3994e958ddbaa5ec6a7a0659245dc8d2b5bc (patch) | |
tree | f8d986e3802cc8bf8a618032c6b0df65734be1fe | |
parent | beed80d1d2042ca36b0555725a226506d77a62b1 (diff) |
time-util: change parse_sec_fix_0() to accept "0s" for infinity too (#10501)
This function is about compatibility, nothing else, hence we should make
it properly compatible.
Fixes: #9556
(cherry picked from commit def34f63fe066c964764733242b332774070bac6)
-rw-r--r-- | src/basic/time-util.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/basic/time-util.c b/src/basic/time-util.c index 6bd86bf4d..fce250a9c 100644 --- a/src/basic/time-util.c +++ b/src/basic/time-util.c @@ -1073,18 +1073,19 @@ int parse_sec(const char *t, usec_t *usec) { } #if 0 /// UNNEEDED by elogind -int parse_sec_fix_0(const char *t, usec_t *usec) { - assert(t); - assert(usec); +int parse_sec_fix_0(const char *t, usec_t *ret) { + usec_t k; + int r; - t += strspn(t, WHITESPACE); + assert(t); + assert(ret); - if (streq(t, "0")) { - *usec = USEC_INFINITY; - return 0; - } + r = parse_sec(t, &k); + if (r < 0) + return r; - return parse_sec(t, usec); + *ret = k == 0 ? USEC_INFINITY : k; + return r; } int parse_nsec(const char *t, nsec_t *nsec) { |