diff options
Diffstat (limited to 'src/google/protobuf/arenastring.cc')
-rw-r--r-- | src/google/protobuf/arenastring.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/google/protobuf/arenastring.cc b/src/google/protobuf/arenastring.cc index 7f33a0c8..cce61d74 100644 --- a/src/google/protobuf/arenastring.cc +++ b/src/google/protobuf/arenastring.cc @@ -38,6 +38,16 @@ namespace protobuf { namespace internal { +void ArenaStringPtr::AssignWithDefault(const ::std::string* default_value, + ArenaStringPtr value) { + const ::std::string* me = *UnsafeRawStringPointer(); + const ::std::string* other = *value.UnsafeRawStringPointer(); + // If the pointers are the same then do nothing. + if (me != other) { + SetNoArena(default_value, value.GetNoArena(default_value)); + } +} + } // namespace internal } // namespace protobuf } // namespace google |