22#if defined(__clang_analyzer__) && !defined(SDL_DISABLE_ANALYZE_MACROS)
23#define SDL_DISABLE_ANALYZE_MACROS 1
26#include "../SDL_internal.h"
29#include "../core/windows/SDL_windows.h"
32#if defined(__ANDROID__)
33#include "../core/android/SDL_android.h"
38#if defined(__WIN32__) && (!defined(HAVE_SETENV) || !defined(HAVE_GETENV))
40static char *SDL_envmem =
NULL;
41static size_t SDL_envmemlen = 0;
46#if defined(HAVE_SETENV)
57#elif defined(__WIN32__)
67 if (GetEnvironmentVariableA(
name,
NULL, 0) > 0) {
77#elif (defined(HAVE_GETENV) && defined(HAVE_PUTENV) && !defined(HAVE_SETENV))
105 return putenv(new_variable);
169 return (added ? 0 : -1);
174#if defined(HAVE_GETENV)
178#if defined(__ANDROID__)
190#elif defined(__WIN32__)
202 GetEnvironmentVariableA(
name, SDL_envmem, (DWORD) SDL_envmemlen);
203 if (bufferlen == 0) {
206 if (bufferlen > SDL_envmemlen) {
207 char *newmem = (
char *)
SDL_realloc(SDL_envmem, bufferlen);
208 if (newmem ==
NULL) {
212 SDL_envmemlen = bufferlen;
213 GetEnvironmentVariableA(
name, SDL_envmem, (DWORD) SDL_envmemlen);
248main(
int argc,
char *argv[])
252 printf(
"Checking for non-existent variable... ");
259 printf(
"Setting FIRST=VALUE1 in the environment... ");
266 printf(
"Getting FIRST from the environment... ");
274 printf(
"Setting SECOND=VALUE2 in the environment... ");
281 printf(
"Getting SECOND from the environment... ");
289 printf(
"Setting FIRST=NOVALUE in the environment... ");
296 printf(
"Getting FIRST from the environment... ");
304 printf(
"Checking for non-existent variable... ");
void Android_JNI_GetManifestEnvironmentVariables(void)
int SDL_setenv(const char *name, const char *value, int overwrite)
char * SDL_getenv(const char *name)
GLuint const GLchar * name
GLsizei const GLfloat * value
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)