pw_tokenizer: Base64EncodedBufferSize function

Rename Base64EncodedSize to Base64EncodedBufferSize and have it include
the null terminator. This makes it easier to use directly to size
buffers for Base64 encoding.

Change-Id: Ied24eed67f8d3c5e42a405c98e0b20b30d543536
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/20300
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
diff --git a/pw_tokenizer/base64.cc b/pw_tokenizer/base64.cc
index 7aab4af..2b87161 100644
--- a/pw_tokenizer/base64.cc
+++ b/pw_tokenizer/base64.cc
@@ -22,9 +22,9 @@
     void* output_buffer,
     size_t output_buffer_size_bytes) {
   char* output = static_cast<char*>(output_buffer);
-  const size_t encoded_size = Base64EncodedSize(binary_size_bytes);
+  const size_t encoded_size = Base64EncodedBufferSize(binary_size_bytes);
 
-  if (output_buffer_size_bytes < encoded_size + sizeof('\0')) {
+  if (output_buffer_size_bytes < encoded_size) {
     if (output_buffer_size_bytes > 0u) {
       output[0] = '\0';
     }
@@ -36,8 +36,8 @@
   base64::Encode(std::span(static_cast<const std::byte*>(binary_message),
                            binary_size_bytes),
                  &output[1]);
-  output[encoded_size] = '\0';
-  return encoded_size;
+  output[encoded_size - 1] = '\0';
+  return encoded_size - sizeof('\0');  // exclude the null terminator
 }
 
 extern "C" size_t pw_tokenizer_PrefixedBase64Decode(const void* base64_message,