diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-03-07 12:29:08 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-03-07 12:29:08 +0000 |
commit | a2eb3e7243ce88153fdac4d126999141d37c33e3 (patch) | |
tree | d1dc1bdf092560af2c23b1a608d915403d1a7f96 /staging_vespalib | |
parent | b97b0e995a431bd3dc57a56ba2cc77aaced8555c (diff) |
Unify root and children and drop a level
Diffstat (limited to 'staging_vespalib')
-rw-r--r-- | staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp b/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp index 184ae768908..562f332fb89 100644 --- a/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp +++ b/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp @@ -19,11 +19,10 @@ Object2Slime::~Object2Slime() = default; void Object2Slime::openStruct(const vespalib::string &name, const vespalib::string &type) { - _stack.push_back(_cursor); - if (name.empty()) { - _cursor = _cursor.get().setObject(type); + _cursor.get().setString("[type]", type); } else { + _stack.push_back(_cursor); _cursor = _cursor.get().setObject(name); _cursor.get().setString("[type]", type); } @@ -32,8 +31,10 @@ Object2Slime::openStruct(const vespalib::string &name, const vespalib::string &t void Object2Slime::closeStruct() { - _cursor = _stack.back(); - _stack.pop_back(); + if ( ! _stack.empty()) { + _cursor = _stack.back(); + _stack.pop_back(); + } } void |