@@ -57,90 +57,6 @@ static const char dummy[8] __attribute__((section("pck"), used)) = { 0 };
#endif
-PCHAR *
-CommandLineToArgvA(
- PCHAR CmdLine,
- int *_argc) {
- PCHAR *argv;
- PCHAR _argv;
- ULONG len;
- ULONG argc;
- CHAR a;
- ULONG i, j;
-
- BOOLEAN in_QM;
- BOOLEAN in_TEXT;
- BOOLEAN in_SPACE;
- len = strlen(CmdLine);
- i = ((len + 2) / 2) * sizeof(PVOID) + sizeof(PVOID);
- argv = (PCHAR *)GlobalAlloc(GMEM_FIXED,
- i + (len + 2) * sizeof(CHAR));
- _argv = (PCHAR)(((PUCHAR)argv) + i);
- argc = 0;
- argv[argc] = _argv;
- in_QM = FALSE;
- in_TEXT = FALSE;
- in_SPACE = TRUE;
- i = 0;
- j = 0;
- a = CmdLine[i];
- while (a) {
- if (in_QM) {
- if (a == '\"') {
- } else {
- _argv[j] = a;
- j++;
- }
- switch (a) {
- case '\"':
- in_QM = TRUE;
- in_TEXT = TRUE;
- if (in_SPACE) {
- argv[argc] = _argv + j;
- argc++;
- in_SPACE = FALSE;
- break;
- case ' ':
- case '\t':
- case '\n':
- case '\r':
- if (in_TEXT) {
- _argv[j] = '\0';
- default:
- i++;
- argv[argc] = nullptr;
- (*_argc) = argc;
- return argv;
-}
char *wc_to_utf8(const wchar_t *wc) {
int ulen = WideCharToMultiByte(CP_UTF8, 0, wc, -1, nullptr, 0, nullptr, nullptr);
char *ubuf = new char[ulen + 1];