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