pw_string: Rename va_list Format to FormatVaList

On Windows, sometimes the va_list overload would be used when formatting
with a single argument. To avoid potential conflicts like these, the
va_list versions of string::Format and StringBuilder::Format are renamed
to FormatVaList.

Change-Id: Id29fae21b13ed420b13841a479e3748a1d3b91ce
diff --git a/pw_log_basic/log_basic.cc b/pw_log_basic/log_basic.cc
index 93654dc..a8f8c8d 100644
--- a/pw_log_basic/log_basic.cc
+++ b/pw_log_basic/log_basic.cc
@@ -138,7 +138,7 @@
   // Column: Message
   va_list args;
   va_start(args, message);
-  buffer.Format(message, args);
+  buffer.FormatVaList(message, args);
   va_end(args);
 
   // All done; flush the log.
diff --git a/pw_string/docs.rst b/pw_string/docs.rst
index a47b08f..67ee9a6 100644
--- a/pw_string/docs.rst
+++ b/pw_string/docs.rst
@@ -26,9 +26,10 @@
 
 pw::string::Format
 ------------------
-The ``pw::string::Format`` functions provides are safer alternatives to
-``std::snprintf`` and ``std::vsnprintf``. The snprintf return value is awkward
-to interpret, and misinterpreting it can lead to serious bugs.
+The ``pw::string::Format`` and ``pw::string::FormatVaList`` functions provide
+safer alternatives to ``std::snprintf`` and ``std::vsnprintf``. The snprintf
+return value is awkward to interpret, and misinterpreting it can lead to serious
+bugs.
 
 Size report: replacing snprintf with pw::string::Format
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/pw_string/format.cc b/pw_string/format.cc
index a0f2b17..dc83f1d 100644
--- a/pw_string/format.cc
+++ b/pw_string/format.cc
@@ -21,15 +21,15 @@
 StatusWithSize Format(const span<char>& buffer, const char* format, ...) {
   va_list args;
   va_start(args, format);
-  const StatusWithSize result = Format(buffer, format, args);
+  const StatusWithSize result = FormatVaList(buffer, format, args);
   va_end(args);
 
   return result;
 }
 
-StatusWithSize Format(const span<char>& buffer,
-                      const char* format,
-                      va_list args) {
+StatusWithSize FormatVaList(const span<char>& buffer,
+                            const char* format,
+                            va_list args) {
   if (buffer.empty()) {
     return StatusWithSize(Status::RESOURCE_EXHAUSTED, 0);
   }
diff --git a/pw_string/format_test.cc b/pw_string/format_test.cc
index 6344ad5..1c44c4e 100644
--- a/pw_string/format_test.cc
+++ b/pw_string/format_test.cc
@@ -76,7 +76,7 @@
 
 TEST(Format, ArgumentLargerThanBuffer_ReturnsResourceExhausted) {
   char buffer[5];
-  auto result = Format(buffer, "%s%c", "2big", '!');
+  auto result = Format(buffer, "%s", "2big!");
 
   EXPECT_EQ(Status::RESOURCE_EXHAUSTED, result.status());
   EXPECT_EQ(4u, result.size());
@@ -87,7 +87,7 @@
   va_list args;
   va_start(args, fmt);
 
-  StatusWithSize result = Format(buffer, fmt, args);
+  StatusWithSize result = FormatVaList(buffer, fmt, args);
 
   va_end(args);
   return result;
diff --git a/pw_string/public/pw_string/format.h b/pw_string/public/pw_string/format.h
index efa71f1..72198bf 100644
--- a/pw_string/public/pw_string/format.h
+++ b/pw_string/public/pw_string/format.h
@@ -45,8 +45,8 @@
 // Writes a printf-style formatted string with va_list-packed arguments to the
 // provided buffer, similarly to std::vsnprintf. The return value is the same as
 // above.
-StatusWithSize Format(const span<char>& buffer,
-                      const char* format,
-                      va_list args);
+StatusWithSize FormatVaList(const span<char>& buffer,
+                            const char* format,
+                            va_list args);
 
 }  // namespace pw::string
diff --git a/pw_string/public/pw_string/string_builder.h b/pw_string/public/pw_string/string_builder.h
index e3a1db9..d2397e4 100644
--- a/pw_string/public/pw_string/string_builder.h
+++ b/pw_string/public/pw_string/string_builder.h
@@ -232,7 +232,7 @@
   // truncated and the status is set to RESOURCE_EXHAUSTED.
   //
   // Internally, calls string::Format, which calls std::vsnprintf.
-  StringBuilder& Format(const char* format, va_list args);
+  StringBuilder& FormatVaList(const char* format, va_list args);
 
   // Sets the StringBuilder's size. This function only truncates; if
   // new_size > size(), it sets status to OUT_OF_RANGE and does nothing.
diff --git a/pw_string/size_report/format_single.cc b/pw_string/size_report/format_single.cc
index 7610297..3982a1c 100644
--- a/pw_string/size_report/format_single.cc
+++ b/pw_string/size_report/format_single.cc
@@ -40,8 +40,7 @@
 
 #if USE_FORMAT
   // The code for using pw::string::Format is much simpler and safer.
-  return pw::string::Format(
-             span(buffer, buffer_size), "hello %s %d", get_buffer, get_size)
+  return Format(span(buffer, buffer_size), "hello %s %d", get_buffer, get_size)
       .size();
 #else   // std::snprintf
   if (buffer_size == 0u) {
diff --git a/pw_string/string_builder.cc b/pw_string/string_builder.cc
index 2c0be37..b433e7f 100644
--- a/pw_string/string_builder.cc
+++ b/pw_string/string_builder.cc
@@ -88,14 +88,15 @@
 StringBuilder& StringBuilder::Format(const char* format, ...) {
   va_list args;
   va_start(args, format);
-  Format(format, args);
+  FormatVaList(format, args);
   va_end(args);
 
   return *this;
 }
 
-StringBuilder& StringBuilder::Format(const char* format, va_list args) {
-  HandleStatusWithSize(string::Format(buffer_.subspan(size_), format, args));
+StringBuilder& StringBuilder::FormatVaList(const char* format, va_list args) {
+  HandleStatusWithSize(
+      string::FormatVaList(buffer_.subspan(size_), format, args));
   return *this;
 }