diff options
author | Brandon Cole <brandon.w.cole@gmail.com> | 2018-08-30 11:32:45 -0400 |
---|---|---|
committer | Brandon Cole <brandon.w.cole@gmail.com> | 2018-08-30 11:32:45 -0400 |
commit | 3d32de9b2c05c209461042bb242147c02f84d353 (patch) | |
tree | 30458873fbcd1adc5247c196a565043afb32b69c /src | |
parent | d83a9f66bcf9dfcee6bfd739ba09f405362036d9 (diff) | |
download | protobuf-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.cc | 14 | ||||
-rw-r--r-- | src/google/protobuf/util/internal/protostream_objectwriter.h | 5 |
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); |