From afcf47246458a9b1ec37ab1b55348b615c58c81a Mon Sep 17 00:00:00 2001 From: Peter Rajnoha Date: Tue, 28 Apr 2015 13:50:23 +0200 Subject: [PATCH] config: make it possible to set default unconfigured_value for settings of all types, not just strings The @something@ used for unconfigured default value is not bound to CFG_TYPE_STRING settings defined in config_settings.h, it can be used for any other config type too. --- lib/config/config.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/config/config.c b/lib/config/config.c index bf1edcfae..331bd005e 100644 --- a/lib/config/config.c +++ b/lib/config/config.c @@ -1675,7 +1675,10 @@ static struct dm_config_node *_add_def_node(struct dm_config_tree *cft, cn->id = def->id; - if (!(def->type & CFG_TYPE_ARRAY)) { + if (spec->unconfigured && def->unconfigured_value) { + cn->v->type = DM_CFG_STRING; + cn->v->v.str = def->unconfigured_value; + } else if (!(def->type & CFG_TYPE_ARRAY)) { switch (def->type) { case CFG_TYPE_SECTION: cn->v = NULL; @@ -1697,9 +1700,6 @@ static struct dm_config_node *_add_def_node(struct dm_config_tree *cft, if (!(str = cfg_def_get_default_value_hint(spec->cmd, def, CFG_TYPE_STRING, NULL))) str = ""; cn->v->v.str = str; - - if (spec->unconfigured && def->unconfigured_value) - cn->v->v.str = def->unconfigured_value; break; default: log_error(INTERNAL_ERROR "_add_def_node: unknown type");