diff --git a/thirdparty/sdl/stdlib/SDL_getenv.c b/thirdparty/sdl/stdlib/SDL_getenv.c index b4a19224655..e23f8a0ea0d 100644 --- a/thirdparty/sdl/stdlib/SDL_getenv.c +++ b/thirdparty/sdl/stdlib/SDL_getenv.c @@ -50,6 +50,9 @@ extern char **environ; static char **environ; #endif +#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD) +#include +#endif struct SDL_Environment { @@ -149,6 +152,9 @@ SDL_Environment *SDL_CreateEnvironment(bool populated) const char *SDL_GetEnvironmentVariable(SDL_Environment *env, const char *name) { +#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD) + return getenv(name); +#else const char *result = NULL; if (!env) { @@ -168,6 +174,7 @@ const char *SDL_GetEnvironmentVariable(SDL_Environment *env, const char *name) SDL_UnlockMutex(env->lock); return result; +#endif } typedef struct CountEnvStringsData @@ -246,6 +253,9 @@ char **SDL_GetEnvironmentVariables(SDL_Environment *env) bool SDL_SetEnvironmentVariable(SDL_Environment *env, const char *name, const char *value, bool overwrite) { +#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD) + return setenv(name, value, overwrite); +#else bool result = false; if (!env) { @@ -281,10 +291,14 @@ bool SDL_SetEnvironmentVariable(SDL_Environment *env, const char *name, const ch SDL_UnlockMutex(env->lock); return result; +#endif } bool SDL_UnsetEnvironmentVariable(SDL_Environment *env, const char *name) { +#if defined(SDL_PLATFORM_LINUX) || defined(SDL_PLATFORM_MACOS) || defined(SDL_PLATFORM_FREEBSD) + return unsetenv(name); +#else bool result = false; if (!env) { @@ -305,6 +319,7 @@ bool SDL_UnsetEnvironmentVariable(SDL_Environment *env, const char *name) SDL_UnlockMutex(env->lock); return result; +#endif } void SDL_DestroyEnvironment(SDL_Environment *env)