#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 wxFgetchar _fgettchar
#define wxFgets _fgetts
#if wxUSE_UNICODE_MSLU
+ WXDLLIMPEXP_BASE FILE * wxMSLU__tfopen(const wxChar *name, const wxChar *mode);
+
#define wxFopen wxMSLU__tfopen
#else
#define wxFopen _tfopen
/* special case: these functions are missing under Win9x with Unicows so we */
/* have to implement them ourselves */
#if wxUSE_UNICODE_MSLU
+ WXDLLIMPEXP_BASE int wxMSLU__trename(const wxChar *oldname, const wxChar *newname);
+ WXDLLIMPEXP_BASE int wxMSLU__tremove(const wxChar *name);
+
#define wxRemove wxMSLU__tremove
#define wxRename wxMSLU__trename
#else
#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
*/
The only compiler with positional parameters support under Windows
is VC++ 8.0 which provides a new xxprintf_p() functions family
*/
- #if defined(__VISUALC__) && __VISUALC__ >= 1400
+ #if defined(__VISUALC__) && __VISUALC__ >= 1400 && !defined(__WXWINCE__)
#if wxUSE_UNICODE
#define wxVsnprintf_ _vswprintf_p
#else