commit 4a6dd4d9aeb3e3f9c033d092c86d5be63ca8cba9 author: nechda date: 2024-08-08T14:02:13+03:00 [PROTOBUF] Dont use string_view --- contrib/libs/protobuf/src/google/protobuf/arenastring.cc (e2819444222a1e9154b9c7b701eff6427206db7c) +++ contrib/libs/protobuf/src/google/protobuf/arenastring.cc (4a6dd4d9aeb3e3f9c033d092c86d5be63ca8cba9) @@ -115,7 +115,7 @@ TaggedStringPtr CreateArenaString(Arena& arena, absl::string_view s) { } // namespace -void ArenaStringPtr::Set(absl::string_view value, Arena* arena) { +void ArenaStringPtr::Set(const TProtoStringType& value, Arena* arena) { ScopedCheckPtrInvariants check(&tagged_ptr_); if (IsDefault()) { // If we're not on an arena, skip straight to a true string to avoid --- contrib/libs/protobuf/src/google/protobuf/arenastring.h (e2819444222a1e9154b9c7b701eff6427206db7c) +++ contrib/libs/protobuf/src/google/protobuf/arenastring.h (4a6dd4d9aeb3e3f9c033d092c86d5be63ca8cba9) @@ -259,7 +259,7 @@ struct PROTOBUF_EXPORT ArenaStringPtr { // instance known to not carry any heap allocated value. inline void InitAllocated(TProtoStringType* str, Arena* arena); - void Set(absl::string_view value, Arena* arena); + void Set(const TProtoStringType& value, Arena* arena); void Set(TProtoStringType&& value, Arena* arena); template void Set(const TProtoStringType& value, Arena* arena); @@ -410,15 +410,15 @@ inline void ArenaStringPtr::InitAllocated(TProtoStringType* str, Arena* arena) { } inline void ArenaStringPtr::Set(const char* s, Arena* arena) { - Set(absl::string_view{s}, arena); + Set(TProtoStringType{s}, arena); } inline void ArenaStringPtr::Set(const char* s, size_t n, Arena* arena) { - Set(absl::string_view{s, n}, arena); + Set(TProtoStringType(s, s + n), arena); } inline void ArenaStringPtr::SetBytes(absl::string_view value, Arena* arena) { - Set(value, arena); + Set(TProtoStringType(value.data(), value.size()), arena); } template <> @@ -439,7 +439,7 @@ inline void ArenaStringPtr::SetBytes(const char* s, Arena* arena) { } inline void ArenaStringPtr::SetBytes(const void* p, size_t n, Arena* arena) { - Set(absl::string_view{static_cast(p), n}, arena); + Set(TProtoStringType(static_cast(p), static_cast(p) + n), arena); } // Make sure rhs_arena allocated rhs, and lhs_arena allocated lhs.