From dcf063178c821a42c075997ee7a271e5dc1089f6 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Mon, 25 May 2026 13:37:16 +0200
Subject: [PATCH] Use pragma to ignore deprecated integer-to-ascii CRT
conversion functions
---
CMakeLists.txt | 7 -------
src/stdlib/SDL_string.c | 7 +++++++
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 061b1430a28ba..44d98af1ebbeb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -696,13 +696,6 @@ if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC)
endif()
if(MSVC)
- sdl_compile_definitions(
- PRIVATE
- "_CRT_SECURE_NO_DEPRECATE"
- "_CRT_NONSTDC_NO_DEPRECATE"
- "_CRT_SECURE_NO_WARNINGS"
- )
-
# CET support was added in VS 2019 16.7
if(MSVC_VERSION GREATER 1926 AND CMAKE_GENERATOR_PLATFORM MATCHES "Win32|x64")
# Mark SDL3.dll as compatible with Control-flow Enforcement Technology (CET)
diff --git a/src/stdlib/SDL_string.c b/src/stdlib/SDL_string.c
index 38864df4e3c4f..6c75b40ac5666 100644
--- a/src/stdlib/SDL_string.c
+++ b/src/stdlib/SDL_string.c
@@ -1158,6 +1158,10 @@ char *SDL_uitoa(unsigned int value, char *string, int radix)
return SDL_ultoa((unsigned long)value, string, radix);
}
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable:4996) // Ignore warning about deprecated itoa, _ltoa, _ultoa, _i64toa, _ui64toa
+#endif
char *SDL_itoa(int value, char *string, int radix)
{
#ifdef HAVE_ITOA
@@ -1250,6 +1254,9 @@ char *SDL_ulltoa(unsigned long long value, char *string, int radix)
return string;
#endif // HAVE__UI64TOA
}
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
int SDL_atoi(const char *string)
{