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++ = ':';
}