mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
Merge 0957b8725f into 01ae24e46e
This commit is contained in:
commit
5e23e0164e
|
|
@ -96,8 +96,14 @@ bool ParseWin32LaunchArguments(
|
||||||
char** argv = reinterpret_cast<char**>(alloca(sizeof(char*) * argc));
|
char** argv = reinterpret_cast<char**>(alloca(sizeof(char*) * argc));
|
||||||
for (int n = 0; n < argc; n++) {
|
for (int n = 0; n < argc; n++) {
|
||||||
size_t len = std::wcstombs(nullptr, wargv[n], 0);
|
size_t len = std::wcstombs(nullptr, wargv[n], 0);
|
||||||
|
|
||||||
|
if (len != -1) {
|
||||||
argv[n] = reinterpret_cast<char*>(alloca(sizeof(char) * (len + 1)));
|
argv[n] = reinterpret_cast<char*>(alloca(sizeof(char) * (len + 1)));
|
||||||
std::wcstombs(argv[n], wargv[n], len + 1);
|
std::wcstombs(argv[n], wargv[n], len + 1);
|
||||||
|
} else {
|
||||||
|
// Prevent cxxopts from indexing out of bounds.
|
||||||
|
argc--;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LocalFree(wargv);
|
LocalFree(wargv);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue