diff options
Diffstat (limited to 'src/google/protobuf/map_field.cc')
-rw-r--r-- | src/google/protobuf/map_field.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/google/protobuf/map_field.cc b/src/google/protobuf/map_field.cc index 64dcc990..ec4f83e1 100644 --- a/src/google/protobuf/map_field.cc +++ b/src/google/protobuf/map_field.cc @@ -43,13 +43,15 @@ MapFieldBase::~MapFieldBase() { const RepeatedPtrFieldBase& MapFieldBase::GetRepeatedField() const { SyncRepeatedFieldWithMap(); - return *repeated_field_; + return *reinterpret_cast< ::google::protobuf::internal::RepeatedPtrFieldBase*>( + repeated_field_); } RepeatedPtrFieldBase* MapFieldBase::MutableRepeatedField() { SyncRepeatedFieldWithMap(); SetRepeatedDirty(); - return repeated_field_; + return reinterpret_cast< ::google::protobuf::internal::RepeatedPtrFieldBase*>( + repeated_field_); } size_t MapFieldBase::SpaceUsedExcludingSelfLong() const { @@ -130,6 +132,7 @@ DynamicMapField::DynamicMapField(const Message* default_entry) DynamicMapField::DynamicMapField(const Message* default_entry, Arena* arena) : TypeDefinedMapFieldBase<MapKey, MapValueRef>(arena), + map_(arena), default_entry_(default_entry) { } |