config-verify: add conf_verify_unsigned()

Like conf_verify_int(), but also requires the integer to be >= 0
This commit is contained in:
Daniel Eklöf 2021-11-15 18:16:15 +01:00
parent 11bb45aa87
commit 72056c50cf
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 12 additions and 0 deletions

View file

@ -50,6 +50,17 @@ conf_verify_int(keychain_t *chain, const struct yml_node *node)
return false; return false;
} }
bool
conf_verify_unsigned(keychain_t *chain, const struct yml_node *node)
{
if (yml_value_is_int(node) && yml_value_as_int(node) >= 0)
return true;
LOG_ERR("%s: value is not a positive integer: '%s'",
conf_err_prefix(chain, node), yml_value_as_string(node));
return false;
}
bool bool
conf_verify_bool(keychain_t *chain, const struct yml_node *node) conf_verify_bool(keychain_t *chain, const struct yml_node *node)
{ {

View file

@ -32,6 +32,7 @@ const char *conf_err_prefix(
bool conf_verify_string(keychain_t *chain, const struct yml_node *node); bool conf_verify_string(keychain_t *chain, const struct yml_node *node);
bool conf_verify_int(keychain_t *chain, const struct yml_node *node); bool conf_verify_int(keychain_t *chain, const struct yml_node *node);
bool conf_verify_unsigned(keychain_t *chain, const struct yml_node *node);
bool conf_verify_bool(keychain_t *chain, const struct yml_node *node); bool conf_verify_bool(keychain_t *chain, const struct yml_node *node);
bool conf_verify_enum(keychain_t *chain, const struct yml_node *node, bool conf_verify_enum(keychain_t *chain, const struct yml_node *node,