From: Yu Watanabe Date: Thu, 28 Feb 2019 01:56:33 +0000 (+0900) Subject: network: simplify config_parse_lifetime() X-Git-Tag: v242-rc1~229^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=33680b0a262ef75a1f5cce1e8e24c5b44752c456;p=thirdparty%2Fsystemd.git network: simplify config_parse_lifetime() --- diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index cb23213b5d4..d538ee7fde4 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -840,25 +840,19 @@ int config_parse_lifetime(const char *unit, if (r < 0) return r; - if (STR_IN_SET(rvalue, "forever", "infinity")) { - n->cinfo.ifa_prefered = CACHE_INFO_INFINITY_LIFE_TIME; - n = NULL; - - return 0; - } - - r = safe_atou(rvalue, &k); - if (r < 0) { - log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse PreferredLifetime, ignoring: %s", rvalue); + /* We accept only "forever", "infinity", or "0". */ + if (STR_IN_SET(rvalue, "forever", "infinity")) + k = CACHE_INFO_INFINITY_LIFE_TIME; + else if (streq(rvalue, "0")) + k = 0; + else { + log_syntax(unit, LOG_ERR, filename, line, 0, + "Invalid PreferredLifetime= value, ignoring: %s", rvalue); return 0; } - if (k != 0) - log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid PreferredLifetime value, ignoring: %d", k); - else { - n->cinfo.ifa_prefered = k; - n = NULL; - } + n->cinfo.ifa_prefered = k; + n = NULL; return 0; }