From 58f6207abe64eac0ffbe539b01b92af6c8af1693 Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 17 Apr 2005 13:11:15 +0000 Subject: _controlfp fix (grischka) --- win32/lib/wincrt1.c | 98 ++++++++++++++++++++++++++--------------------------- 1 file changed, 49 insertions(+), 49 deletions(-) (limited to 'win32/lib/wincrt1.c') diff --git a/win32/lib/wincrt1.c b/win32/lib/wincrt1.c index 36a313e..98edb6b 100644 --- a/win32/lib/wincrt1.c +++ b/win32/lib/wincrt1.c @@ -1,49 +1,49 @@ -//+--------------------------------------------------------------------------- - -#include - -#define __UNKNOWN_APP 0 -#define __CONSOLE_APP 1 -#define __GUI_APP 2 -void __set_app_type(int); -void _controlfp(unsigned a, unsigned b); - -int _winstart(void) -{ - char *szCmd; STARTUPINFO startinfo; - - __set_app_type(__GUI_APP); - _controlfp(0x30000, 0x10000); - - szCmd = GetCommandLine(); - if (szCmd) - { - while (' ' == *szCmd) szCmd++; - if ('\"' == *szCmd) - { - while (*++szCmd) - if ('\"' == *szCmd) { szCmd++; break; } - } - else - { - while (*szCmd && ' ' != *szCmd) szCmd++; - } - while (' ' == *szCmd) szCmd++; - } - - GetStartupInfo(&startinfo); - exit(WinMain(GetModuleHandle(NULL), NULL, szCmd, - (startinfo.dwFlags & STARTF_USESHOWWINDOW) ? - startinfo.wShowWindow : SW_SHOWDEFAULT)); -} - -int _runwinmain(int argc, char **argv) -{ - char *szCmd = NULL; - char *p = GetCommandLine(); - if (argc > 1) szCmd = strstr(p, argv[1]); - if (NULL == szCmd) szCmd = ""; - else if (szCmd > p && szCmd[-1] == '\"') --szCmd; - return WinMain(GetModuleHandle(NULL), NULL, szCmd, SW_SHOWDEFAULT); -} - +//+--------------------------------------------------------------------------- + +#include + +#define __UNKNOWN_APP 0 +#define __CONSOLE_APP 1 +#define __GUI_APP 2 +void __set_app_type(int); +void _controlfp(unsigned a, unsigned b); + +int _winstart(void) +{ + char *szCmd; STARTUPINFO startinfo; + + __set_app_type(__GUI_APP); + _controlfp(0x10000, 0x30000); + + szCmd = GetCommandLine(); + if (szCmd) + { + while (' ' == *szCmd) szCmd++; + if ('\"' == *szCmd) + { + while (*++szCmd) + if ('\"' == *szCmd) { szCmd++; break; } + } + else + { + while (*szCmd && ' ' != *szCmd) szCmd++; + } + while (' ' == *szCmd) szCmd++; + } + + GetStartupInfo(&startinfo); + exit(WinMain(GetModuleHandle(NULL), NULL, szCmd, + (startinfo.dwFlags & STARTF_USESHOWWINDOW) ? + startinfo.wShowWindow : SW_SHOWDEFAULT)); +} + +int _runwinmain(int argc, char **argv) +{ + char *szCmd = NULL; + char *p = GetCommandLine(); + if (argc > 1) szCmd = strstr(p, argv[1]); + if (NULL == szCmd) szCmd = ""; + else if (szCmd > p && szCmd[-1] == '\"') --szCmd; + return WinMain(GetModuleHandle(NULL), NULL, szCmd, SW_SHOWDEFAULT); +} + -- cgit v1.3.1