X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04ef50df3a0fa3c343800c554e609f98fc7575cc..d9f7f49ea3aca3e0e0beafe648a61e6606e37663:/src/common/strconv.cpp diff --git a/src/common/strconv.cpp b/src/common/strconv.cpp index 45d3599040..4a7c55d033 100644 --- a/src/common/strconv.cpp +++ b/src/common/strconv.cpp @@ -1,11 +1,11 @@ ///////////////////////////////////////////////////////////////////////////// // Name: strconv.cpp // Purpose: Unicode conversion classes -// Author: Ove Kaaven, Robert Roebling, Vadim Zeitlin +// Author: Ove Kaaven, Robert Roebling, Vadim Zeitlin, Vaclav Slavik // Modified by: // Created: 29/01/98 // RCS-ID: $Id$ -// Copyright: (c) 1999 Ove Kaaven, Robert Roebling, Vadim Zeitlin +// Copyright: (c) 1999 Ove Kaaven, Robert Roebling, Vadim Zeitlin, Vaclav Slavik // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -37,6 +37,25 @@ #include #include + +#include "wx/debug.h" +#include "wx/strconv.h" +#include "wx/intl.h" +#include "wx/log.h" + +// ---------------------------------------------------------------------------- +// globals +// ---------------------------------------------------------------------------- + +WXDLLEXPORT_DATA(wxMBConv *) wxConvCurrent = &wxConvLibc; + + +// ============================================================================ +// implementation +// ============================================================================ + +#if wxUSE_WCHAR_T + #ifdef __SALFORDC__ #include #endif @@ -49,21 +68,8 @@ #include #endif -#include "wx/debug.h" -#include "wx/strconv.h" -#include "wx/intl.h" -#include "wx/log.h" - -#if defined(WORDS_BIGENDIAN) || defined(__STDC_ISO_10646__) -#define BSWAP_UCS4(str, len) -#define BSWAP_UCS2(str, len) -#else #define BSWAP_UCS4(str, len) { unsigned _c; for (_c=0; _c 0x530) +#if ( defined(__BORLANDC__) && (__BORLANDC__ > 0x530) ) \ + || ( defined(__MWERKS__) && defined(__WXMSW__) ) size_t inbuf = std::wcslen(psz); #else size_t inbuf = ::wcslen(psz); @@ -776,7 +866,8 @@ void wxCSConv::LoadNow() SetName(name); } - m_cset = wxGetCharacterSet(m_name); + // wxGetCharacterSet() complains about NULL name + m_cset = m_name ? wxGetCharacterSet(m_name) : NULL; m_deferred = FALSE; } } @@ -808,7 +899,8 @@ size_t wxCSConv::WC2MB(char *buf, const wchar_t *psz, size_t n) const return m_cset->WC2MB(buf, psz, n); // latin-1 (direct) -#if defined(__BORLANDC__) && (__BORLANDC__ > 0x530) +#if ( defined(__BORLANDC__) && (__BORLANDC__ > 0x530) ) \ + || ( defined(__MWERKS__) && defined(__WXMSW__) ) size_t len=std::wcslen(psz); #else size_t len=::wcslen(psz);