CMake check for vsprintf_s/vsnprintf rather than sprintf_s/snprintf.

This commit is contained in:
Tsuda Kageyu
2015-08-01 03:02:48 +09:00
parent 13dab99af0
commit aa1dd0278d
3 changed files with 15 additions and 11 deletions

View 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