From fa62389f20902b4d021b6fadddc225317227247e Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 17 Oct 2013 12:33:53 +0000 Subject: [PATCH] Always use standard mbstowcs() and wcstombs() functions. Don't provide our own (not fully functional) definitions of them and always use the system versions as we don't support OS X 10.2 which was the last platform where these functions didn't exist/work. See #15580. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/wxcrtbase.h | 18 -------------- src/common/wxcrt.cpp | 56 +++--------------------------------------- 2 files changed, 4 insertions(+), 70 deletions(-) diff --git a/include/wx/wxcrtbase.h b/include/wx/wxcrtbase.h index 16f6499229..1c3522ec66 100644 --- a/include/wx/wxcrtbase.h +++ b/include/wx/wxcrtbase.h @@ -565,24 +565,6 @@ WXDLLIMPEXP_BASE wchar_t * wxCRT_GetenvW(const wchar_t *name); /* wcstoi doesn't exist */ #endif -#ifdef __DARWIN__ - #if !defined(__WXOSX_IPHONE__) && MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_2 - #define wxNEED_WX_MBSTOWCS - #endif -#endif - -#ifdef wxNEED_WX_MBSTOWCS - /* even though they are defined and "implemented", they are bad and just - stubs so we need our own - we need these even in ANSI builds!! */ - WXDLLIMPEXP_BASE size_t wxMbstowcs(wchar_t *, const char *, size_t); - WXDLLIMPEXP_BASE size_t wxWcstombs(char *, const wchar_t *, size_t); -#else - #define wxMbstowcs mbstowcs - #define wxWcstombs wcstombs -#endif - - - /* ------------------------------------------------------------------------- time.h ------------------------------------------------------------------------- */ diff --git a/src/common/wxcrt.cpp b/src/common/wxcrt.cpp index d46c08bce4..819700c2bf 100644 --- a/src/common/wxcrt.cpp +++ b/src/common/wxcrt.cpp @@ -89,7 +89,7 @@ WXDLLIMPEXP_BASE size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n) #ifdef HAVE_WCSRTOMBS return mbsrtowcs(buf, &psz, n, &mbstate); #else - return wxMbstowcs(buf, psz, n); + return mbstowcs(buf, psz, n); #endif } @@ -102,7 +102,7 @@ WXDLLIMPEXP_BASE size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n) #ifdef HAVE_WCSRTOMBS return mbsrtowcs(NULL, &psz, 0, &mbstate); #else - return wxMbstowcs(NULL, psz, 0); + return mbstowcs(NULL, psz, 0); #endif } @@ -122,14 +122,14 @@ WXDLLIMPEXP_BASE size_t wxWC2MB(char *buf, const wchar_t *pwz, size_t n) #ifdef HAVE_WCSRTOMBS return wcsrtombs(buf, &pwz, n, &mbstate); #else - return wxWcstombs(buf, pwz, n); + return wcstombs(buf, pwz, n); #endif } #ifdef HAVE_WCSRTOMBS return wcsrtombs(NULL, &pwz, 0, &mbstate); #else - return wxWcstombs(NULL, pwz, 0); + return wcstombs(NULL, pwz, 0); #endif } @@ -737,54 +737,6 @@ int wxVsnprintf(wchar_t *str, size_t size, const wxString& format, va_list argpt // ctype.h stuff (currently unused) // ---------------------------------------------------------------------------- -#ifdef wxNEED_WX_MBSTOWCS - -WXDLLIMPEXP_BASE size_t wxMbstowcs (wchar_t * out, const char * in, size_t outlen) -{ - if (!out) - { - size_t outsize = 0; - while(*in++) - outsize++; - return outsize; - } - - const char* origin = in; - - while (outlen-- && *in) - { - *out++ = (wchar_t) *in++; - } - - *out = '\0'; - - return in - origin; -} - -WXDLLIMPEXP_BASE size_t wxWcstombs (char * out, const wchar_t * in, size_t outlen) -{ - if (!out) - { - size_t outsize = 0; - while(*in++) - outsize++; - return outsize; - } - - const wchar_t* origin = in; - - while (outlen-- && *in) - { - *out++ = (char) *in++; - } - - *out = '\0'; - - return in - origin; -} - -#endif // wxNEED_WX_MBSTOWCS - #ifndef wxCRT_StrdupA WXDLLIMPEXP_BASE char *wxCRT_StrdupA(const char *s) {