Details
-
Bug
-
Resolution: Done
-
P2: Important
-
4.7.1, 4.7.4, 4.8.0, 4.8.4, 5.0.0
-
1. MS Windows 7 Ultimate SP1 x86 Rus
2. MS Visual Studio 2010 SP1
-
9b121e5579538477a1fc7c8250e5d7e875a58de8 (dev, 15.5.2014, 5.4)
Description
Invalid command line parsing at QCoreApplication::arguments on MS Windows family: double backslashes not recognized.
Compare argc/argv passed to main with result of QCoreApplication::arguments when command line is:
qtapp.exe arg1 "arg2" "\"arg3\"" "\\arg4\\" "\\\"arg5\\\""
I found some rules of Windows command line parsing: http://www.autohotkey.net/~deleyd/parameters/parameters.htm#WINCRULES.
Also I tried to make solution - see attached "QtCore_winmain_argv.patch" - but it's not complete.
Try attached "qt_4_8_0_winmain_argv_bug.zip" (solution for MSVS 2010) in debug configuration to see bug (and try it after applying "QtCore_winmain_argv.patch" - bug will still be there).
Attachments
Issue Links
- relates to
-
QTBUG-30628 Application arguments with single quotes are parsed wrong
- Closed
-
QTBUG-35432 Windows: Leading backslash stripped from command line arguments starting with \\ (network share paths)
- Closed
For Gerrit Dashboard: QTBUG-23687 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
74113,4 | Windows: Use WinAPI CommandLineToArgvW() to create argv from command line. | stable | qt/qtbase | Status: ABANDONED | -1 | 0 |
84345,1 | Windows: Use WinAPI CommandLineToArgvW() to create argv from command line. | dev | qt/qtbase | Status: MERGED | +2 | 0 |