From 3a3c3994e958ddbaa5ec6a7a0659245dc8d2b5bc Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 24 Oct 2018 22:21:28 +0200 Subject: 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) --- src/basic/time-util.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') 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) { -- cgit v1.2.3