diff --git a/src/win32_support.c b/src/win32_support.c index c8d148e1..9e402cc5 100755 --- a/src/win32_support.c +++ b/src/win32_support.c @@ -11,7 +11,7 @@ typedef struct } _startupinfo; /* XP and later has an int return though */ -void __cdecl __declspec(dllimport) __wgetmainargs ( +int __cdecl __declspec(dllimport) __wgetmainargs ( int *_Argc, wchar_t ***_Argv, wchar_t ***_Env, @@ -31,7 +31,10 @@ int win32_cmdline_utf8(int * argc, char *** argv) if(argv == NULL || argc == NULL) return -1; startup.newmode = 0; - __wgetmainargs(argc, &argv_wide,&env,1, &startup); + if (__wgetmainargs(argc, &argv_wide, &env, 1, &startup) != 0) { + error("Cannot allocate memory for command line."); + return -1; + } *argv = (char **)calloc(sizeof (char *), *argc); if(*argv == NULL){ error("Cannot allocate memory for command line."); return -1; }