changeset 15146:be6560506cce

(WinMain): Function removed. (_start) [HAVE_NTGUI]: Don't invoke WinMain, but do set up WinMain args as crt0.c would.
author Geoff Voelker <voelker@cs.washington.edu>
date Fri, 03 May 1996 18:39:18 +0000
parents 86a1f426871e
children 38c0ce06203f
files src/unexw32.c
diffstat 1 files changed, 6 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/src/unexw32.c	Fri May 03 18:35:50 1996 +0000
+++ b/src/unexw32.c	Fri May 03 18:39:18 1996 +0000
@@ -67,45 +67,6 @@
 HINSTANCE hprevinst = NULL;
 LPSTR lpCmdLine = "";
 int nCmdShow = 0;
-    
-int __stdcall 
-WinMain (_hinst, _hPrevInst, _lpCmdLine, _nCmdShow)
-     HINSTANCE _hinst;
-     HINSTANCE _hPrevInst;
-     LPSTR _lpCmdLine;
-     int _nCmdShow;
-{
-  int i, j, new_argc;
-  char **new_argv;
-
-  /* Need to parse command line */
-    
-  hinst = _hinst;
-  hprevinst = _hPrevInst;
-  lpCmdLine = _lpCmdLine;
-  nCmdShow = _nCmdShow;
-
-  new_argc = __argc;
-  new_argv = (char **) xmalloc (sizeof (char *) * new_argc);
-  if (!new_argv)
-    return main (__argc, __argv, _environ);
-
-  for (i = j = 0; i < __argc; i++) 
-    {
-      /* Allocate a console window for stdout and stderr if requested.
-	 We want to allocate as soon as we possibly can to catch
-	 debugging output.  */
-      if (!strcmp ("-output_console", __argv[i]))
-	{
-	  AllocConsole ();
-	  new_argc--;
-	  continue;
-	}
-      new_argv[j++] = __argv[i];
-    }
-
-  return main (new_argc, new_argv, _environ);
-}
 #endif /* HAVE_NTGUI */
 
 /* Startup code for running on NT.  When we are running as the dumped
@@ -115,11 +76,7 @@
 void
 _start (void)
 {
-#ifdef HAVE_NTGUI
-  extern void WinMainCRTStartup (void);
-#else
   extern void mainCRTStartup (void);
-#endif /* HAVE_NTGUI */
 
   /* Cache system info, e.g., the NT page size.  */
   cache_system_info ();
@@ -153,10 +110,12 @@
   /* Invoke the NT CRT startup routine now that our housecleaning
      is finished.  */
 #ifdef HAVE_NTGUI
-  WinMainCRTStartup ();
-#else
+  /* determine WinMain args like crt0.c does */
+  hinst = GetModuleHandle(NULL);
+  lpCmdLine = GetCommandLine();
+  nCmdShow = SW_SHOWDEFAULT;
+#endif
   mainCRTStartup ();
-#endif /* HAVE_NTGUI */
 }
 
 /* Dump out .data and .bss sections into a new executable.  */
@@ -415,7 +374,7 @@
 
 	  /* The .data section.  */
 	  data_section = section;
-	  ptr  = (char *) nt_header->OptionalHeader.ImageBase +
+	  ptr = (char *) nt_header->OptionalHeader.ImageBase +
 	    section->VirtualAddress;
 	  data_start_va = ptr;
 	  data_start_file = section->PointerToRawData;