Skip to content

Commit 87b76d2

Browse files
committed
Fix handling of ctest command line arguments.
1 parent 13c0b00 commit 87b76d2

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

utils/platform_utils.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,10 @@ inline void InitUTF8CLI(int& argc, char* argv[]) {
7777
int wargc;
7878
LPWSTR commandLine = GetCommandLineW();
7979
LPWSTR* wideArgv = CommandLineToArgvW(commandLine, &wargc);
80-
for (int i = 0; i < argc; ++i) {
80+
for (int i = 0, j = 0; j < argc; i++, j++) {
8181
int byteSize = WideCharToMultiByte(CP_UTF8, 0, wideArgv[i], -1, nullptr, 0, nullptr, nullptr);
82-
utf8Argv[i] = std::make_unique<char[]>(byteSize);
83-
WideCharToMultiByte(CP_UTF8, 0, wideArgv[i], -1, utf8Argv[i].get(),
82+
utf8Argv[j] = std::make_unique<char[]>(byteSize);
83+
WideCharToMultiByte(CP_UTF8, 0, wideArgv[i], -1, utf8Argv[j].get(),
8484
byteSize, nullptr, nullptr);
8585
argv[i] = utf8Argv[i].get();
8686
if (i == 0) {
@@ -161,12 +161,12 @@ inline int unlinkUTF8(const std::string& path) {
161161
int wargc;
162162
LPWSTR commandLine = GetCommandLineW();
163163
LPWSTR* wideArgv = CommandLineToArgvW(commandLine, &wargc);
164-
for (int i = 0; i < argc; ++i) {
164+
for (int i = 0, j = 0; j < argc; i++, j++) {
165165
int byteSize =
166166
WideCharToMultiByte(CP_UTF8, 0, wideArgv[i], -1, nullptr, 0, nullptr, nullptr);
167167
byteSize--; // Returned byteSize includes the terminating NUL.
168-
u8argv[i].resize(byteSize);
169-
WideCharToMultiByte(CP_UTF8, 0, wideArgv[i], -1, (LPSTR)u8argv[i].data(),
168+
u8argv[j].resize(byteSize);
169+
WideCharToMultiByte(CP_UTF8, 0, wideArgv[i], -1, (LPSTR)u8argv[j].data(),
170170
byteSize, nullptr, nullptr);
171171
if (i == 0) {
172172
// Skip over the removed args.

0 commit comments

Comments
 (0)