Mercurial > emacs
changeset 13423:eefa4f720371
[HAVE_NTGUI] (WinMain): New procedure.
[HAVE_NTGUI] (hinst, hprevinst, lpCmdLine, nCmdShow): New variables.
[HAVE_NTGUI] (_start): Invoke WinMainCRTStartup.
author | Geoff Voelker <voelker@cs.washington.edu> |
---|---|
date | Tue, 07 Nov 1995 07:34:42 +0000 |
parents | b3cefdfb34a9 |
children | efbbbfd268dd |
files | src/unexw32.c |
diffstat | 1 files changed, 40 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/unexw32.c Tue Nov 07 07:32:46 1995 +0000 +++ b/src/unexw32.c Tue Nov 07 07:34:42 1995 +0000 @@ -63,6 +63,30 @@ PUCHAR bss_start = 0; DWORD bss_size = 0; +#ifdef HAVE_NTGUI +HINSTANCE hinst = NULL; +HINSTANCE hprevinst = NULL; +LPSTR lpCmdLine = ""; +int nCmdShow = 0; + +int __stdcall +WinMain (_hinst, _hPrevInst, _lpCmdLine, _nCmdShow) + HINSTANCE _hinst; + HINSTANCE _hPrevInst; + LPSTR _lpCmdLine; + int _nCmdShow; +{ + /* Need to parse command line */ + + hinst = _hinst; + hprevinst = _hPrevInst; + lpCmdLine = _lpCmdLine; + nCmdShow = _nCmdShow; + + return (main (__argc,__argv,_environ)); +} +#endif /* HAVE_NTGUI */ + /* Startup code for running on NT. When we are running as the dumped version, we need to bootstrap our heap and .bss section into our address space before we can actually hand off control to the startup @@ -70,7 +94,11 @@ 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 (); @@ -103,7 +131,11 @@ /* Invoke the NT CRT startup routine now that our housecleaning is finished. */ +#ifdef HAVE_NTGUI + WinMainCRTStartup (); +#else mainCRTStartup (); +#endif /* HAVE_NTGUI */ } /* Dump out .data and .bss sections into a new exectubale. */ @@ -209,13 +241,15 @@ HANDLE file; HANDLE file_mapping; void *file_base; - + int i; + file = CreateFile (filename, GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); if (file == INVALID_HANDLE_VALUE) { + i = GetLastError (); printf ("open_output_file: Failed to open %s (%d).\n", - filename, GetLastError ()); + filename, i); exit (1); } @@ -223,16 +257,18 @@ 0, size, NULL); if (!file_mapping) { + i = GetLastError (); printf ("open_output_file: Failed to create file mapping of %s (%d).\n", - filename, GetLastError ()); + filename, i); exit (1); } file_base = MapViewOfFile (file_mapping, FILE_MAP_WRITE, 0, 0, size); if (file_base == 0) { + i = GetLastError (); printf ("open_output_file: Failed to map view of file of %s (%d).\n", - filename, GetLastError ()); + filename, i); exit (1); }