diff --git a/reactos/lib/sdk/crt/misc/getargs.c b/reactos/lib/sdk/crt/misc/getargs.c index d8de6e2d9b4..51771e8e8cd 100644 --- a/reactos/lib/sdk/crt/misc/getargs.c +++ b/reactos/lib/sdk/crt/misc/getargs.c @@ -192,8 +192,19 @@ void __getmainargs(int* argc, char*** argv, char*** env, int expand_wildcards, i ignorespace = 0; doexpand = expand_wildcards; + if (__argv && _environ) + { + *argv = __argv; + *env = _environ; + *argc = __argc; + return; + } + + __argc = 0; + len = strlen(_acmdln); + while (_acmdln[i]) { if (_acmdln[i] == '"') @@ -262,6 +273,16 @@ void __wgetmainargs(int* argc, wchar_t*** wargv, wchar_t*** wenv, ignorespace = 0; doexpand = expand_wildcards; + if (__wargv && __winitenv) + { + *wargv = __wargv; + *wenv = __winitenv; + *argc = __argc; + return; + } + + __argc = 0; + len = wcslen(_wcmdln); while (_wcmdln[i])