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
This commit is contained in:
Lennart Poettering
2018-10-25 05:21:28 +09:00
committed by Yu Watanabe
parent d776fd08a3
commit def34f63fe
2 changed files with 11 additions and 10 deletions
+10 -9
View File
@@ -1074,18 +1074,19 @@ int parse_sec(const char *t, usec_t *usec) {
return parse_time(t, usec, USEC_PER_SEC);
}
int parse_sec_fix_0(const char *t, usec_t *usec) {
int parse_sec_fix_0(const char *t, usec_t *ret) {
usec_t k;
int r;
assert(t);
assert(usec);
assert(ret);
t += strspn(t, WHITESPACE);
r = parse_sec(t, &k);
if (r < 0)
return r;
if (streq(t, "0")) {
*usec = USEC_INFINITY;
return 0;
}
return parse_sec(t, usec);
*ret = k == 0 ? USEC_INFINITY : k;
return r;
}
int parse_nsec(const char *t, nsec_t *nsec) {