X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e36e6f95aa6ef7174a35bf2ee29ecab80deeaa5d..c49245f8baabd69afd7302c43474d3bdd247fb89:/src/common/intl.cpp diff --git a/src/common/intl.cpp b/src/common/intl.cpp index ee598103ea..020bd9be8b 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -28,6 +28,8 @@ #pragma hdrstop #endif +#if wxUSE_INTL + // standard headers #include #include @@ -46,9 +48,40 @@ // simple types // ---------------------------------------------------------------------------- -// FIXME adjust if necessary +// this should *not* be wxChar, this type must have exactly 8 bits! typedef unsigned char size_t8; -typedef unsigned long size_t32; + +#ifdef __WXMSW__ + #if defined(__WIN16__) + typedef unsigned long size_t32; + #elif defined(__WIN32__) + typedef unsigned int size_t32; + #else + // Win64 will have different type sizes + #error "Please define a 32 bit type" + #endif +#else // !Windows + // SIZEOF_XXX are defined by configure + #if defined(SIZEOF_INT) && (SIZEOF_INT == 4) + typedef unsigned int size_t32; + #elif defined(SIZEOF_LONG) && (SIZEOF_LONG == 4) + typedef unsigned long size_t32; + #else + // assume sizeof(int) == 4 - what else can we do + typedef unsigned int size_t32; + + // ... but at least check it during run time + static class IntSizeChecker + { + public: + IntSizeChecker() + { + wxASSERT_MSG( sizeof(int) == 4, + "size_t32 is incorrectly defined!" ); + } + } intsizechecker; + #endif +#endif // Win/!Win // ---------------------------------------------------------------------------- // constants @@ -484,7 +517,7 @@ const wxMB2WXbuf wxLocale::GetString(const wxChar *szOrigString, return szDomain; const char *pszTrans = NULL; - const wxWX2MBbuf szOrgString = wxConv_libc.cWX2MB(szOrigString); + const wxWX2MBbuf szOrgString = wxConvCurrent->cWX2MB(szOrigString); wxMsgCatalog *pMsgCat; if ( szDomain != NULL ) { @@ -531,7 +564,7 @@ const wxMB2WXbuf wxLocale::GetString(const wxChar *szOrigString, return (wxMB2WXbuf)(szOrigString); } else - return (wxMB2WXbuf)(wxConv_libc.cMB2WX(pszTrans)); + return (wxMB2WXbuf)(wxConvCurrent->cMB2WX(pszTrans)); } // find catalog by name in a linked list, return NULL if !found @@ -615,3 +648,6 @@ wxLocale *wxSetLocale(wxLocale *pLocale) g_pLocale = pLocale; return pOld; } + +#endif // wxUSE_INTL +