Optimize arithmetic with pointer to value on stack + constant
[tinycc/daniel.git] / win32 / lib / wincrt1.c
blob98edb6b9bc05e64760c7708abb4c90f25dc2d528
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; STARTUPINFO startinfo;
15 __set_app_type(__GUI_APP);
16 _controlfp(0x10000, 0x30000);
18 szCmd = GetCommandLine();
19 if (szCmd)
21 while (' ' == *szCmd) szCmd++;
22 if ('\"' == *szCmd)
24 while (*++szCmd)
25 if ('\"' == *szCmd) { szCmd++; break; }
27 else
29 while (*szCmd && ' ' != *szCmd) szCmd++;
31 while (' ' == *szCmd) szCmd++;
34 GetStartupInfo(&startinfo);
35 exit(WinMain(GetModuleHandle(NULL), NULL, szCmd,
36 (startinfo.dwFlags & STARTF_USESHOWWINDOW) ?
37 startinfo.wShowWindow : SW_SHOWDEFAULT));
40 int _runwinmain(int argc, char **argv)
42 char *szCmd = NULL;
43 char *p = GetCommandLine();
44 if (argc > 1) szCmd = strstr(p, argv[1]);
45 if (NULL == szCmd) szCmd = "";
46 else if (szCmd > p && szCmd[-1] == '\"') --szCmd;
47 return WinMain(GetModuleHandle(NULL), NULL, szCmd, SW_SHOWDEFAULT);