Delete wrappers for snprintf and vsnprintf

Bug: webrtc:6424
Change-Id: I99373dc86e25caff20111408b104ff5dafa7b711
Reviewed-on: https://webrtc-review.googlesource.com/c/106322
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25210}
diff --git a/examples/peerconnection/client/linux/main_wnd.cc b/examples/peerconnection/client/linux/main_wnd.cc
index 52b0d88..2f7777d 100644
--- a/examples/peerconnection/client/linux/main_wnd.cc
+++ b/examples/peerconnection/client/linux/main_wnd.cc
@@ -18,11 +18,8 @@
 #include "examples/peerconnection/client/defaults.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/stringutils.h"
 #include "third_party/libyuv/include/libyuv/convert_from.h"
 
-using rtc::sprintfn;
-
 namespace {
 
 //
@@ -150,7 +147,7 @@
       autoconnect_(autoconnect),
       autocall_(autocall) {
   char buffer[10];
-  sprintfn(buffer, sizeof(buffer), "%i", port);
+  snprintf(buffer, sizeof(buffer), "%i", port);
   port_ = buffer;
 }
 
diff --git a/examples/peerconnection/client/main_wnd.cc b/examples/peerconnection/client/main_wnd.cc
index 3ad2488..8edd1e7 100644
--- a/examples/peerconnection/client/main_wnd.cc
+++ b/examples/peerconnection/client/main_wnd.cc
@@ -17,14 +17,11 @@
 #include "rtc_base/arraysize.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/stringutils.h"
 #include "third_party/libyuv/include/libyuv/convert_argb.h"
 
 ATOM MainWnd::wnd_class_ = 0;
 const wchar_t MainWnd::kClassName[] = L"WebRTC_MainWnd";
 
-using rtc::sprintfn;
-
 namespace {
 
 const char kConnecting[] = "Connecting... ";
@@ -86,8 +83,8 @@
       server_(server),
       auto_connect_(auto_connect),
       auto_call_(auto_call) {
-  char buffer[10] = {0};
-  sprintfn(buffer, sizeof(buffer), "%i", port);
+  char buffer[10];
+  snprintf(buffer, sizeof(buffer), "%i", port);
   port_ = buffer;
 }
 
diff --git a/examples/peerconnection/client/peer_connection_client.cc b/examples/peerconnection/client/peer_connection_client.cc
index bb79d16..f173e42 100644
--- a/examples/peerconnection/client/peer_connection_client.cc
+++ b/examples/peerconnection/client/peer_connection_client.cc
@@ -14,14 +14,11 @@
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/nethelpers.h"
-#include "rtc_base/stringutils.h"
 
 #ifdef WIN32
 #include "rtc_base/win32socketserver.h"
 #endif
 
-using rtc::sprintfn;
-
 namespace {
 
 // This is our magical hangup signal.
@@ -136,7 +133,7 @@
   hanging_get_.reset(CreateClientSocket(server_address_.ipaddr().family()));
   InitSocketSignals();
   char buffer[1024];
-  sprintfn(buffer, sizeof(buffer), "GET /sign_in?%s HTTP/1.0\r\n\r\n",
+  snprintf(buffer, sizeof(buffer), "GET /sign_in?%s HTTP/1.0\r\n\r\n",
            client_name_.c_str());
   onconnect_data_ = buffer;
 
@@ -158,9 +155,9 @@
     return false;
 
   char headers[1024];
-  sprintfn(headers, sizeof(headers),
+  snprintf(headers, sizeof(headers),
            "POST /message?peer_id=%i&to=%i HTTP/1.0\r\n"
-           "Content-Length: %i\r\n"
+           "Content-Length: %zu\r\n"
            "Content-Type: text/plain\r\n"
            "\r\n",
            my_id_, peer_id, message.length());
@@ -190,7 +187,7 @@
 
     if (my_id_ != -1) {
       char buffer[1024];
-      sprintfn(buffer, sizeof(buffer),
+      snprintf(buffer, sizeof(buffer),
                "GET /sign_out?peer_id=%i HTTP/1.0\r\n\r\n", my_id_);
       onconnect_data_ = buffer;
       return ConnectControlSocket();
@@ -237,7 +234,7 @@
 
 void PeerConnectionClient::OnHangingGetConnect(rtc::AsyncSocket* socket) {
   char buffer[1024];
-  sprintfn(buffer, sizeof(buffer), "GET /wait?peer_id=%i HTTP/1.0\r\n\r\n",
+  snprintf(buffer, sizeof(buffer), "GET /wait?peer_id=%i HTTP/1.0\r\n\r\n",
            my_id_);
   int len = static_cast<int>(strlen(buffer));
   int sent = socket->Send(buffer, len);
diff --git a/examples/peerconnection/server/peer_channel.cc b/examples/peerconnection/server/peer_channel.cc
index 6ef08d7..b23b7e0 100644
--- a/examples/peerconnection/server/peer_channel.cc
+++ b/examples/peerconnection/server/peer_channel.cc
@@ -19,9 +19,6 @@
 #include "examples/peerconnection/server/data_socket.h"
 #include "examples/peerconnection/server/utils.h"
 #include "rtc_base/stringencode.h"
-#include "rtc_base/stringutils.h"
-
-using rtc::sprintfn;
 
 // Set to the peer id of the originator when messages are being
 // exchanged between peers, but set to the id of the receiving peer
@@ -98,7 +95,7 @@
 
   // name, 11-digit int, 1-digit bool, newline, null
   char entry[kMaxNameLength + 15];
-  sprintfn(entry, sizeof(entry), "%s,%d,%d\n",
+  snprintf(entry, sizeof(entry), "%s,%d,%d\n",
            name_.substr(0, kMaxNameLength).c_str(), id_, connected_);
   return entry;
 }
diff --git a/p2p/base/pseudotcp.cc b/p2p/base/pseudotcp.cc
index 161122b..c742985 100644
--- a/p2p/base/pseudotcp.cc
+++ b/p2p/base/pseudotcp.cc
@@ -24,7 +24,6 @@
 #include "rtc_base/logging.h"
 #include "rtc_base/numerics/safe_minmax.h"
 #include "rtc_base/socket.h"
-#include "rtc_base/stringutils.h"
 #include "rtc_base/timeutils.h"
 
 // The following logging is for detailed (packet-level) analysis only.
@@ -186,8 +185,8 @@
   char buffer[256];
   size_t len = 0;
   for (int i = 0; i < S_NUM_STATS; ++i) {
-    len += rtc::sprintfn(buffer, arraysize(buffer), "%s%s:%d",
-                               (i == 0) ? "" : ",", STAT_NAMES[i], g_stats[i]);
+    len += snprintf(buffer, arraysize(buffer), "%s%s:%d",
+                          (i == 0) ? "" : ",", STAT_NAMES[i], g_stats[i]);
     g_stats[i] = 0;
   }
   RTC_LOG(LS_INFO) << "Stats[" << buffer << "]";
diff --git a/pc/webrtcsdp_unittest.cc b/pc/webrtcsdp_unittest.cc
index 8eeeeab..59897af 100644
--- a/pc/webrtcsdp_unittest.cc
+++ b/pc/webrtcsdp_unittest.cc
@@ -2078,9 +2078,8 @@
 
   char default_portstr[16];
   char new_portstr[16];
-  rtc::sprintfn(default_portstr, sizeof(default_portstr), "%d",
-                kDefaultSctpPort);
-  rtc::sprintfn(new_portstr, sizeof(new_portstr), "%d", kNewPort);
+  snprintf(default_portstr, sizeof(default_portstr), "%d", kDefaultSctpPort);
+  snprintf(new_portstr, sizeof(new_portstr), "%d", kNewPort);
   rtc::replace_substrs(default_portstr, strlen(default_portstr), new_portstr,
                        strlen(new_portstr), &expected_sdp);
 
diff --git a/rtc_base/base64_unittest.cc b/rtc_base/base64_unittest.cc
index 4b857f1..bdf8559 100644
--- a/rtc_base/base64_unittest.cc
+++ b/rtc_base/base64_unittest.cc
@@ -11,7 +11,6 @@
 #include "rtc_base/third_party/base64/base64.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/stringutils.h"
 
 #include "rtc_base/testbase64.h"
 
@@ -430,10 +429,10 @@
 
       // try putting some extra stuff after the equals signs, or in between them
       if (equals == 2) {
-        sprintfn(first_equals, 6, " = = ");
+        snprintf(first_equals, 6, " = = ");
         len = first_equals - encode_buffer + 5;
       } else {
-        sprintfn(first_equals, 6, " = ");
+        snprintf(first_equals, 6, " = ");
         len = first_equals - encode_buffer + 3;
       }
       decoded2.assign("this junk should be ignored");
diff --git a/rtc_base/event_tracer.cc b/rtc_base/event_tracer.cc
index 31f4271..c61def9 100644
--- a/rtc_base/event_tracer.cc
+++ b/rtc_base/event_tracer.cc
@@ -20,7 +20,6 @@
 #include "rtc_base/event.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/platform_thread.h"
-#include "rtc_base/stringutils.h"
 #include "rtc_base/timeutils.h"
 #include "rtc_base/trace_event.h"
 
@@ -286,19 +285,19 @@
           }
           break;
         case TRACE_VALUE_TYPE_UINT:
-          print_length = sprintfn(&output[0], kTraceArgBufferLength, "%llu",
+          print_length = snprintf(&output[0], kTraceArgBufferLength, "%llu",
                                   arg.value.as_uint);
           break;
         case TRACE_VALUE_TYPE_INT:
-          print_length = sprintfn(&output[0], kTraceArgBufferLength, "%lld",
+          print_length = snprintf(&output[0], kTraceArgBufferLength, "%lld",
                                   arg.value.as_int);
           break;
         case TRACE_VALUE_TYPE_DOUBLE:
-          print_length = sprintfn(&output[0], kTraceArgBufferLength, "%f",
+          print_length = snprintf(&output[0], kTraceArgBufferLength, "%f",
                                   arg.value.as_double);
           break;
         case TRACE_VALUE_TYPE_POINTER:
-          print_length = sprintfn(&output[0], kTraceArgBufferLength, "\"%p\"",
+          print_length = snprintf(&output[0], kTraceArgBufferLength, "\"%p\"",
                                   arg.value.as_pointer);
           break;
       }
diff --git a/rtc_base/httpcommon.cc b/rtc_base/httpcommon.cc
index 43831b7..baf843d 100644
--- a/rtc_base/httpcommon.cc
+++ b/rtc_base/httpcommon.cc
@@ -32,7 +32,6 @@
 #include "rtc_base/messagedigest.h"
 #include "rtc_base/socketaddress.h"
 #include "rtc_base/strings/string_builder.h"
-#include "rtc_base/stringutils.h"                // for strcpyn, _stricmp
 #include "rtc_base/third_party/base64/base64.h"  // for Base64
 #include "rtc_base/zero_memory.h"                // for ExplicitZeroMemory
 
@@ -377,7 +376,7 @@
       return HAR_IGNORE;
     }
 #else
-    sprintfn(spn, MAX_SPN, "HTTP/%s", server.ToString().c_str());
+    snprintf(spn, MAX_SPN, "HTTP/%s", server.ToString().c_str());
 #endif
 
     SecBuffer out_sec;
diff --git a/rtc_base/ipaddress.cc b/rtc_base/ipaddress.cc
index c52c9a4..9967ff3 100644
--- a/rtc_base/ipaddress.cc
+++ b/rtc_base/ipaddress.cc
@@ -162,11 +162,10 @@
       std::string result;
       result.resize(INET6_ADDRSTRLEN);
       in6_addr addr = ipv6_address();
-      size_t len =
-          rtc::sprintfn(&(result[0]), result.size(), "%x:%x:%x:x:x:x:x:x",
-                        (addr.s6_addr[0] << 8) + addr.s6_addr[1],
-                        (addr.s6_addr[2] << 8) + addr.s6_addr[3],
-                        (addr.s6_addr[4] << 8) + addr.s6_addr[5]);
+      size_t len = snprintf(&(result[0]), result.size(), "%x:%x:%x:x:x:x:x:x",
+                            (addr.s6_addr[0] << 8) + addr.s6_addr[1],
+                            (addr.s6_addr[2] << 8) + addr.s6_addr[3],
+                            (addr.s6_addr[4] << 8) + addr.s6_addr[5]);
       result.resize(len);
       return result;
     }
diff --git a/rtc_base/location.cc b/rtc_base/location.cc
index 9c90d9e..c95ad9c 100644
--- a/rtc_base/location.cc
+++ b/rtc_base/location.cc
@@ -10,8 +10,6 @@
 
 #include "rtc_base/location.h"
 
-#include "rtc_base/stringutils.h"
-
 namespace rtc {
 
 Location::Location(const char* function_name, const char* file_and_line)
@@ -31,7 +29,7 @@
 
 std::string Location::ToString() const {
   char buf[256];
-  sprintfn(buf, sizeof(buf), "%s@%s", function_name_, file_and_line_);
+  snprintf(buf, sizeof(buf), "%s@%s", function_name_, file_and_line_);
   return buf;
 }
 
diff --git a/rtc_base/stringutils.h b/rtc_base/stringutils.h
index 2d9228b..75436b1 100644
--- a/rtc_base/stringutils.h
+++ b/rtc_base/stringutils.h
@@ -141,32 +141,6 @@
   return bufpos + strcpyn(buffer + bufpos, buflen - bufpos, source, srclen);
 }
 
-// Some compilers (clang specifically) require vsprintfn be defined before
-// sprintfn.
-template <class CTYPE>
-size_t vsprintfn(CTYPE* buffer,
-                 size_t buflen,
-                 const CTYPE* format,
-                 va_list args) {
-  int len = vsnprintf(buffer, buflen, format, args);
-  if ((len < 0) || (static_cast<size_t>(len) >= buflen)) {
-    len = static_cast<int>(buflen - 1);
-    buffer[len] = 0;
-  }
-  return len;
-}
-
-template <class CTYPE>
-size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...);
-template <class CTYPE>
-size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) {
-  va_list args;
-  va_start(args, format);
-  size_t len = vsprintfn(buffer, buflen, format, args);
-  va_end(args);
-  return len;
-}
-
 ///////////////////////////////////////////////////////////////////////////////
 // Traits<char> specializations
 ///////////////////////////////////////////////////////////////////////////////
diff --git a/rtc_base/testutils.h b/rtc_base/testutils.h
index 2ab4a35..25e1edc 100644
--- a/rtc_base/testutils.h
+++ b/rtc_base/testutils.h
@@ -21,7 +21,6 @@
 #include "rtc_base/checks.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/stream.h"
-#include "rtc_base/stringutils.h"
 
 namespace webrtc {
 namespace testing {
@@ -164,7 +163,7 @@
     va_list args;
     va_start(args, format);
     char buffer[1024];
-    size_t len = vsprintfn(buffer, sizeof(buffer), format, args);
+    size_t len = vsnprintf(buffer, sizeof(buffer), format, args);
     RTC_CHECK(len < sizeof(buffer) - 1);
     va_end(args);
     QueueData(buffer, len);
diff --git a/rtc_base/thread.cc b/rtc_base/thread.cc
index 8b0ef41..b6c6a47 100644
--- a/rtc_base/thread.cc
+++ b/rtc_base/thread.cc
@@ -29,7 +29,6 @@
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/nullsocketserver.h"
-#include "rtc_base/stringutils.h"
 #include "rtc_base/timeutils.h"
 #include "rtc_base/trace_event.h"
 
@@ -221,8 +220,10 @@
 
   name_ = name;
   if (obj) {
-    char buf[16];
-    sprintfn(buf, sizeof(buf), " 0x%p", obj);
+    // The %p specifier typically produce at most 16 hex digits, possibly with a
+    // 0x prefix. But format is implementation defined, so add some margin.
+    char buf[30];
+    snprintf(buf, sizeof(buf), " 0x%p", obj);
     name_ += buf;
   }
   return true;
diff --git a/rtc_base/win32.cc b/rtc_base/win32.cc
index d81d685..e138752 100644
--- a/rtc_base/win32.cc
+++ b/rtc_base/win32.cc
@@ -72,9 +72,9 @@
   }
   const struct in_addr* as_in_addr =
       reinterpret_cast<const struct in_addr*>(src);
-  rtc::sprintfn(dst, size, "%d.%d.%d.%d", as_in_addr->S_un.S_un_b.s_b1,
-                as_in_addr->S_un.S_un_b.s_b2, as_in_addr->S_un.S_un_b.s_b3,
-                as_in_addr->S_un.S_un_b.s_b4);
+  snprintf(dst, size, "%d.%d.%d.%d", as_in_addr->S_un.S_un_b.s_b1,
+           as_in_addr->S_un.S_un_b.s_b2, as_in_addr->S_un.S_un_b.s_b3,
+           as_in_addr->S_un.S_un_b.s_b4);
   return dst;
 }
 
@@ -127,7 +127,7 @@
     *cursor++ = ':';
     *cursor++ = ':';
     if (maxpos == 4) {
-      cursor += rtc::sprintfn(cursor, INET6_ADDRSTRLEN - 2, "ffff:");
+      cursor += snprintf(cursor, INET6_ADDRSTRLEN - 2, "ffff:");
     }
     const struct in_addr* as_v4 =
         reinterpret_cast<const struct in_addr*>(&(as_shorts[6]));
@@ -136,8 +136,8 @@
   } else {
     for (int i = 0; i < run_array_size; ++i) {
       if (runpos[i] == -1) {
-        cursor += rtc::sprintfn(cursor, INET6_ADDRSTRLEN - (cursor - dst), "%x",
-                                NetworkToHost16(as_shorts[i]));
+        cursor += snprintf(cursor, INET6_ADDRSTRLEN - (cursor - dst), "%x",
+                           NetworkToHost16(as_shorts[i]));
         if (i != 7 && runpos[i + 1] != 1) {
           *cursor++ = ':';
         }