- int wxCRT_Printf( const wxChar *format, ... ) ATTRIBUTE_PRINTF_1;
- int wxCRT_Fprintf( FILE *stream, const wxChar *format, ... ) ATTRIBUTE_PRINTF_2;
- int wxCRT_Vfprintf( FILE *stream, const wxChar *format, va_list ap );
- int wxCRT_Vprintf( const wxChar *format, va_list ap );
- int wxCRT_Vsprintf( wxChar *str, const wxChar *format, va_list ap );
-#endif /* wxNEED_PRINTF_CONVERSION */
-
-/* these 2 can be simply mapped to the versions with underscore at the end */
-/* if we don't have to do the conversion */
-/*
- However, if we don't have any vswprintf() at all we don't need to redefine
- anything as our own wxVsnprintf_() already behaves as needed.
-*/
-#if defined(wxNEED_PRINTF_CONVERSION) && defined(wxVsnprintf_)
- int wxCRT_Vsnprintf( wxChar *str, size_t size, const wxChar *format, va_list ap );
-#else
- #define wxCRT_Vsnprintf wxVsnprintf_
-#endif
+ int wxCRT_PrintfW( const wchar_t *format, ... );
+ int wxCRT_FprintfW( FILE *stream, const wchar_t *format, ... );
+ int wxCRT_VfprintfW( FILE *stream, const wchar_t *format, va_list ap );
+ int wxCRT_VprintfW( const wchar_t *format, va_list ap );
+ int wxCRT_VsprintfW( wchar_t *str, const wchar_t *format, va_list ap );
+#else /* !wxNEED_WPRINTF */
+ #define wxCRT_FprintfW fwprintf
+ #define wxCRT_PrintfW wprintf
+ #define wxCRT_VfprintfW vfwprintf
+ #define wxCRT_VprintfW vwprintf
+
+ #if defined(__WINDOWS__) && !defined(HAVE_VSWPRINTF)
+ // only non-standard vswprintf() without buffer size argument can be used here
+ #define wxCRT_VsprintfW vswprintf
+ #endif
+#endif /* wxNEED_WPRINTF */