fix #1556
This commit is contained in:
parent
5488e0bf3d
commit
3111431a3f
|
@ -3413,38 +3413,10 @@ int main(int argc, char** argv)
|
|||
|
||||
int CALLBACK WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int cmdshow)
|
||||
{
|
||||
int argc = 0;
|
||||
wchar_t** argv_w = CommandLineToArgvW(GetCommandLineW(), &argc);
|
||||
char nullarg[] = {'\0'};
|
||||
|
||||
char** argv = new char*[argc];
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
if (!argv_w) { argv[i] = nullarg; continue; }
|
||||
int len = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, NULL, 0, NULL, NULL);
|
||||
if (len < 1) { argv[i] = nullarg; continue; }
|
||||
argv[i] = new char[len];
|
||||
int res = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, argv[i], len, NULL, NULL);
|
||||
if (res != len) { delete[] argv[i]; argv[i] = nullarg; }
|
||||
}
|
||||
|
||||
if (argv_w) LocalFree(argv_w);
|
||||
|
||||
//if (AttachConsole(ATTACH_PARENT_PROCESS))
|
||||
/*if (AllocConsole())
|
||||
{
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
freopen("CONOUT$", "w", stderr);
|
||||
printf("\n");
|
||||
}*/
|
||||
|
||||
int ret = main(argc, argv);
|
||||
int ret = main(__argc, __argv);
|
||||
|
||||
printf("\n\n>");
|
||||
|
||||
for (int i = 0; i < argc; i++) if (argv[i] != nullarg) delete[] argv[i];
|
||||
delete[] argv;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue