X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8870c26ecb03e87065fdb3617b8c47ca3c923a53..d79b79b5e8f35e92fbbf0d74c3514dc37642e5aa:/src/common/string.cpp diff --git a/src/common/string.cpp b/src/common/string.cpp index deb0d43978..10f765aff9 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -63,7 +63,7 @@ // --------------------------------------------------------------------------- #ifdef wxSTD_STRING_COMPATIBILITY - const size_t wxString::npos = STRING_MAXLEN; + const size_t wxString::npos = wxSTRING_MAXLEN; #endif // wxSTD_STRING_COMPATIBILITY // ---------------------------------------------------------------------------- @@ -90,7 +90,7 @@ extern const char WXDLLEXPORT *g_szNul = &g_strEmpty.dummy; // function: for Unix this is done with configure, for Windows we test the // compiler explicitly. #ifdef __WXMSW__ - #ifdef _MSC_VER + #ifdef __VISUALC__ #define wxVsprintf _vsnprintf #endif #else // !Windows @@ -104,10 +104,20 @@ extern const char WXDLLEXPORT *g_szNul = &g_strEmpty.dummy; // always available), but it's unsafe because it doesn't check for buffer // size - so give a warning #define wxVsprintf(buffer,len,format,argptr) vsprintf(buffer,format, argptr) -#ifndef __SC__ +#if defined(__VISUALC__) #pragma message("Using sprintf() because no snprintf()-like function defined") -#endif -#endif +#elif defined(__GNUG__) + #warning "Using sprintf() because no snprintf()-like function defined" +#elif defined(__MWERKS__) + #warning "Using sprintf() because no snprintf()-like function defined" +#elif defined(__SUNCC__) + // nothing -- I don't know about "#warning" for Sun's CC +#else + // change this to some analogue of '#warning' for your compiler + #error "Using sprintf() because no snprintf()-like function defined" +#endif //compiler + +#endif // no vsnprintf // ---------------------------------------------------------------------------- // global functions @@ -119,46 +129,18 @@ extern const char WXDLLEXPORT *g_szNul = &g_strEmpty.dummy; // iostream ones. // // ATTN: you can _not_ use both of these in the same program! -#if wxUSE_IOSTREAMH -#include -#define NAMESPACE -#else -#include -# ifdef _MSC_VER - using namespace std; -# endif -// for msvc (bcc50+ also) you don't need these NAMESPACE defines, -// using namespace std; takes care of that. -#define NAMESPACE std:: -#endif -#ifdef __WXMSW__ - #ifdef _MSC_VER - #define wxVsprintf _vsnprintf - #endif -#else - #if defined ( HAVE_VSNPRINTF ) - #define wxVsprintf vsnprintf - #endif -#endif - -#ifndef wxVsprintf - // vsprintf() is ANSI so we can always use it, but it's unsafe! - #define wxVsprintf(buffer,len,format,argptr) vsprintf(buffer,format, argptr) - #pragma message("Using sprintf() because no snprintf()-like function defined") -#endif - -NAMESPACE istream& operator>>(NAMESPACE istream& is, wxString& WXUNUSED(str)) +istream& operator>>(istream& is, wxString& WXUNUSED(str)) { #if 0 int w = is.width(0); if ( is.ipfx(0) ) { - NAMESPACE streambuf *sb = is.rdbuf(); + streambuf *sb = is.rdbuf(); str.erase(); while ( true ) { int ch = sb->sbumpc (); if ( ch == EOF ) { - is.setstate(NAMESPACE ios::eofbit); + is.setstate(ios::eofbit); break; } else if ( isspace(ch) ) { @@ -174,7 +156,7 @@ NAMESPACE istream& operator>>(NAMESPACE istream& is, wxString& WXUNUSED(str)) is.isfx(); if ( str.length() == 0 ) - is.setstate(NAMESPACE ios::failbit); + is.setstate(ios::failbit); #endif return is; } @@ -239,7 +221,7 @@ void wxString::InitWith(const char *psz, size_t nPos, size_t nLength) wxASSERT( nPos <= Strlen(psz) ); - if ( nLength == STRING_MAXLEN ) + if ( nLength == wxSTRING_MAXLEN ) nLength = Strlen(psz + nPos); STATISTICS_ADD(InitialLength, nLength); @@ -639,8 +621,8 @@ wxString wxString::Mid(size_t nFirst, size_t nCount) const wxStringData *pData = GetStringData(); size_t nLen = pData->nDataLength; - // default value of nCount is STRING_MAXLEN and means "till the end" - if ( nCount == STRING_MAXLEN ) + // default value of nCount is wxSTRING_MAXLEN and means "till the end" + if ( nCount == wxSTRING_MAXLEN ) { nCount = nLen - nFirst; } @@ -1142,12 +1124,12 @@ size_t wxString::find(const wxString& str, size_t nStart) const } // VC++ 1.5 can't cope with the default argument in the header. -#if ! (defined(_MSC_VER) && !defined(__WIN32__)) +#if !defined(__VISUALC__) || defined(__WIN32__) size_t wxString::find(const char* sz, size_t nStart, size_t n) const { return find(wxString(sz, n == npos ? 0 : n), nStart); } -#endif +#endif // VC++ 1.5 // Gives a duplicate symbol (presumably a case-insensitivity problem) #if !defined(__BORLANDC__) @@ -1178,7 +1160,7 @@ size_t wxString::rfind(const wxString& str, size_t nStart) const } // VC++ 1.5 can't cope with the default argument in the header. -#if ! (defined(_MSC_VER) && !defined(__WIN32__)) +#if !defined(__VISUALC__) || defined(__WIN32__) size_t wxString::rfind(const char* sz, size_t nStart, size_t n) const { return rfind(wxString(sz, n == npos ? 0 : n), nStart); @@ -1192,7 +1174,7 @@ size_t wxString::rfind(char ch, size_t nStart) const return p == NULL ? npos : p - c_str(); } -#endif +#endif // VC++ 1.5 wxString wxString::substr(size_t nStart, size_t nLen) const {