From 58f6207abe64eac0ffbe539b01b92af6c8af1693 Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 17 Apr 2005 13:11:15 +0000 Subject: [PATCH] _controlfp fix (grischka) --- win32/lib/crt1.c | 70 +++++++++++++++++++------------------- win32/lib/wincrt1.c | 98 ++++++++++++++++++++++++++--------------------------- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/win32/lib/crt1.c b/win32/lib/crt1.c index ce79f587..1cf12f29 100644 --- a/win32/lib/crt1.c +++ b/win32/lib/crt1.c @@ -1,35 +1,35 @@ -// ============================================= -// crt1.c - -#include - -#define __UNKNOWN_APP 0 -#define __CONSOLE_APP 1 -#define __GUI_APP 2 -void __set_app_type(int); -void _controlfp(unsigned a, unsigned b); - -typedef struct -{ - int newmode; -} _startupinfo; - -void __getmainargs(int *pargc, char ***pargv, char ***penv, int globb, _startupinfo*); - -int main(int argc, char **argv, char **env); - -int _start(void) -{ - int argc; char **argv; char **env; int ret; - _startupinfo start_info = {0}; - - _controlfp(0x30000, 0x10000); - __set_app_type(__CONSOLE_APP); - __getmainargs(&argc, &argv, &env, 0, &start_info); - - ret = main(argc, argv, env); - exit(ret); -} - -// ============================================= - +// ============================================= +// crt1.c + +#include + +#define __UNKNOWN_APP 0 +#define __CONSOLE_APP 1 +#define __GUI_APP 2 +void __set_app_type(int); +void _controlfp(unsigned a, unsigned b); + +typedef struct +{ + int newmode; +} _startupinfo; + +void __getmainargs(int *pargc, char ***pargv, char ***penv, int globb, _startupinfo*); + +int main(int argc, char **argv, char **env); + +int _start(void) +{ + int argc; char **argv; char **env; int ret; + _startupinfo start_info = {0}; + + _controlfp(0x10000, 0x30000); + __set_app_type(__CONSOLE_APP); + __getmainargs(&argc, &argv, &env, 0, &start_info); + + ret = main(argc, argv, env); + exit(ret); +} + +// ============================================= + diff --git a/win32/lib/wincrt1.c b/win32/lib/wincrt1.c index 36a313e4..98edb6b9 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); +} + -- 2.11.4.GIT