Path: blob/master/thirdparty/sdl/patches/0006-fix-cs-environ.patch
9898 views
diff --git a/thirdparty/sdl/stdlib/SDL_getenv.c b/thirdparty/sdl/stdlib/SDL_getenv.c1index b4a19224655..e23f8a0ea0d 1006442--- a/thirdparty/sdl/stdlib/SDL_getenv.c3+++ b/thirdparty/sdl/stdlib/SDL_getenv.c4@@ -50,6 +50,9 @@ extern char **environ;5static char **environ;6#endif78+#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD)9+#include <stdlib.h>10+#endif1112struct SDL_Environment13{14@@ -149,6 +152,9 @@ SDL_Environment *SDL_CreateEnvironment(bool populated)1516const char *SDL_GetEnvironmentVariable(SDL_Environment *env, const char *name)17{18+#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD)19+ return getenv(name);20+#else21const char *result = NULL;2223if (!env) {24@@ -168,6 +174,7 @@ const char *SDL_GetEnvironmentVariable(SDL_Environment *env, const char *name)25SDL_UnlockMutex(env->lock);2627return result;28+#endif29}3031typedef struct CountEnvStringsData32@@ -246,6 +253,9 @@ char **SDL_GetEnvironmentVariables(SDL_Environment *env)3334bool SDL_SetEnvironmentVariable(SDL_Environment *env, const char *name, const char *value, bool overwrite)35{36+#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD)37+ return setenv(name, value, overwrite);38+#else39bool result = false;4041if (!env) {42@@ -281,10 +291,14 @@ bool SDL_SetEnvironmentVariable(SDL_Environment *env, const char *name, const ch43SDL_UnlockMutex(env->lock);4445return result;46+#endif47}4849bool SDL_UnsetEnvironmentVariable(SDL_Environment *env, const char *name)50{51+#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD)52+ return unsetenv(name);53+#else54bool result = false;5556if (!env) {57@@ -305,6 +319,7 @@ bool SDL_UnsetEnvironmentVariable(SDL_Environment *env, const char *name)58SDL_UnlockMutex(env->lock);5960return result;61+#endif62}6364void SDL_DestroyEnvironment(SDL_Environment *env)656667