SDL: Use pragma to ignore deprecated integer-to-ascii CRT conversion functions

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)
 {