]> git.saurik.com Git - wxWidgets.git/commitdiff
calling insert("") would provoke an assert - now it's just ignored
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 22 Aug 1998 20:44:07 +0000 (20:44 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 22 Aug 1998 20:44:07 +0000 (20:44 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/string.cpp

index 7739a1b864cb51fa443fe2132481bce063e014ea..0feac4aeeb629e6b30d79ec09f9b5c63124bf7dc 100644 (file)
@@ -930,13 +930,15 @@ wxString& wxString::insert(size_t nPos, const wxString& str)
   wxASSERT( str.GetStringData()->IsValid() );
   wxASSERT( nPos <= Len() );
 
-  wxString strTmp;
-  char *pc = strTmp.GetWriteBuf(Len() + str.Len());
-  strncpy(pc, c_str(), nPos);
-  strcpy(pc + nPos, str);
-  strcpy(pc + nPos + str.Len(), c_str() + nPos);
-  strTmp.UngetWriteBuf();
-  *this = strTmp;
+  if ( !str.IsEmpty() ) {
+    wxString strTmp;
+    char *pc = strTmp.GetWriteBuf(Len() + str.Len());
+    strncpy(pc, c_str(), nPos);
+    strcpy(pc + nPos, str);
+    strcpy(pc + nPos + str.Len(), c_str() + nPos);
+    strTmp.UngetWriteBuf();
+    *this = strTmp;
+  }
 
   return *this;
 }