]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/arrstr.cpp
Avoid using buffer of already deallocated string in wxHTMLDataObject.
[wxWidgets.git] / src / common / arrstr.cpp
index 862519fe330d55b89b0f6f4c8db9c451fdd058d3..084196b83ee99a6f3878f5db5f570d8a4cbbc4a3 100644 (file)
@@ -33,7 +33,7 @@
 
 wxArrayString::wxArrayString(size_t sz, const char** a)
 {
-#if !wxUSE_STL
+#if !wxUSE_STD_CONTAINERS
     Init(false);
 #endif
     for (size_t i=0; i < sz; i++)
@@ -42,7 +42,7 @@ wxArrayString::wxArrayString(size_t sz, const char** a)
 
 wxArrayString::wxArrayString(size_t sz, const wchar_t** a)
 {
-#if !wxUSE_STL
+#if !wxUSE_STD_CONTAINERS
     Init(false);
 #endif
     for (size_t i=0; i < sz; i++)
@@ -51,14 +51,14 @@ wxArrayString::wxArrayString(size_t sz, const wchar_t** a)
 
 wxArrayString::wxArrayString(size_t sz, const wxString* a)
 {
-#if !wxUSE_STL
+#if !wxUSE_STD_CONTAINERS
     Init(false);
 #endif
     for (size_t i=0; i < sz; i++)
         Add(a[i]);
 }
 
-#if !wxUSE_STL
+#if !wxUSE_STD_CONTAINERS
 
 // size increment = min(50% of current size, ARRAY_MAXSIZE_INCREMENT)
 #define   ARRAY_MAXSIZE_INCREMENT       4096
@@ -345,6 +345,14 @@ wxArrayString::insert(iterator it, const_iterator first, const_iterator last)
     }
 }
 
+void wxArrayString::resize(size_type n, value_type v)
+{
+  if ( n < m_nCount )
+      m_nCount = n;
+  else if ( n > m_nCount )
+      Add(v, n - m_nCount);
+}
+
 // expand the array
 void wxArrayString::SetCount(size_t count)
 {
@@ -454,7 +462,7 @@ bool wxArrayString::operator==(const wxArrayString& a) const
     return true;
 }
 
-#endif // !wxUSE_STL
+#endif // !wxUSE_STD_CONTAINERS
 
 // ===========================================================================
 // wxJoin and wxSplit