+// ----------------------------------------------------------------------------
+// wxMessageOutputDebug
+// ----------------------------------------------------------------------------
+
+void wxMessageOutputDebug::DoPrintf(const wxChar* format, ...)
+{
+ wxString out;
+
+ va_list args;
+ va_start(args, format);
+
+ out.PrintfV(format, args);
+ va_end(args);
+
+#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
+ out.Replace(wxT("\t"), wxT(" "));
+ out.Replace(wxT("\n"), wxT("\r\n"));
+ ::OutputDebugString(out);
+#elif defined(__WXMAC__) && !defined(__DARWIN__)
+ if ( wxIsDebuggerRunning() )
+ {
+ Str255 pstr;
+ wxString output = out + wxT(";g") ;
+ wxMacStringToPascal(output.c_str(), pstr);
+
+ #ifdef __powerc
+ DebugStr(pstr);
+ #else
+ SysBreakStr(pstr);
+ #endif
+ }
+#else
+ wxFputs( out , stderr ) ;
+ if ( out.Right(1) != wxT("\n") )
+ wxFputs( wxT("\n") , stderr ) ;
+ fflush( stderr ) ;
+#endif // platform
+}