x86-64: fix gtst, back to only 5 regs for now
[tinycc.git] / win32 / lib / wincrt1.c
blob212f9d477848d388c4849abb1a17ff82fed68b3b
1 //+---------------------------------------------------------------------------
3 #include <windows.h>
5 #define __UNKNOWN_APP 0
6 #define __CONSOLE_APP 1
7 #define __GUI_APP 2
8 void __set_app_type(int);
9 void _controlfp(unsigned a, unsigned b);
11 int _winstart(void)
13 char *szCmd;
14 STARTUPINFO startinfo;
15 int fShow;
16 int ret;
18 __set_app_type(__GUI_APP);
19 _controlfp(0x10000, 0x30000);
21 szCmd = GetCommandLine();
22 if (szCmd) {
23 while (' ' == *szCmd)
24 szCmd++;
25 if ('\"' == *szCmd) {
26 while (*++szCmd)
27 if ('\"' == *szCmd) {
28 szCmd++;
29 break;
31 } else {
32 while (*szCmd && ' ' != *szCmd)
33 szCmd++;
35 while (' ' == *szCmd)
36 szCmd++;
39 GetStartupInfo(&startinfo);
40 fShow = startinfo.wShowWindow;
41 if (0 == (startinfo.dwFlags & STARTF_USESHOWWINDOW))
42 fShow = SW_SHOWDEFAULT;
44 ret = WinMain(GetModuleHandle(NULL), NULL, szCmd, fShow);
45 exit(ret);
48 int _runwinmain(int argc, char **argv)
50 char *szCmd, *p;
52 p = GetCommandLine();
53 szCmd = NULL;
54 if (argc > 1)
55 szCmd = strstr(p, argv[1]);
56 if (NULL == szCmd)
57 szCmd = "";
58 else if (szCmd > p && szCmd[-1] == '\"')
59 --szCmd;
60 return WinMain(GetModuleHandle(NULL), NULL, szCmd, SW_SHOWDEFAULT);