aboutsummaryrefslogtreecommitdiff
path: root/absl/log/internal/structured.h
diff options
context:
space:
mode:
authorAndy Getzendanner <durandal@google.com>2022-11-21 21:17:53 -0800
committerCopybara-Service <copybara-worker@google.com>2022-11-21 21:18:39 -0800
commit9a7e8e36300c6d89c7f9a2539f7aabf8e0031106 (patch)
treecbf03dd0ec10bc81451b996df4c9e8437d702ca1 /absl/log/internal/structured.h
parentd081b629b7c201e701911cfb4e0c99735c21c331 (diff)
downloadabseil-9a7e8e36300c6d89c7f9a2539f7aabf8e0031106.tar.gz
abseil-9a7e8e36300c6d89c7f9a2539f7aabf8e0031106.tar.bz2
abseil-9a7e8e36300c6d89c7f9a2539f7aabf8e0031106.zip
Zero encoded_remaining when a string field doesn't fit, so that we don't leave partial data in the buffer (all decoders should ignore it anyway) and to be sure that we don't try to put any subsequent operands in either (there shouldn't be enough space).
PiperOrigin-RevId: 490143656 Change-Id: I4d743dd9214013fbd151478ef662d50affd5ff7a
Diffstat (limited to 'absl/log/internal/structured.h')
-rw-r--r--absl/log/internal/structured.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/absl/log/internal/structured.h b/absl/log/internal/structured.h
index 8888e7d7..08caea66 100644
--- a/absl/log/internal/structured.h
+++ b/absl/log/internal/structured.h
@@ -41,12 +41,13 @@ class ABSL_MUST_USE_RESULT AsLiteralImpl final {
friend std::ostream& operator<<(std::ostream& os, AsLiteralImpl as_literal) {
return os << as_literal.str_;
}
- log_internal::LogMessage& AddToMessage(log_internal::LogMessage& m) {
- return m.LogString(/* literal = */ true, str_);
+ void AddToMessage(log_internal::LogMessage& m) {
+ m.CopyToEncodedBuffer(str_, log_internal::LogMessage::StringType::kLiteral);
}
friend log_internal::LogMessage& operator<<(log_internal::LogMessage& m,
AsLiteralImpl as_literal) {
- return as_literal.AddToMessage(m);
+ as_literal.AddToMessage(m);
+ return m;
}
};