Johannes Anderwald

- Fix the msvcrt exception (because vlc first calls _getmainargs. This function sets the  __argc to 1. Afterwards vlc calls again __wgetmainargs where __argc is now one. When entering the function _wadd, it doesnot allocate the __wargv because __argc is 1. Therefore it crashes).
See issue #821 for more details.

svn path=/trunk/; revision=29531
This commit is contained in:
Aleksey Bragin 2007-10-12 09:58:00 +00:00
parent 5005c57755
commit a3d5eb47e0

View file

@ -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])