/* include stdlib.h for wchar_t */
#include <stdlib.h>
#endif /* HAVE_WCHAR_H */
+
+ #ifdef HAVE_WIDEC_H
+ #include <widec.h>
+ #endif
#endif /* wxUSE_WCHAR_T */
/* ---------------------------------------------------------------------------- */
#define wxStrtod _tcstod
#define wxStrtol _tcstol
#define wxStrtoul _tcstoul
+ #ifdef __VISUALC__
+ #if __VISUALC__ >= 1300 && !defined(__WXWINCE__)
+ #define wxStrtoll _tcstoi64
+ #define wxStrtoull _tcstoui64
+ #endif /* VC++ 7+ */
+ #endif
#define wxStrxfrm _tcsxfrm
/* stdio.h functions */
#define wxStrtod wcstod
#define wxStrtol wcstol
#define wxStrtoul wcstoul
+ #ifdef HAVE_WCSTOULL
+ /* assume that we have wcstoull(), which is also C99, too */
+ #define wxStrtoll wcstoll
+ #define wxStrtoull wcstoull
+ #endif /* HAVE_WCSTOULL */
#define wxStrxfrm wcsxfrm
#define wxFgetc fgetwc
#endif
#define wxStrtol strtol
#define wxStrtoul strtoul
+ #ifdef HAVE_STRTOULL
+ /* assume that we have wcstoull(), which is also C99, too */
+ #define wxStrtoll strtoll
+ #define wxStrtoull strtoull
+ #endif /* HAVE_WCSTOULL */
#define wxStrxfrm strxfrm
/* stdio.h functions */
#endif /* Unicode/ASCII */
#endif /* TCHAR-aware compilers/the others */
+#ifdef wxStrtoll
+ #define wxHAS_STRTOLL
+#endif
+
/*
various special cases
*/
#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
/*
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
#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