time-util: Introduce parse_sec_def_infinity
This works like parse_sec() but defaults to USEC_INFINITY when passed an empty string or only whitespace. Also introduce config_parse_sec_def_infinity, which can be used to parse config options using this function. This is useful for time options that use "infinity" for default and that can be reset by unsetting them. Introduce a test case to ensure it works as expected.
This commit is contained in:
@@ -506,6 +506,7 @@ DEFINE_PARSER(unsigned, unsigned, safe_atou);
|
||||
DEFINE_PARSER(double, double, safe_atod);
|
||||
DEFINE_PARSER(nsec, nsec_t, parse_nsec);
|
||||
DEFINE_PARSER(sec, usec_t, parse_sec);
|
||||
DEFINE_PARSER(sec_def_infinity, usec_t, parse_sec_def_infinity);
|
||||
DEFINE_PARSER(mode, mode_t, parse_mode);
|
||||
|
||||
int config_parse_iec_size(const char* unit,
|
||||
|
||||
@@ -127,6 +127,7 @@ CONFIG_PARSER_PROTOTYPE(config_parse_string);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_path);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_strv);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_sec);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_sec_def_infinity);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_nsec);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_mode);
|
||||
CONFIG_PARSER_PROTOTYPE(config_parse_warn_compat);
|
||||
|
||||
Reference in New Issue
Block a user