#undef HAVE_VSWPRINTF
#endif
+#if defined(__WATCOMC__)
+ #define HAVE_VSWPRINTF 1
+#endif
+
#if wxUSE_PRINTF_POS_PARAMS
/*
The systems where vsnprintf() supports positional parameters should
#define wxCRT_VprintfA vprintf
#define wxCRT_VsprintfA vsprintf
-#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
-
/*
In Unicode mode we need to have all standard functions such as wprintf() and
so on but not all systems have them so use our own implementations in this
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 */
int wxCRT_SscanfW(const wchar_t *str, const wchar_t *format, ...);
int wxCRT_FscanfW(FILE *stream, const wchar_t *format, ...);
int wxCRT_VsscanfW(const wchar_t *str, const wchar_t *format, va_list ap);
+#else
+#ifdef __VMS
+#if (__DECCXX_VER >= 70100000) && !defined(__STD_CFRONT) && !defined( __NONAMESPACE_STD )
+# define wxCRT_ScanfW std::wscanf
+# define wxCRT_SscanfW std::swscanf
+# define wxCRT_FscanfW std::fwscanf
+# define wxCRT_VsscanfW std::vswscanf
#else
#define wxCRT_ScanfW wscanf
#define wxCRT_SscanfW swscanf
#define wxCRT_FscanfW fwscanf
#define wxCRT_VsscanfW vswscanf
#endif
+#else
+ #define wxCRT_ScanfW wscanf
+ #define wxCRT_SscanfW swscanf
+ #define wxCRT_FscanfW fwscanf
+ #define wxCRT_VsscanfW vswscanf
+#endif
+#endif
// ----------------------------------------------------------------------------
// user-friendly wrappers to CRT functions