dont-use-string-view.patch 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. commit 4a6dd4d9aeb3e3f9c033d092c86d5be63ca8cba9
  2. author: nechda
  3. date: 2024-08-08T14:02:13+03:00
  4. [PROTOBUF] Dont use string_view
  5. --- contrib/libs/protobuf/src/google/protobuf/arenastring.cc (e2819444222a1e9154b9c7b701eff6427206db7c)
  6. +++ contrib/libs/protobuf/src/google/protobuf/arenastring.cc (4a6dd4d9aeb3e3f9c033d092c86d5be63ca8cba9)
  7. @@ -115,7 +115,7 @@ TaggedStringPtr CreateArenaString(Arena& arena, absl::string_view s) {
  8. } // namespace
  9. -void ArenaStringPtr::Set(absl::string_view value, Arena* arena) {
  10. +void ArenaStringPtr::Set(const TProtoStringType& value, Arena* arena) {
  11. ScopedCheckPtrInvariants check(&tagged_ptr_);
  12. if (IsDefault()) {
  13. // If we're not on an arena, skip straight to a true string to avoid
  14. --- contrib/libs/protobuf/src/google/protobuf/arenastring.h (e2819444222a1e9154b9c7b701eff6427206db7c)
  15. +++ contrib/libs/protobuf/src/google/protobuf/arenastring.h (4a6dd4d9aeb3e3f9c033d092c86d5be63ca8cba9)
  16. @@ -259,7 +259,7 @@ struct PROTOBUF_EXPORT ArenaStringPtr {
  17. // instance known to not carry any heap allocated value.
  18. inline void InitAllocated(TProtoStringType* str, Arena* arena);
  19. - void Set(absl::string_view value, Arena* arena);
  20. + void Set(const TProtoStringType& value, Arena* arena);
  21. void Set(TProtoStringType&& value, Arena* arena);
  22. template <typename... OverloadDisambiguator>
  23. void Set(const TProtoStringType& value, Arena* arena);
  24. @@ -410,15 +410,15 @@ inline void ArenaStringPtr::InitAllocated(TProtoStringType* str, Arena* arena) {
  25. }
  26. inline void ArenaStringPtr::Set(const char* s, Arena* arena) {
  27. - Set(absl::string_view{s}, arena);
  28. + Set(TProtoStringType{s}, arena);
  29. }
  30. inline void ArenaStringPtr::Set(const char* s, size_t n, Arena* arena) {
  31. - Set(absl::string_view{s, n}, arena);
  32. + Set(TProtoStringType(s, s + n), arena);
  33. }
  34. inline void ArenaStringPtr::SetBytes(absl::string_view value, Arena* arena) {
  35. - Set(value, arena);
  36. + Set(TProtoStringType(value.data(), value.size()), arena);
  37. }
  38. template <>
  39. @@ -439,7 +439,7 @@ inline void ArenaStringPtr::SetBytes(const char* s, Arena* arena) {
  40. }
  41. inline void ArenaStringPtr::SetBytes(const void* p, size_t n, Arena* arena) {
  42. - Set(absl::string_view{static_cast<const char*>(p), n}, arena);
  43. + Set(TProtoStringType(static_cast<const char*>(p), static_cast<const char*>(p) + n), arena);
  44. }
  45. // Make sure rhs_arena allocated rhs, and lhs_arena allocated lhs.