X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/be7eecf834108f09d5b00fc7e774e9f8c90fcf8d..1c7da10ebff58f95aa6eaad1a0bf8cd39a516b54:/src/common/string.cpp diff --git a/src/common/string.cpp b/src/common/string.cpp index d1cf41a7c4..0eae6299c9 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -1,11 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// // Name: string.cpp // Purpose: wxString class -// Author: Vadim Zeitlin +// Author: Vadim Zeitlin, Ryan Norton // Modified by: // Created: 29/01/98 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin +// (c) 2004 Ryan Norton // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -1322,7 +1323,7 @@ static inline int wxDoCmpNoCase(const wxChar* s1, size_t l1, if(wxTolower(s1[i]) != wxTolower(s2[i])) break; } - return i == l1 ? 0 : s1[i] < s2[i] ? -1 : 1; + return i == l1 ? 0 : wxTolower(s1[i]) < wxTolower(s2[i]) ? -1 : 1; } else if( l1 < l2 ) { @@ -1331,7 +1332,7 @@ static inline int wxDoCmpNoCase(const wxChar* s1, size_t l1, if(wxTolower(s1[i]) != wxTolower(s2[i])) break; } - return i == l1 ? -1 : s1[i] < s2[i] ? -1 : 1; + return i == l1 ? -1 : wxTolower(s1[i]) < wxTolower(s2[i]) ? -1 : 1; } else if( l1 > l2 ) { @@ -1407,14 +1408,13 @@ const wxCharBuffer wxString::ToAscii() const // this will allocate enough space for the terminating NUL too wxCharBuffer buffer(length()); - #define LOCAL_DEST_TYPE signed char - LOCAL_DEST_TYPE *dest = (LOCAL_DEST_TYPE *)buffer.data(); + char *dest = buffer.data(); const wchar_t *pwc = c_str(); for ( ;; ) { - *dest++ = (LOCAL_DEST_TYPE)(*pwc > SCHAR_MAX ? wxT('_') : *pwc); + *dest++ = (char)(*pwc > SCHAR_MAX ? wxT('_') : *pwc); // the output string can't have embedded NULs anyhow, so we can safely // stop at first of them even if we do have any @@ -1422,8 +1422,6 @@ const wxCharBuffer wxString::ToAscii() const break; } - #undef LOCAL_DEST_TYPE - return buffer; }