#define wxUngetc _tungetc
#define wxVfprint _vftprintf
#define wxVprintf _vtprintf
+#define wxVsscanf _vstscanf
#define wxVsprintf _vstprintf
// stdlib.h functions
#define wxIsspace iswspace
#define wxIsupper iswupper
#define wxIsxdigit iswxdigit
-#define wxTolower towlower
-#define wxToupper towupper
+
+#if defined(__GLIBC__) && (__GLIBC__ == 2) && (__GLIBC_MINOR__ == 0)
+ // /usr/include/wctype.h incorrectly declares translations tables which
+ // provokes tons of compile-time warnings - try to correct this
+ #define wxTolower(wc) towctrans((wc), (wctrans_t)__ctype_tolower)
+ #define wxToupper(wc) towctrans((wc), (wctrans_t)__ctype_toupper)
+#else
+ #define wxTolower towlower
+ #define wxToupper towupper
+#endif // gcc/!gcc
// string.h functions (wchar.h)
#define wxStrcat wcscat
#define wxUngetc ungetc
#define wxVfprint vfprintf
#define wxVprintf vprintf
+#define wxVsscanf vsscanf
#define wxVsprintf vsprintf
// stdlib.h functions
#endif
#ifdef wxNEED_WX_STDIO_H
+#include <stdio.h>
#include <stdarg.h>
int WXDLLEXPORT wxPrintf(const wxChar *fmt, ...);
int WXDLLEXPORT wxVprintf(const wxChar *fmt, va_list argptr);
+int WXDLLEXPORT wxFprintf(FILE *stream, const wxChar *fmt, ...);
+int WXDLLEXPORT wxVfprintf(FILE *stream, const wxChar *fmt, va_list argptr);
int WXDLLEXPORT wxSprintf(wxChar *buf, const wxChar *fmt, ...);
int WXDLLEXPORT wxVsprintf(wxChar *buf, const wxChar *fmt, va_list argptr);
+int WXDLLEXPORT wxSscanf(const wxChar *buf, const wxChar *fmt, ...);
+int WXDLLEXPORT wxVsscanf(const wxChar *buf, const wxChar *fmt, va_list argptr);
#endif
#ifndef wxAtof