summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2015-04-28 13:50:23 +0200
committerPeter Rajnoha <prajnoha@redhat.com>2015-04-28 15:32:38 +0200
commitafcf47246458a9b1ec37ab1b55348b615c58c81a (patch)
treea54f82f0eea6975a4cc57fd2aed65a263371795e
parentde6deec3b8a981d8d1ebb7ada826d2e661735a30 (diff)
downloadlvm2-afcf47246458a9b1ec37ab1b55348b615c58c81a.tar.gz
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.
-rw-r--r--lib/config/config.c8
1 files 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");