From 0084301854bc4e79d0d5b3694968ea5da3cf6ed8 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Mon, 28 Nov 2005 17:56:00 +0000
Subject: [PATCH] More SDL_main() hackery to pass the environment.

---
 src/conio/SDL_win32_main.c | 7 ++++---
 src/conio/sdl_con.c        | 6 +++++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/conio/SDL_win32_main.c b/src/conio/SDL_win32_main.c
index daeb4851b0..d261bd0f4f 100644
--- a/src/conio/SDL_win32_main.c
+++ b/src/conio/SDL_win32_main.c
@@ -30,6 +30,7 @@
 /* Include the SDL main definition header */
 #include "SDL.h"
 #include "SDL_main.h"
+extern C_LINKAGE int SDL_main_env(int argc, char *argv[], char **env);
 
 #ifdef main
 # ifndef _WIN32_WCE_EMULATION
@@ -194,7 +195,7 @@ static void __cdecl cleanup_output(void)
 #endif
 
 /* This is where execution begins [console apps] */
-int console_main(int argc, char *argv[])
+int console_main(int argc, char *argv[], char **env)
 {
 	int n;
 	char *bufp, *appname;
@@ -240,7 +241,7 @@ int console_main(int argc, char *argv[])
 	}
 
 	/* Run the application main() code */
-	SDL_main(argc, argv);
+	SDL_main_env(argc, argv, env);
 
 	/* Exit cleanly, calling atexit() functions */
 	exit(0);
@@ -352,5 +353,5 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw)
 	ParseCommandLine(cmdline, argv);
 
 	/* Run the main program (after a little SDL initialization) */
-	return(console_main(argc, argv));
+	return(console_main(argc, argv, _environ));
 }
diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c
index df71fb0615..b924cea412 100644
--- a/src/conio/sdl_con.c
+++ b/src/conio/sdl_con.c
@@ -1185,7 +1185,7 @@ int sdl_full_screen_redraw(int force)
 	int y;
 	unsigned int pos;
 	unsigned short *p;
-	unsigned short *newvmem=NULL;
+	unsigned short *newvmem;
 	static unsigned short *vmemcopies[2]={ NULL, NULL };
 	static SDL_Rect	*rects=NULL;
 	static int this_new=0;
@@ -1340,7 +1340,11 @@ int sdl_mouse_thread(void *data)
 }
 
 /* Event Thread */
+#ifndef main
 int main(int argc, char **argv, char **env)
+#else
+int SDL_main_env(int argc, char **argv, char **env)
+#endif
 {
 	unsigned int i;
 	SDL_Event	ev;
-- 
GitLab