11 #include "../../core/windows/SDL_windows.h" 22 UnEscapeQuotes(
char *arg)
27 if (*arg ==
'"' && (last !=
NULL && *last ==
'\\')) {
45 ParseCommandLine(
char *cmdline,
char **argv)
52 for (bufp = cmdline; *bufp;) {
54 while (*bufp ==
' ' || *bufp ==
'\t') {
68 while (*bufp && (*bufp !=
'"' || *lastp ==
'\\')) {
80 while (*bufp && (*bufp !=
' ' && *bufp !=
'\t')) {
92 if (argv && last_argc != argc) {
93 UnEscapeQuotes(argv[last_argc]);
111 #if defined(_MSC_VER) 113 # define console_ansi_main main 115 # define console_wmain wmain 126 char *cmdline =
NULL;
129 const TCHAR *
text = GetCommandLine();
136 for (ptr = text; *
ptr; ptr++) {
137 if ((*ptr ==
' ') || (*ptr ==
'\t')) {
143 rc = WideCharToMultiByte(CP_UTF8, 0, text, -1,
NULL, 0,
NULL,
NULL);
145 cmdalloc = rc + (
sizeof (
char *) * argc_guess);
146 argv = (
char **) VirtualAlloc(
NULL, cmdalloc, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE);
149 cmdline = (
char *) (argv + argc_guess);
150 rc2 = WideCharToMultiByte(CP_UTF8, 0, text, -1, cmdline, rc,
NULL,
NULL);
157 cmdalloc = rc + (
sizeof (
char *) * argc_guess);
158 argv = (
char **) VirtualAlloc(
NULL, cmdalloc, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE);
160 cmdline = (
char *) (argv + argc_guess);
161 SDL_strcpy(cmdline, text);
164 if (cmdline ==
NULL) {
165 return OutOfMemory();
170 argc = ParseCommandLine(cmdline, argv);
177 VirtualFree(argv, cmdalloc, MEM_DECOMMIT);
178 VirtualFree(argv, 0, MEM_RELEASE);
185 console_ansi_main(
int argc,
char *argv[])
187 return main_getcmdline();
194 console_wmain(
int argc,
wchar_t *wargv[],
wchar_t *wenvp)
196 return main_getcmdline();
202 WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine,
int sw)
204 return main_getcmdline();
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF ptr
int CALLBACK WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
#define SDL_ShowSimpleMessageBox
#define SDL_assert(condition)
static char text[MAX_TEXT_LENGTH]
C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[])