SDL: _uitoa does not exist (ac75a)

From ac75a4f020aa33fa770c01dfed038a05294ffcd4 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Mon, 25 May 2026 13:35:46 +0200
Subject: [PATCH] _uitoa does not exist

(cherry picked from commit 08e338f45c583ad0af3169bf2cc31260b1a5d91b)
(cherry picked from commit 452348acf8d682adca0ba04e0795826dfde81824)
---
 CMakeLists.txt                                |  2 +-
 cmake/PreseedEmscriptenCache.cmake            |  1 -
 cmake/PreseedMSVCCache.cmake                  |  1 -
 include/build_config/SDL_build_config.h.cmake |  1 -
 src/stdlib/SDL_string.c                       | 14 +++++---------
 5 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 31e6c1985b30e..06237e1422c0f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1042,7 +1042,7 @@ if(SDL_LIBC)
   )
   if(WINDOWS)
     list(APPEND symbols_to_check
-      _copysign _fseeki64 _strrev _ui64toa _uitoa _ultoa _wcsdup
+      _copysign _fseeki64 _strrev _ui64toa _ultoa _wcsdup
     )
   else()
     list(APPEND symbols_to_check
diff --git a/cmake/PreseedEmscriptenCache.cmake b/cmake/PreseedEmscriptenCache.cmake
index 5a34ab5ac21f4..f015cc8f7ec4f 100644
--- a/cmake/PreseedEmscriptenCache.cmake
+++ b/cmake/PreseedEmscriptenCache.cmake
@@ -131,7 +131,6 @@ if(EMSCRIPTEN)
     set(LIBC_HAS__LTOA                                   ""    CACHE INTERNAL "Have symbol _ltoa")
     set(LIBC_HAS__STRREV                                 ""    CACHE INTERNAL "Have symbol _strrev")
     set(LIBC_HAS__UI64TOA                                ""    CACHE INTERNAL "Have symbol _ui64toa")
-    set(LIBC_HAS__UITOA                                  ""    CACHE INTERNAL "Have symbol _uitoa")
     set(LIBC_HAS__ULTOA                                  ""    CACHE INTERNAL "Have symbol _ultoa")
     set(LIBC_HAS__WCSDUP                                 ""    CACHE INTERNAL "Have symbol _wcsdup")
     set(LIBC_IS_GLIBC                                    ""    CACHE INTERNAL "Have symbol __GLIBC__")
diff --git a/cmake/PreseedMSVCCache.cmake b/cmake/PreseedMSVCCache.cmake
index 17495aa480aba..1756c73c5eb45 100644
--- a/cmake/PreseedMSVCCache.cmake
+++ b/cmake/PreseedMSVCCache.cmake
@@ -144,7 +144,6 @@ if(MSVC)
     set(LIBC_HAS__LTOA                                   "1"   CACHE INTERNAL "Have symbol _ltoa")
     set(LIBC_HAS__STRREV                                 "1"   CACHE INTERNAL "Have symbol _strrev")
     set(LIBC_HAS__UI64TOA                                "1"   CACHE INTERNAL "Have symbol _ui64toa")
-    set(LIBC_HAS__UITOA                                  ""    CACHE INTERNAL "Have symbol _uitoa")
     set(LIBC_HAS__ULTOA                                  "1"   CACHE INTERNAL "Have symbol _ultoa")
     set(LIBC_HAS__WCSDUP                                 "1"   CACHE INTERNAL "Have symbol _wcsdup")
     set(LIBC_IS_GLIBC                                    ""    CACHE INTERNAL "Have symbol __GLIBC__")
diff --git a/include/build_config/SDL_build_config.h.cmake b/include/build_config/SDL_build_config.h.cmake
index 6a98d41edec3b..27643aad3ee71 100644
--- a/include/build_config/SDL_build_config.h.cmake
+++ b/include/build_config/SDL_build_config.h.cmake
@@ -101,7 +101,6 @@
 #cmakedefine HAVE_STRTOK_R 1
 #cmakedefine HAVE_ITOA 1
 #cmakedefine HAVE__LTOA 1
-#cmakedefine HAVE__UITOA 1
 #cmakedefine HAVE__ULTOA 1
 #cmakedefine HAVE_STRTOL 1
 #cmakedefine HAVE_STRTOUL 1
diff --git a/src/stdlib/SDL_string.c b/src/stdlib/SDL_string.c
index 79679a1f44405..6d4e3c98229b8 100644
--- a/src/stdlib/SDL_string.c
+++ b/src/stdlib/SDL_string.c
@@ -1151,6 +1151,11 @@ static const char ntoa_table[] = {
 };
 #endif // ntoa() conversion table
 
+char *SDL_uitoa(unsigned int value, char *string, int radix)
+{
+    return SDL_ultoa((unsigned long)value, string, radix);
+}
+
 char *SDL_itoa(int value, char *string, int radix)
 {
 #ifdef HAVE_ITOA
@@ -1160,15 +1165,6 @@ char *SDL_itoa(int value, char *string, int radix)
 #endif // HAVE_ITOA
 }
 
-char *SDL_uitoa(unsigned int value, char *string, int radix)
-{
-#ifdef HAVE__UITOA
-    return _uitoa(value, string, radix);
-#else
-    return SDL_ultoa((unsigned long)value, string, radix);
-#endif // HAVE__UITOA
-}
-
 char *SDL_ltoa(long value, char *string, int radix)
 {
 #ifdef HAVE__LTOA