]> git.saurik.com Git - wxWidgets.git/commitdiff
wxString::rfind fixed for wxUSE_STL=0 from Robert Vazan.
authorMattia Barbon <mbarbon@cpan.org>
Thu, 28 Aug 2003 20:32:06 +0000 (20:32 +0000)
committerMattia Barbon <mbarbon@cpan.org>
Thu, 28 Aug 2003 20:32:06 +0000 (20:32 +0000)
  Added missing wxArrayString::reserve.

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

src/common/string.cpp

index 2bd4e6178f7bde45c4f03e023a5900d1d8dc9b64..4715f63154ab66df9062db9eb1c4bb892957d3db 100644 (file)
@@ -509,13 +509,15 @@ size_t wxStringBase::rfind(wxChar ch, size_t nStart) const
         wxASSERT( nStart <= length() );
     }
 
-    const wxChar *p = wxStrrchr(c_str(), ch);
-
-    if ( p == NULL )
-        return npos;
+    const wxChar *actual;
+    for ( actual = c_str() + ( nStart == npos ? length() : nStart + 1 );
+          actual > c_str(); --actual )
+    {
+        if ( *(actual - 1) == ch )
+            return (actual - 1) - c_str();
+    }
 
-    size_t result = p - c_str();
-    return ( result > nStart ) ? npos : result;
+    return npos;
 }
 
 size_t wxStringBase::find_first_of(const wxChar* sz, size_t nStart) const
@@ -1961,6 +1963,11 @@ wxArrayString::~wxArrayString()
   wxDELETEA(m_pItems);
 }
 
+void wxArrayString::reserve(size_t nSize)
+{
+    Alloc(nSize);
+}
+
 // pre-allocates memory (frees the previous data!)
 void wxArrayString::Alloc(size_t nSize)
 {