]> granicus.if.org Git - taglib/commitdiff
CMake check for vsprintf_s/vsnprintf rather than sprintf_s/snprintf.
authorTsuda Kageyu <tsuda.kageyu@gmail.com>
Fri, 31 Jul 2015 18:02:48 +0000 (03:02 +0900)
committerTsuda Kageyu <tsuda.kageyu@gmail.com>
Sat, 1 Aug 2015 14:38:50 +0000 (23:38 +0900)
ConfigureChecks.cmake
config.h.cmake
taglib/toolkit/tutils.h

index 04f395480798b42d11be93b413944007596206c6..a4a571992258d98cf1171342bb8344f7353d3a6e 100644 (file)
@@ -201,26 +201,30 @@ if(NOT HAVE_GCC_BYTESWAP_16 OR NOT HAVE_GCC_BYTESWAP_32 OR NOT HAVE_GCC_BYTESWAP
   endif()
 endif()
 
-# Determine whether your compiler supports some safer version of sprintf.
+# Determine whether your compiler supports some safer version of vsprintf.
 
 check_cxx_source_compiles("
   #include <cstdio>
+  #include <cstdarg>
   int main() {
     char buf[20];
-    snprintf(buf, 20, \"%d\", 1);
+    va_list args;
+    vsprintf_s(buf, \"%d\", args);
     return 0;
   }
-" HAVE_SNPRINTF)
+" HAVE_VSPRINTF_S)
 
-if(NOT HAVE_SNPRINTF)
+if(NOT HAVE_VSPRINTF_S)
   check_cxx_source_compiles("
     #include <cstdio>
+    #include <cstdarg>
     int main() {
       char buf[20];
-      sprintf_s(buf, \"%d\", 1);
+      va_list args;
+      vsnprintf(buf, 20, \"%d\", args);
       return 0;
     }
-  " HAVE_SPRINTF_S)
+  " HAVE_VSNPRINTF)
 endif()
 
 # Check for libz using the cmake supplied FindZLIB.cmake
index 8fd8391d7a804094b3fe79b44394cedd6c0f9474..44cabfce04e8f8d93ab98c7c2433e6fd405004e6 100644 (file)
@@ -25,9 +25,9 @@
 #cmakedefine   HAVE_WIN_ATOMIC 1
 #cmakedefine   HAVE_IA64_ATOMIC 1
 
-/* Defined if your compiler supports some safer version of sprintf */
-#cmakedefine   HAVE_SNPRINTF 1
-#cmakedefine   HAVE_SPRINTF_S 1
+/* Defined if your compiler supports some safer version of vsprintf */
+#cmakedefine   HAVE_VSNPRINTF 1
+#cmakedefine   HAVE_VSPRINTF_S 1
 
 /* Defined if you have libz */
 #cmakedefine   HAVE_ZLIB 1
index a7ed6fde9a93b71cb6b2093cce28a68d069ac4d0..c5e0cc7771b087bddf320cb3954f8d3ee8b49624 100644 (file)
@@ -177,11 +177,11 @@ namespace TagLib
       char buf[BufferSize];
       int length;
 
-#if defined(HAVE_SNPRINTF)
+#if defined(HAVE_VSNPRINTF)
 
       length = vsnprintf(buf, BufferSize, format, args);
 
-#elif defined(HAVE_SPRINTF_S)
+#elif defined(HAVE_VSPRINTF_S)
 
       length = vsprintf_s(buf, format, args);