summaryrefslogtreecommitdiffstats
path: root/staging_vespalib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-03-07 12:29:08 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-03-07 12:29:08 +0000
commita2eb3e7243ce88153fdac4d126999141d37c33e3 (patch)
treed1dc1bdf092560af2c23b1a608d915403d1a7f96 /staging_vespalib
parentb97b0e995a431bd3dc57a56ba2cc77aaced8555c (diff)
Unify root and children and drop a level
Diffstat (limited to 'staging_vespalib')
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp11
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