X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a5940c66c79df48c37de7431250dcc0cd540d82a..2b84e565c6c26711e245bab5d4ce0fe1fe3e4078:/include/wx/wxchar.h diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index 55cf190209..c4742c529f 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -68,6 +68,9 @@ #include #include #include + #elif defined(__CYGWIN__) + #include + #include #endif #elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400) // VisualAge 4.0+ supports TCHAR @@ -113,6 +116,11 @@ // time.h functions -- none defined in tchar.h #define wxAsctime asctime #define wxCtime ctime +#elif defined(__MWERKS__) + // for wcslen + #if wxUSE_WCHAR_T + #include + #endif #endif // compilers with (good) TCHAR support #ifdef wxHAVE_TCHAR_FUNCTIONS @@ -265,7 +273,7 @@ typedef _TUCHAR wxUChar; # if defined(__VISUALC__) && (__VISUALC__ < 900) # define wxUSE_WCHAR_T 0 // wchar_t is not available for MSVC++ 1.5 # elif defined(__UNIX__) -# if defined(HAVE_WCSTR_H) || defined(HAVE_WCHAR_H) || defined(__FreeBSD__) || (defined(__DARWIN__)) +# if defined(HAVE_WCSTR_H) || defined(HAVE_WCHAR_H) || defined(__FreeBSD__) || defined(__DARWIN__) # define wxUSE_WCHAR_T 1 # else # define wxUSE_WCHAR_T 0 @@ -276,8 +284,8 @@ typedef _TUCHAR wxUChar; # define wxUSE_WCHAR_T 0 # elif defined(__WATCOMC__) # define wxUSE_WCHAR_T 0 -# elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400) -# define wxUSE_WCHAR_T 1 +# elif defined(__VISAGECPP__) && (__IBMCPP__ < 400) +# define wxUSE_WCHAR_T 0 # else // add additional compiler checks if this fails # define wxUSE_WCHAR_T 1 @@ -288,11 +296,17 @@ typedef _TUCHAR wxUChar; # ifdef HAVE_WCSTR_H # include # else -# if defined(__FreeBSD__) || defined(__DARWIN__) -# include -# define wxNEED_WCSLEN -# else +# if defined(HAVE_WCHAR_H) + +// include wchar.h to get wcslen() declaration used by wx/buffer.h # include + +# elif defined(__FreeBSD__) || defined(__DARWIN__) + +// include stdlib.h for wchar_t, wcslen is provided in wxchar.cpp +# include +size_t WXDLLEXPORT wcslen(const wchar_t *s); + # endif # endif # endif @@ -517,11 +531,6 @@ typedef unsigned __WCHAR_TYPE__ wxUChar; # endif #endif //!Unicode -#if defined(wxNEED_WCSLEN) && wxUSE_UNICODE -# define wcslen wxStrlen -# undef wxNEED_WCSLEN -#endif - // checks whether the passed in pointer is NULL and if the string is empty inline bool wxIsEmpty(const wxChar *p) { return !p || !*p; } @@ -580,10 +589,6 @@ class wxWCharBuffer; WXDLLEXPORT wxWCharBuffer wxSetlocale(int category, const wxChar *locale); #endif -#ifdef wxNEED_WCSLEN // for use in buffer.h -WXDLLEXPORT size_t wcslen(const wchar_t *s); -#endif - #ifdef wxNEED_WX_CTYPE_H WXDLLEXPORT int wxIsalnum(wxChar ch); WXDLLEXPORT int wxIsalpha(wxChar ch);