X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f2bbe5b675f073fc6f7c6b249f6c5f480a17f027..c8db4e1560d3118540b6c2c6cda367dfb33dff51:/src/common/string.cpp diff --git a/src/common/string.cpp b/src/common/string.cpp index 78008c79a7..208a77c020 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -1061,7 +1061,7 @@ bool wxString::Shrink() #if !wxUSE_STL // get the pointer to writable buffer of (at least) nLen bytes -wxChar *wxString::GetWriteBuf(size_t nLen) +wxChar *wxString::DoGetWriteBuf(size_t nLen) { if ( !AllocBeforeWrite(nLen) ) { // allocation failure handled by caller @@ -1075,12 +1075,12 @@ wxChar *wxString::GetWriteBuf(size_t nLen) } // put string back in a reasonable state after GetWriteBuf -void wxString::UngetWriteBuf() +void wxString::DoUngetWriteBuf() { - UngetWriteBuf(wxStrlen(m_pchData)); + DoUngetWriteBuf(wxStrlen(m_pchData)); } -void wxString::UngetWriteBuf(size_t nLen) +void wxString::DoUngetWriteBuf(size_t nLen) { wxStringData * const pData = GetStringData(); @@ -1091,8 +1091,28 @@ void wxString::UngetWriteBuf(size_t nLen) pData->nDataLength = nLen; pData->Validate(true); } + +// deprecated compatibility code: +#if WXWIN_COMPATIBILITY_2_8 +wxChar *wxString::GetWriteBuf(size_t nLen) +{ + return DoGetWriteBuf(nLen); +} + +void wxString::UngetWriteBuf() +{ + DoUngetWriteBuf(); +} + +void wxString::UngetWriteBuf(size_t nLen) +{ + DoUngetWriteBuf(nLen); +} +#endif // WXWIN_COMPATIBILITY_2_8 + #endif // !wxUSE_STL + // --------------------------------------------------------------------------- // data access // --------------------------------------------------------------------------- @@ -2084,7 +2104,7 @@ void wxArrayString::Init(bool autoSort) { m_nSize = m_nCount = 0; - m_pItems = (wxChar **) NULL; + m_pItems = (const wxChar **) NULL; m_autoSort = autoSort; } @@ -2134,7 +2154,7 @@ void wxArrayString::Grow(size_t nIncrement) m_nSize = ARRAY_DEFAULT_INITIAL_SIZE; if (m_nSize < nIncrement) m_nSize = nIncrement; - m_pItems = new wxChar *[m_nSize]; + m_pItems = new const wxChar *[m_nSize]; } else { // otherwise when it's called for the first time, nIncrement would be 0 @@ -2147,7 +2167,7 @@ void wxArrayString::Grow(size_t nIncrement) if ( nIncrement < ndefIncrement ) nIncrement = ndefIncrement; m_nSize += nIncrement; - wxChar **pNew = new wxChar *[m_nSize]; + const wxChar **pNew = new const wxChar *[m_nSize]; // copy data to new location memcpy(pNew, m_pItems, m_nCount*sizeof(wxChar *)); @@ -2204,7 +2224,7 @@ void wxArrayString::Alloc(size_t nSize) { // only if old buffer was not big enough if ( nSize > m_nSize ) { - wxChar **pNew = new wxChar *[nSize]; + const wxChar **pNew = new const wxChar *[nSize]; if ( !pNew ) return; @@ -2222,7 +2242,7 @@ void wxArrayString::Shrink() // only do it if we have some memory to free if( m_nCount < m_nSize ) { // allocates exactly as much memory as we need - wxChar **pNew = new wxChar *[m_nCount]; + const wxChar **pNew = new const wxChar *[m_nCount]; // copy data to new location memcpy(pNew, m_pItems, m_nCount*sizeof(wxChar *)); @@ -2231,30 +2251,6 @@ void wxArrayString::Shrink() } } -#if WXWIN_COMPATIBILITY_2_4 - -// 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; -} - -void wxArrayString::Remove(size_t nIndex, size_t nRemove) -{ - RemoveAt(nIndex, nRemove); -} - -#endif // WXWIN_COMPATIBILITY_2_4 - // searches the array for an item (forward or backwards) int wxArrayString::Index(const wxChar *sz, bool bCase, bool bFromEnd) const { @@ -2344,7 +2340,7 @@ size_t wxArrayString::Add(const wxString& str, size_t nInsert) str.GetStringData()->Lock(); // just append - m_pItems[m_nCount + i] = (wxChar *)str.c_str(); // const_cast + m_pItems[m_nCount + i] = str.c_str(); } size_t ret = m_nCount; m_nCount += nInsert; @@ -2369,7 +2365,7 @@ void wxArrayString::Insert(const wxString& str, size_t nIndex, size_t nInsert) for (size_t i = 0; i < nInsert; i++) { str.GetStringData()->Lock(); - m_pItems[nIndex + i] = (wxChar *)str.c_str(); + m_pItems[nIndex + i] = str.c_str(); } m_nCount += nInsert; } @@ -2405,7 +2401,7 @@ void wxArrayString::SetCount(size_t count) wxString s; while ( m_nCount < count ) - m_pItems[m_nCount++] = (wxChar *)s.c_str(); + m_pItems[m_nCount++] = s.c_str(); } // removes item from array (by index)