From 6ceb81f62b5216f4378601483b423ec9de1a0355 Mon Sep 17 00:00:00 2001 From: Ali Tofigh Date: Mon, 21 Mar 2022 17:48:04 +0100 Subject: [PATCH] Clean up SimpleStringBuilder after absl::string_view adoption Bug: webrtc:13579 Change-Id: I8fdc65e19893c9a96b263bbc99c4f9139fa4b78f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256268 Reviewed-by: Mirko Bonadei Reviewed-by: Harald Alvestrand Commit-Queue: Ali Tofigh Cr-Commit-Position: refs/heads/main@{#36291} --- rtc_base/strings/string_builder.cc | 24 ++++++++++-------------- rtc_base/strings/string_builder.h | 4 ---- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/rtc_base/strings/string_builder.cc b/rtc_base/strings/string_builder.cc index e3e25e631b..a419b0b3cc 100644 --- a/rtc_base/strings/string_builder.cc +++ b/rtc_base/strings/string_builder.cc @@ -28,11 +28,19 @@ SimpleStringBuilder::SimpleStringBuilder(rtc::ArrayView buffer) } SimpleStringBuilder& SimpleStringBuilder::operator<<(char ch) { - return Append(&ch, 1); + return operator<<(absl::string_view(&ch, 1)); } SimpleStringBuilder& SimpleStringBuilder::operator<<(absl::string_view str) { - return Append(str.data(), str.length()); + RTC_DCHECK_LT(size_ + str.length(), buffer_.size()) + << "Buffer size was insufficient"; + const size_t chars_added = + rtc::SafeMin(str.length(), buffer_.size() - size_ - 1); + memcpy(&buffer_[size_], str.data(), chars_added); + size_ += chars_added; + buffer_[size_] = '\0'; + RTC_DCHECK(IsConsistent()); + return *this; } // Numeric conversion routines. @@ -103,18 +111,6 @@ SimpleStringBuilder& SimpleStringBuilder::AppendFormat(const char* fmt, ...) { return *this; } -SimpleStringBuilder& SimpleStringBuilder::Append(const char* str, - size_t length) { - RTC_DCHECK_LT(size_ + length, buffer_.size()) - << "Buffer size was insufficient"; - const size_t chars_added = rtc::SafeMin(length, buffer_.size() - size_ - 1); - memcpy(&buffer_[size_], str, chars_added); - size_ += chars_added; - buffer_[size_] = '\0'; - RTC_DCHECK(IsConsistent()); - return *this; -} - StringBuilder& StringBuilder::AppendFormat(const char* fmt, ...) { va_list args, copy; va_start(args, fmt); diff --git a/rtc_base/strings/string_builder.h b/rtc_base/strings/string_builder.h index b35b7f1867..00986371d3 100644 --- a/rtc_base/strings/string_builder.h +++ b/rtc_base/strings/string_builder.h @@ -60,10 +60,6 @@ class SimpleStringBuilder { SimpleStringBuilder& AppendFormat(const char* fmt, ...); - // An alternate way from operator<<() to append a string. This variant is - // slightly more efficient when the length of the string to append, is known. - SimpleStringBuilder& Append(const char* str, size_t length); - private: bool IsConsistent() const { return size_ <= buffer_.size() - 1 && buffer_[size_] == '\0';