]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix extraction of standard command line arguments in wxX11.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 20 Aug 2009 00:44:11 +0000 (00:44 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 20 Aug 2009 00:44:11 +0000 (00:44 +0000)
The original number of arguments should be used when checking the argument
index for validity. Additionally, memmove() wasn't moving the correct number
of bytes because of forgotten sizeof().

See #11124.

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

src/x11/app.cpp

index d2b9c0b3bfb86331fec1ff3a02a3f92579d73c6e..e9c7b2bb175d13dcea373de048c08f7f5bf67b69 100644 (file)
@@ -100,7 +100,7 @@ bool wxApp::Initialize(int& argC, wxChar **argV)
     {
         if (wxStrcmp( argV[i], wxT("-display") ) == 0)
         {
     {
         if (wxStrcmp( argV[i], wxT("-display") ) == 0)
         {
-            if (i < (argC - 1))
+            if (i < (argCOrig - 1))
             {
                 argV[i++] = NULL;
 
             {
                 argV[i++] = NULL;
 
@@ -112,7 +112,7 @@ bool wxApp::Initialize(int& argC, wxChar **argV)
         }
         else if (wxStrcmp( argV[i], wxT("-geometry") ) == 0)
         {
         }
         else if (wxStrcmp( argV[i], wxT("-geometry") ) == 0)
         {
-            if (i < (argC - 1))
+            if (i < (argCOrig - 1))
             {
                 argV[i++] = NULL;
 
             {
                 argV[i++] = NULL;
 
@@ -149,12 +149,12 @@ bool wxApp::Initialize(int& argC, wxChar **argV)
 
     if ( argC != argCOrig )
     {
 
     if ( argC != argCOrig )
     {
-        // remove the argumens we consumed
+        // remove the arguments we consumed
         for ( int i = 0; i < argC; i++ )
         {
             while ( !argV[i] )
             {
         for ( int i = 0; i < argC; i++ )
         {
             while ( !argV[i] )
             {
-                memmove(argV + i, argV + i + 1, argCOrig - i);
+                memmove(argV + i, argV + i + 1, (argCOrig - i)*sizeof(wxChar *));
             }
         }
     }
             }
         }
     }