rtc_base: fix -Wformat-nonliteral warning
This fixes -Wformat-nonliteral when building with glibc 2.27
BUG=chromium:894859
TEST=emerge-samus webrtc-apm with glibc 2.27
Change-Id: I9db84c2146b2bb366e07d9d54546d91bf3a6713d
Reviewed-on: https://chromium-review.googlesource.com/1277980
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/rtc_base/stringutils.h b/rtc_base/stringutils.h
index d92ba02..7073df1 100644
--- a/rtc_base/stringutils.h
+++ b/rtc_base/stringutils.h
@@ -173,9 +173,10 @@
// Some compilers (clang specifically) require vsprintfn be defined before
// sprintfn.
template <class CTYPE>
+__attribute__ ((__format__ (__printf__, 3, 0)))
size_t vsprintfn(CTYPE* buffer,
size_t buflen,
- const CTYPE* format,
+ const char* format,
va_list args) {
int len = vsnprintf(buffer, buflen, format, args);
if ((len < 0) || (static_cast<size_t>(len) >= buflen)) {
@@ -186,9 +187,8 @@
}
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, ...) {
+__attribute__ ((__format__ (__printf__, 3, 0)))
+size_t sprintfn(CTYPE* buffer, size_t buflen, const char* format, ...) {
va_list args;
va_start(args, format);
size_t len = vsprintfn(buffer, buflen, format, args);