From: Ryan Norton Date: Mon, 11 Apr 2005 09:05:40 +0000 (+0000) Subject: fix wxString::Replace when new strings are longer than old string X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/2df0258e2b2925ff664f6bcbe241f6007f760046 fix wxString::Replace when new strings are longer than old string git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/string.cpp b/src/common/string.cpp index 2d608d1eb8..bd9857e5cc 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -1551,8 +1551,8 @@ size_t wxString::Replace(const wxChar *szOld, //replace this occurance of the old string with the new one replace(dwPos, uiOldLen, szNew, uiNewLen); - //move up pos past the old string - dwPos += uiOldLen; + //move up pos past the string that was replaced + dwPos += uiNewLen; //increase replace count ++uiCount; diff --git a/tests/strings/strings.cpp b/tests/strings/strings.cpp index 3ff5fde7ec..652dc86eb7 100644 --- a/tests/strings/strings.cpp +++ b/tests/strings/strings.cpp @@ -476,8 +476,8 @@ void StringTestCase::Replace() CPPUNIT_ASSERT( s == wxString(r,rlen) ); \ } - TEST_WXREPLACE( _T("null\0char"), 9, _T("c"), _T("d"), true, - _T("null\0dhar"), 9 ); + TEST_WXREPLACE( _T("null\0char"), 9, _T("c"), _T("de"), true, + _T("null\0dehar"), 10 ); #undef TEST_WXREPLACE #undef TEST_NULLCHARREPLACE