summaryrefslogtreecommitdiff
path: root/absl/log/internal/log_format.cc
diff options
context:
space:
mode:
authorGravatar Andy Getzendanner <durandal@google.com>2022-11-07 14:12:00 -0800
committerGravatar Copybara-Service <copybara-worker@google.com>2022-11-07 14:12:47 -0800
commit615f2147028688b5e36f159ccd2958552488215c (patch)
treebacddcb19743bd9ea8b7986e86ef368fa3605435 /absl/log/internal/log_format.cc
parentd459fe7137411d13852229e5eb269e1190f869f1 (diff)
Factor out the internal helper AppendTruncated, which is used and redefined in a couple places, plus several more that have yet to be released.
PiperOrigin-RevId: 486759835 Change-Id: Ib1b24f287f856ca38b691fbce7e747f0f5a34626
Diffstat (limited to 'absl/log/internal/log_format.cc')
-rw-r--r--absl/log/internal/log_format.cc12
1 files changed, 2 insertions, 10 deletions
diff --git a/absl/log/internal/log_format.cc b/absl/log/internal/log_format.cc
index 5b280a2d..cf8cdfd9 100644
--- a/absl/log/internal/log_format.cc
+++ b/absl/log/internal/log_format.cc
@@ -32,6 +32,7 @@
#include "absl/base/config.h"
#include "absl/base/log_severity.h"
#include "absl/base/optimization.h"
+#include "absl/log/internal/append_truncated.h"
#include "absl/log/internal/config.h"
#include "absl/log/internal/globals.h"
#include "absl/strings/numbers.h"
@@ -143,15 +144,6 @@ size_t FormatBoundedFields(absl::LogSeverity severity, absl::Time timestamp,
return bytes_formatted;
}
-// Copies into `dst` as many bytes of `src` as will fit, then advances `dst`
-// past the copied bytes and returns the number of bytes written.
-size_t AppendTruncated(absl::string_view src, absl::Span<char>& dst) {
- if (src.size() > dst.size()) src = src.substr(0, dst.size());
- memcpy(dst.data(), src.data(), src.size());
- dst.remove_prefix(src.size());
- return src.size();
-}
-
size_t FormatLineNumber(int line, absl::Span<char>& buf) {
constexpr size_t kLineFieldMaxLen =
sizeof(":] ") + (1 + std::numeric_limits<int>::digits10 + 1) - sizeof("");
@@ -199,7 +191,7 @@ size_t FormatLogPrefix(absl::LogSeverity severity, absl::Time timestamp,
log_internal::Tid tid, absl::string_view basename,
int line, absl::Span<char>& buf) {
auto prefix_size = FormatBoundedFields(severity, timestamp, tid, buf);
- prefix_size += AppendTruncated(basename, buf);
+ prefix_size += log_internal::AppendTruncated(basename, buf);
prefix_size += FormatLineNumber(line, buf);
return prefix_size;
}