From e5c9621fd1ebe4f3ba6df7c5e7d64d79e7789626 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 20 Aug 2009 00:01:55 +0000 Subject: [PATCH] Fix extraction of standard command line arguments in wxX11. 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/branches/WX_2_8_BRANCH@61713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/x11/app.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/x11/app.cpp b/src/x11/app.cpp index f828e7f4d8..f270c18c3a 100644 --- a/src/x11/app.cpp +++ b/src/x11/app.cpp @@ -105,7 +105,7 @@ bool wxApp::Initialize(int& argC, wxChar **argV) { if (wxStrcmp( argV[i], _T("-display") ) == 0) { - if (i < (argC - 1)) + if (i < (argCOrig - 1)) { argV[i++] = NULL; @@ -117,7 +117,7 @@ bool wxApp::Initialize(int& argC, wxChar **argV) } else if (wxStrcmp( argV[i], _T("-geometry") ) == 0) { - if (i < (argC - 1)) + if (i < (argCOrig - 1)) { argV[i++] = NULL; @@ -154,12 +154,12 @@ bool wxApp::Initialize(int& argC, wxChar **argV) if ( argC != argCOrig ) { - // remove the argumens we consumed + // remove the arguments we consumed 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 *)); } } }