X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8f06a017120fd765296f7e8cde414edea64153a9..0a0352f2f83927fc4ece85e1c76666f7f14fde1c:/src/common/string.cpp diff --git a/src/common/string.cpp b/src/common/string.cpp index 559bf3311f..bd4dc94a62 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -113,7 +113,7 @@ extern const wxChar WXDLLEXPORT *wxEmptyString = &g_strEmpty.dummy; // function wxVsnprintfA (A for ANSI), should also find one for Unicode // strings in Unicode build #ifdef __WXMSW__ - #if (defined(__VISUALC__) || defined(wxUSE_NORLANDER_HEADERS)) && !defined(__MINGW32__) + #if defined(__VISUALC__) || wxUSE_NORLANDER_HEADERS #define wxVsnprintfA _vsnprintf #endif #else // !Windows @@ -290,11 +290,11 @@ void wxString::InitWith(const wxChar *psz, size_t nPos, size_t nLength) { Init(); - wxASSERT( nPos <= wxStrlen(psz) ); - if ( nLength == wxSTRING_MAXLEN ) nLength = wxStrlen(psz + nPos); + wxASSERT_MSG( nPos + nLength <= wxStrlen(psz), _T("index out of bounds") ); + STATISTICS_ADD(InitialLength, nLength); if ( nLength > 0 ) { @@ -910,6 +910,8 @@ bool wxString::IsWord() const bool wxString::IsNumber() const { const wxChar *s = (const wxChar*) *this; + if (wxStrlen(s)) + if ((s[0] == '-') || (s[0] == '+')) s++; while(*s){ if(!wxIsdigit(*s)) return(FALSE); s++;