code vault - commandlinetoargvaWhat links here?

Code



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;

while( a = CmdLine[i] ) { if(in_QM) { if(a == '\"') { in_QM = FALSE; } else { _argv[j] = a; j++; } } else { 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'; j++; } in_TEXT = FALSE; in_SPACE = TRUE; break; default: in_TEXT = TRUE; if(in_SPACE) { argv[argc] = _argv+j; argc++; } _argv[j] = a; j++; in_SPACE = FALSE; break; } } i++; } _argv[j] = '\0'; argv[argc] = NULL;

(*_argc) = argc; return argv; }
From http://alter.org.ua/en/docs/win/args/, modified
code vault - commandlinetoargva
programming - Free Pascal - file extensions
programming - algorithms - 3D - Translation
Time internal format
programming tkinter
programming - cgi - environment variables
programming - lisp - List processing commands
programming - windows - message path
programming - pascal - procedure - delete
programming - javascript - event handlers
programming - CSS - tables
programming - algorithms - 3D - Projection
Topical Bible - John the baptist - He must increase, I must decrease
linux - bash shell test
programming - javascript - write to the webpage
programming - Free Pascal - TPaintBox
programming - sqlite3
programming - HTTP - status codes
filename:code vault - commandlinetoargva
filename:code%20vault%20%2D%20commandlinetoargva
last edit:March 27 2009 00:10:52 (6436 days ago)
ct = 1794244090.000000 = November 09 2026 17:08:10
ft = 1238112652.000000 = March 27 2009 00:10:52
dt = 556131438.000000