diff options
| author | bellard <bellard> | 2005-04-17 13:11:15 +0000 |
|---|---|---|
| committer | bellard <bellard> | 2005-04-17 13:11:15 +0000 |
| commit | 58f6207abe64eac0ffbe539b01b92af6c8af1693 (patch) | |
| tree | 8c0e6e10b66cfb969e8dbd369f5abf035ebbe1c8 /win32/lib | |
| parent | 5556cf15656ad1e433ec20502411411e30a4cdc7 (diff) | |
| download | tinycc-58f6207abe64eac0ffbe539b01b92af6c8af1693.tar.gz tinycc-58f6207abe64eac0ffbe539b01b92af6c8af1693.tar.bz2 | |
_controlfp fix (grischka)
Diffstat (limited to 'win32/lib')
| -rw-r--r-- | win32/lib/crt1.c | 70 | ||||
| -rw-r--r-- | 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 ce79f58..1cf12f2 100644 --- a/win32/lib/crt1.c +++ b/win32/lib/crt1.c @@ -1,35 +1,35 @@ -// =============================================
-// crt1.c
-
-#include <stdlib.h>
-
-#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 <stdlib.h> + +#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 36a313e..98edb6b 100644 --- a/win32/lib/wincrt1.c +++ b/win32/lib/wincrt1.c @@ -1,49 +1,49 @@ -//+---------------------------------------------------------------------------
-
-#include <windows.h>
-
-#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 <windows.h> + +#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); +} + |
