X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/147043343ea6b36fd07f786ab4c5d2d6f6be09e6..06acc7d9a6cf41c4f80230773cc0bdd2c95cec28:/src/common/string.cpp diff --git a/src/common/string.cpp b/src/common/string.cpp index 7b9e376870..b1349cf731 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -133,7 +133,7 @@ extern const wxChar WXDLLEXPORT *wxEmptyString = &g_strEmpty.dummy; #endif //compiler #endif // no vsnprintf -#if defined(_AIX) || defined(__DJGPP__) +#if defined(_AIX) // AIX has vsnprintf, but there's no prototype in the system headers. extern "C" int vsnprintf(char* str, size_t n, const char* format, va_list ap); #endif @@ -1894,10 +1894,11 @@ wxString& wxString::replace(size_t nStart, size_t nLen, // ArrayString // ============================================================================ -// size increment = max(50% of current size, ARRAY_MAXSIZE_INCREMENT) +// size increment = min(50% of current size, ARRAY_MAXSIZE_INCREMENT) #define ARRAY_MAXSIZE_INCREMENT 4096 + #ifndef ARRAY_DEFAULT_INITIAL_SIZE // also defined in dynarray.h - #define ARRAY_DEFAULT_INITIAL_SIZE (16) +#define ARRAY_DEFAULT_INITIAL_SIZE (16) #endif #define STRING(p) ((wxString *)(&(p))) @@ -2047,6 +2048,21 @@ void wxArrayString::Shrink() } } +// return a wxString[] as required for some control ctors. +wxString* wxArrayString::GetStringArray() const +{ + wxString *array = 0; + + if( m_nCount > 0 ) + { + array = new wxString[m_nCount]; + for( size_t i = 0; i < m_nCount; i++ ) + array[i] = m_pItems[i]; + } + + return array; +} + // searches the array for an item (forward or backwards) int wxArrayString::Index(const wxChar *sz, bool bCase, bool bFromEnd) const {