From 543a2ed23aab3b95431a3ccf7928fb8e67e081f8 Mon Sep 17 00:00:00 2001
From: Cameron Gutman <[EMAIL REDACTED]>
Date: Sun, 16 Feb 2025 16:20:56 -0600
Subject: [PATCH] env: Handle renamed variables/hints in SDL_setenv()
---
src/sdl2_compat.c | 13 +++++++++++++
src/sdl3_syms.h | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/sdl2_compat.c b/src/sdl2_compat.c
index 99b5598..6542bf9 100644
--- a/src/sdl2_compat.c
+++ b/src/sdl2_compat.c
@@ -5818,6 +5818,19 @@ static void SynchronizeEnvironmentVariables()
SDL3_DestroyEnvironment(fresh_env);
}
+SDL_DECLSPEC int SDLCALL
+SDL_setenv(const char *name, const char *value, int overwrite)
+{
+ int retval;
+
+ retval = SDL3_setenv_unsafe(name, value, overwrite);
+ if (retval == 0) {
+ SDL2COMPAT_SetEnvironmentVariable(SDL3_GetEnvironment(), name, value, overwrite != 0);
+ }
+
+ return retval;
+}
+
static SDL_InitFlags PreInitSubsystem(SDL_InitFlags flags)
{
/* If the subsystem is already initialized, mask out the flag for it */
diff --git a/src/sdl3_syms.h b/src/sdl3_syms.h
index dca3710..b8070ec 100644
--- a/src/sdl3_syms.h
+++ b/src/sdl3_syms.h
@@ -816,7 +816,7 @@ SDL3_SYM_PASSTHROUGH(double,round,(double a),(a),return)
SDL3_SYM_PASSTHROUGH(float,roundf,(float a),(a),return)
SDL3_SYM_PASSTHROUGH(double,scalbn,(double a, int b),(a,b),return)
SDL3_SYM_PASSTHROUGH(float,scalbnf,(float a, int b),(a,b),return)
-SDL3_SYM_RENAMED(int,setenv,setenv_unsafe,(const char *a, const char *b, int c),(a,b,c),return)
+SDL3_SYM(int,setenv_unsafe,(const char *a, const char *b, int c),(a,b,c),return)
SDL3_SYM_PASSTHROUGH(double,sin,(double a),(a),return)
SDL3_SYM_PASSTHROUGH(float,sinf,(float a),(a),return)
SDL3_SYM_PASSTHROUGH(double,sqrt,(double a),(a),return)