diff options
author | Andrew Morrow <acm@10gen.com> | 2013-07-09 18:56:30 -0400 |
---|---|---|
committer | Andrew Morrow <acm@10gen.com> | 2013-07-09 20:02:51 -0400 |
commit | 2dd8b16ebbafd564fcd2967ec390da222dedc3c5 (patch) | |
tree | 329ad85493342d1e080c137bf8a9e2c44313933a /src/mongo/bson/mutable/element.cpp | |
parent | 5623bbd54da40c28f876a516760836b29ab2441f (diff) | |
download | mongo-2dd8b16ebbafd564fcd2967ec390da222dedc3c5.tar.gz |
SERVER-8046 Cleanup Element::writeArrayTo and add a test for the new implementation
Diffstat (limited to 'src/mongo/bson/mutable/element.cpp')
-rw-r--r-- | src/mongo/bson/mutable/element.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mongo/bson/mutable/element.cpp b/src/mongo/bson/mutable/element.cpp index 79de5b073ec..746c4c43dbe 100644 --- a/src/mongo/bson/mutable/element.cpp +++ b/src/mongo/bson/mutable/element.cpp @@ -158,10 +158,12 @@ namespace mutablebson { BSONObj obj = builder.obj(); return obj.firstElement().toString(); } else if (isType(mongo::Array)) { - BSONArrayBuilder builder; - writeArrayTo(&builder); - BSONArray arr = builder.arr(); - return arr.firstElement().toString(); + BSONObjBuilder builder; + BSONArrayBuilder arrayBuilder(builder.subarrayStart(getFieldName())); + writeArrayTo(&arrayBuilder); + arrayBuilder.done(); + BSONObj obj = builder.obj(); + return obj.firstElement().toString(); } else { return "corrupted element"; } |