X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d6718dd17be552c69c7e4dbca183f6078998c042..67461bd124df1c391a7e4d7cd3e68febb2a83ee2:/include/wx/wxchar.h?ds=sidebyside diff --git a/include/wx/wxchar.h b/include/wx/wxchar.h index 4f4dc9b485..1068c3dd69 100644 --- a/include/wx/wxchar.h +++ b/include/wx/wxchar.h @@ -18,6 +18,8 @@ #include "wx/platform.h" #include "wx/dlimpexp.h" +#include /* we use FILE below */ + #if defined(HAVE_STRTOK_R) && defined(__DARWIN__) && defined(_MSL_USING_MW_C_HEADERS) && _MSL_USING_MW_C_HEADERS char *strtok_r(char *, const char *, char **); #endif @@ -109,6 +111,10 @@ /* include stdlib.h for wchar_t */ #include #endif /* HAVE_WCHAR_H */ + + #ifdef HAVE_WIDEC_H + #include + #endif #endif /* wxUSE_WCHAR_T */ /* ---------------------------------------------------------------------------- */ @@ -323,7 +329,7 @@ #define wxStrtol _tcstol #define wxStrtoul _tcstoul #ifdef __VISUALC__ - #if __VISUALC__ >= 1300 + #if __VISUALC__ >= 1300 && !defined(__WXWINCE__) #define wxStrtoll _tcstoi64 #define wxStrtoull _tcstoui64 #endif /* VC++ 7+ */ @@ -865,7 +871,7 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */ #else extern #endif - int snprintf(char *str, size_t size, const char *format, ...); + WXDLLIMPEXP_BASE int snprintf(char *str, size_t size, const char *format, ...); #endif /* !HAVE_SNPRINTF_DECL */ /* Wrapper for vsnprintf if it's 3rd parameter is non-const. Note: the @@ -881,10 +887,8 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */ /* MinGW MSVCRT has non-standard vswprintf() (for MSVC compatibility presumably) and normally _vsnwprintf() is used instead - - vswprintf() under (early versions of) OS X is buggy */ -#if defined(HAVE_VSWPRINTF) && (defined(__MINGW32__) || defined(__DARWIN__)) +#if defined(HAVE_VSWPRINTF) && defined(__MINGW32__) #undef HAVE_VSWPRINTF #endif @@ -911,9 +915,11 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */ #else /* !HAVE_UNIX98_PRINTF */ /* The only compiler with positional parameters support under Windows - is VC++ 8.0 which provides a new xxprintf_p() functions family + is VC++ 8.0 which provides a new xxprintf_p() functions family. + The 2003 PSDK includes a slightly earlier version of VC8 than the + main release and does not have the printf_p functions. */ - #if defined(__VISUALC__) && __VISUALC__ >= 1400 + #if defined _MSC_FULL_VER && _MSC_FULL_VER >= 140050727 && !defined __WXWINCE__ #if wxUSE_UNICODE #define wxVsnprintf_ _vswprintf_p #else @@ -1013,9 +1019,6 @@ WXDLLIMPEXP_BASE bool wxOKlibc(); /* for internal use */ either because we don't have them at all or because they don't have the semantics we need */ - - #include /* for FILE */ - int wxScanf( const wxChar *format, ... ) ATTRIBUTE_PRINTF_1; int wxSscanf( const wxChar *str, const wxChar *format, ... ) ATTRIBUTE_PRINTF_2; int wxFscanf( FILE *stream, const wxChar *format, ... ) ATTRIBUTE_PRINTF_2;