aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrandon Cole <brandon.w.cole@gmail.com>2018-08-30 11:32:45 -0400
committerBrandon Cole <brandon.w.cole@gmail.com>2018-08-30 11:32:45 -0400
commit3d32de9b2c05c209461042bb242147c02f84d353 (patch)
tree30458873fbcd1adc5247c196a565043afb32b69c /src
parentd83a9f66bcf9dfcee6bfd739ba09f405362036d9 (diff)
downloadprotobuf-3d32de9b2c05c209461042bb242147c02f84d353.tar.gz
protobuf-3d32de9b2c05c209461042bb242147c02f84d353.tar.bz2
protobuf-3d32de9b2c05c209461042bb242147c02f84d353.zip
Code fixes for the original unit test.
Credit goes to @mercret for the fix.
Diffstat (limited to 'src')
-rw-r--r--src/google/protobuf/util/internal/protostream_objectwriter.cc14
-rw-r--r--src/google/protobuf/util/internal/protostream_objectwriter.h5
2 files changed, 18 insertions, 1 deletions
diff --git a/src/google/protobuf/util/internal/protostream_objectwriter.cc b/src/google/protobuf/util/internal/protostream_objectwriter.cc
index 3d06e12d..3751e07c 100644
--- a/src/google/protobuf/util/internal/protostream_objectwriter.cc
+++ b/src/google/protobuf/util/internal/protostream_objectwriter.cc
@@ -75,6 +75,18 @@ ProtoStreamObjectWriter::ProtoStreamObjectWriter(
ProtoStreamObjectWriter::ProtoStreamObjectWriter(
const TypeInfo* typeinfo, const google::protobuf::Type& type,
+ strings::ByteSink* output, ErrorListener* listener,
+ const ProtoStreamObjectWriter::Options& options)
+ : ProtoWriter(typeinfo, type, output, listener),
+ master_type_(type),
+ current_(nullptr),
+ options_(options) {
+ set_ignore_unknown_fields(options_.ignore_unknown_fields);
+ set_use_lower_camel_for_enums(options.use_lower_camel_for_enums);
+}
+
+ProtoStreamObjectWriter::ProtoStreamObjectWriter(
+ const TypeInfo* typeinfo, const google::protobuf::Type& type,
strings::ByteSink* output, ErrorListener* listener)
: ProtoWriter(typeinfo, type, output, listener),
master_type_(type),
@@ -342,7 +354,7 @@ void ProtoStreamObjectWriter::AnyWriter::StartAny(const DataPiece& value) {
// Create our object writer and initialize it with the first StartObject
// call.
ow_.reset(new ProtoStreamObjectWriter(parent_->typeinfo(), *type, &output_,
- parent_->listener()));
+ parent_->listener(), parent_->options_));
// Don't call StartObject() for well-known types yet. Depending on the
// type of actual data, we may not need to call StartObject(). For
diff --git a/src/google/protobuf/util/internal/protostream_objectwriter.h b/src/google/protobuf/util/internal/protostream_objectwriter.h
index 714c5561..df56a8bd 100644
--- a/src/google/protobuf/util/internal/protostream_objectwriter.h
+++ b/src/google/protobuf/util/internal/protostream_objectwriter.h
@@ -323,6 +323,11 @@ class LIBPROTOBUF_EXPORT ProtoStreamObjectWriter : public ProtoWriter {
const google::protobuf::Type& type,
strings::ByteSink* output, ErrorListener* listener);
+ ProtoStreamObjectWriter(const TypeInfo* typeinfo,
+ const google::protobuf::Type& type,
+ strings::ByteSink* output, ErrorListener* listener,
+ const ProtoStreamObjectWriter::Options& options);
+
// Returns true if the field is a map.
inline bool IsMap(const google::protobuf::Field& field);