diff options
Diffstat (limited to 'src/cnode/cnode.cpp')
-rw-r--r-- | src/cnode/cnode.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cnode/cnode.cpp b/src/cnode/cnode.cpp index 0f6976d..05dc07a 100644 --- a/src/cnode/cnode.cpp +++ b/src/cnode/cnode.cpp @@ -27,7 +27,6 @@ using namespace std; using namespace cnode; /* XXX - from cstore: extra level for tag node delayed processing for _is_empty, _is_leaf_typeless */ @@ -56,9 +55,11 @@ CfgNode::CfgNode(vector<string>& path_comps, char *name, char *val, vtw_def def; if (cstore->validateTmplPath(path_comps, false, def)) { // got the def - _is_value = def.is_value; _is_tag = def.tag; _is_leaf = (!def.tag && def.def_type != ERROR_TYPE); + + // match constructor from cstore (leaf node never _is_value) + _is_value = (def.is_value && !_is_leaf); _is_multi = def.multi; /* XXX given the current definition of "default", the concept of |