WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, wxDoLog##level)
#define DECLARE_LOG_FUNCTION_IMPL(level) \
- extern void WXDLLIMPEXP_BASE wxVLog##level(const wxChar *szFormat, \
+ extern void WXDLLIMPEXP_BASE wxVLog##level(const wxString& format, \
va_list argptr); \
- extern void WXDLLIMPEXP_BASE wxDoLog##level(const wxChar *szFormat, \
- ...) ATTRIBUTE_PRINTF_1
+ extern void WXDLLIMPEXP_BASE \
+ wxDoLog##level(const wxChar *szFormat, ...) ATTRIBUTE_PRINTF_1
#define DECLARE_LOG_FUNCTION2_EXP_IMPL(level, argclass, arg, expdecl) \
extern void expdecl wxVLog##level(argclass arg, \
- const wxChar *szFormat, \
+ const wxString& format, \
va_list argptr); \
extern void expdecl wxDoLog##level(argclass arg, \
const wxChar *szFormat, \
WX_DEFINE_VARARG_FUNC_NOP(wxLog##level)
#define DECLARE_LOG_FUNCTION_IMPL(level) \
- inline void wxVLog##level(const wxChar *WXUNUSED(szFormat), \
+ inline void wxVLog##level(const wxString& WXUNUSED(format), \
va_list WXUNUSED(argptr)) { } \
#define DECLARE_LOG_FUNCTION2_EXP_IMPL(level, argclass, arg, expdecl) \
inline void wxVLog##level(argclass WXUNUSED(arg), \
- const wxChar *WXUNUSED(szFormat), \
+ const wxString& WXUNUSED(format), \
va_list WXUNUSED(argptr)) {}
// Empty Class to fake wxLogNull
#define DECLARE_LOG_FUNCTION2(level, argclass, arg) \
DECLARE_LOG_FUNCTION2_EXP(level, argclass, arg, WXDLLIMPEXP_BASE)
+// VC6 produces a warning if we a macro expanding to nothing to
+// DECLARE_LOG_FUNCTION2_IMPL:
+#if defined(__VISUALC__) && __VISUALC__ < 1300
+ // "not enough actual parameters for macro 'DECLARE_LOG_FUNCTION2_EXP_IMPL'"
+ #pragma warning(disable:4003)
+#endif
// a generic function for all levels (level is passes as parameter)
DECLARE_LOG_FUNCTION2(Generic, wxLogLevel, level);
// this version only logs the message if the mask had been added to the
// list of masks with AddTraceMask()
- DECLARE_LOG_FUNCTION2_IMPL(Trace, const wxChar*, mask);
+ DECLARE_LOG_FUNCTION2_IMPL(Trace, const wxString&, mask);
// and this one does nothing if all of level bits are not set in
// wxLog::GetActive()->GetTraceMask() -- it's deprecated in favour of
// string identifiers
#endif // HAVE_VARIADIC_MACROS/!HAVE_VARIADIC_MACROS
#endif // debug/!debug
+#if defined(__VISUALC__) && __VISUALC__ < 1300
+ #pragma warning(default:4003)
+#endif
+
// wxLogFatalError helper: show the (fatal) error to the user in a safe way,
// i.e. without using wxMessageBox() for example because it could crash
void WXDLLIMPEXP_BASE