X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/41e155b43e45b056738bfd7e25c8c7fe261243f3..d68d85908b4f6073ae1c100abe3d9469fcd451d9:/src/common/wxchar.cpp diff --git a/src/common/wxchar.cpp b/src/common/wxchar.cpp index 65024d40d8..0f8e76ccbb 100644 --- a/src/common/wxchar.cpp +++ b/src/common/wxchar.cpp @@ -17,7 +17,7 @@ #include "wx/wxprec.h" #ifdef __BORLANDC__ - #pragma hdrstop + #pragma hdrstop #endif #define _ISOC9X_SOURCE 1 // to get vsscanf() @@ -28,24 +28,23 @@ #include #ifndef __WXWINCE__ -#include -#include + #include + #include #else -#include "wx/msw/wince/time.h" + #include "wx/msw/wince/time.h" #endif #ifndef WX_PRECOMP - #include "wx/defs.h" - #include "wx/wxchar.h" - #include "wx/string.h" - #include "wx/hash.h" + #include "wx/wxchar.h" + #include "wx/string.h" + #include "wx/hash.h" #endif #if defined(__WIN32__) && defined(wxNEED_WX_CTYPE_H) #include - #include - #include - #include + #include + #include + #include #endif #if defined(__MWERKS__) && __MSL__ >= 0x6000 @@ -78,6 +77,12 @@ size_t WXDLLEXPORT wxMB2WC(wchar_t *buf, const char *psz, size_t n) #endif } + // note that we rely on common (and required by Unix98 but unfortunately not + // C99) extension which allows to call mbs(r)towcs() with NULL output pointer + // to just get the size of the needed buffer -- this is needed as otherwise + // we have no idea about how much space we need and if the CRT doesn't + // support it (the only currently known example being Metrowerks, see + // wx/wxchar.h) we don't use its mbstowcs() at all #ifdef HAVE_WCSRTOMBS return mbsrtowcs((wchar_t *) NULL, &psz, 0, &mbstate); #else @@ -1066,7 +1071,7 @@ WXDLLEXPORT int wxTolower(wxChar ch) { return (wxChar)CharLower((LPTSTR)(ch)); } WXDLLEXPORT int wxToupper(wxChar ch) { return (wxChar)CharUpper((LPTSTR)(ch)); } #endif -#if defined(__DARWIN__) && ( MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_2 ) +#ifdef wxNEED_WX_MBSTOWCS WXDLLEXPORT size_t wxMbstowcs (wchar_t * out, const char * in, size_t outlen) { @@ -1112,6 +1117,8 @@ WXDLLEXPORT size_t wxWcstombs (char * out, const wchar_t * in, size_t outlen) return in - origin; } +#endif // wxNEED_WX_MBSTOWCS + #if defined(wxNEED_WX_CTYPE_H) #include @@ -1143,8 +1150,6 @@ WXDLLEXPORT int wxToupper(wxChar ch) { return (wxChar)toupper((char)(ch)); } #endif // wxNEED_WX_CTYPE_H -#endif // defined(__DARWIN__) and OSX <= 10.2 - #ifndef wxStrdupA WXDLLEXPORT char *wxStrdupA(const char *s)