]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix and testcase for wxString::rfind bug I introduced.
authorMattia Barbon <mbarbon@cpan.org>
Thu, 4 Sep 2003 21:59:48 +0000 (21:59 +0000)
committerMattia Barbon <mbarbon@cpan.org>
Thu, 4 Sep 2003 21:59:48 +0000 (21:59 +0000)
Patch by Robert Vazan.

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

samples/console/console.cpp
src/common/string.cpp

index 4f7d0d45193c51b085267a119e725d14c03a1382..5cf447428d4b2cf413126c9a251e002b03e17a19 100644 (file)
@@ -6807,6 +6807,7 @@ void TestStdString()
     //       01234567890123456789012345
     s1 = _T("abcdefgABCDEFGabcABCabcABC");
     s2 = _T("gAB");
     //       01234567890123456789012345
     s1 = _T("abcdefgABCDEFGabcABCabcABC");
     s2 = _T("gAB");
+    s3 = _T("ab");
 
     is_nom( s1.rfind(_T('A')), 23u );
     is_nom( s1.rfind(_T('A'), 7), 7u );
 
     is_nom( s1.rfind(_T('A')), 23u );
     is_nom( s1.rfind(_T('A'), 7), 7u );
@@ -6823,6 +6824,7 @@ void TestStdString()
     is_nom( s1.rfind(s2), 6u );
     is_nom( s1.rfind(s2, 5), wxString::npos );
     is_nom( s1.rfind(s2, 6), 6u );
     is_nom( s1.rfind(s2), 6u );
     is_nom( s1.rfind(s2, 5), wxString::npos );
     is_nom( s1.rfind(s2, 6), 6u );
+    is_nom( s1.rfind(s3, 1), 0u );
 
     // resize
     s1 = s2 = s3 = s4 = _T("abcABCdefDEF");
 
     // resize
     s1 = s2 = s3 = s4 = _T("abcABCdefDEF");
index 76a89a88a32411a27e15adebda85d8da600d8360..8415f0c3f31e56562a50012a959b7faab0231f78 100644 (file)
@@ -504,8 +504,7 @@ size_t wxStringBase::rfind(const wxStringBase& str, size_t nStart) const
             {
                 return cursor - c_str();
             }
             {
                 return cursor - c_str();
             }
-            --cursor;
-        } while ( cursor > c_str() );
+        } while ( cursor-- > c_str() );
     }
     
     return npos;
     }
     
     return npos;