config_parser: Add common boolean parser
This more accurately parses systemd values instead of just comparing to
"false" or "true".
Change-Id: I0d70ef418075d555bf6f090fefa0b34332491ed0
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/dhcp_configuration.cpp b/src/dhcp_configuration.cpp
index 0605a6a..ec9e6d9 100644
--- a/src/dhcp_configuration.cpp
+++ b/src/dhcp_configuration.cpp
@@ -98,7 +98,14 @@
log<level::NOTICE>(msg.c_str(), entry("PROP=%s", prop.c_str()));
return true;
}
- return values.back() != "false";
+ auto ret = config::parseBool(values.back());
+ if (!ret.has_value())
+ {
+ auto msg = fmt::format("Failed to parse section DHCP[{}]: `{}`", prop,
+ values.back());
+ log<level::NOTICE>(msg.c_str(), entry("PROP=%s", prop.c_str()));
+ }
+ return ret.value_or(true);
}
} // namespace dhcp
} // namespace network