]> git.saurik.com Git - wxWidgets.git/commitdiff
Add a comment with links to proper command line parsing rules.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 31 Mar 2013 01:11:47 +0000 (01:11 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 31 Mar 2013 01:11:47 +0000 (01:11 +0000)
No real changes, just added a comment with links to the descriptions of the
correct rules that we should use in ConvertStringToArgs().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/cmdline.cpp

index bb5bd83b93010f335b97cb3417e78e84c8953865..2d6feae46b7082a1af04b6814f896a51f5939703 100644 (file)
@@ -1377,6 +1377,23 @@ static wxString GetLongOptionName(wxString::const_iterator p,
    Windows conventions for the command line handling, not Unix ones. For
    instance, backslash is not special except when it precedes double quote when
    it does quote it.
    Windows conventions for the command line handling, not Unix ones. For
    instance, backslash is not special except when it precedes double quote when
    it does quote it.
+
+   TODO: Rewrite this to follow the even more complicated rule used by Windows
+         CommandLineToArgv():
+
+    * A string of backslashes not followed by a quotation mark has no special
+      meaning.
+    * An even number of backslashes followed by a quotation mark is treated as
+      pairs of protected backslashes, followed by a word terminator.
+    * An odd number of backslashes followed by a quotation mark is treated as
+      pairs of protected backslashes, followed by a protected quotation mark.
+
+    See http://blogs.msdn.com/b/oldnewthing/archive/2010/09/17/10063629.aspx
+
+    It could also be useful to provide a converse function which is also
+    non-trivial, see
+
+    http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx
  */
 
 /* static */
  */
 
 /* static */