pascal static void wxMacAssertOutputHandler(OSType componentSignature, UInt32 options, const char *assertionString, const char *exceptionLabelString, const char *errorString, const char *fileName, long lineNumber, void *value, ConstStr255Param outputMsg) { // flow into assert handling wxString fileNameStr ; wxString assertionStr ; wxString exceptionStr ; wxString errorStr ; #if wxUSE_UNICODE fileNameStr = wxString(fileName, wxConvLocal); assertionStr = wxString(assertionString, wxConvLocal); exceptionStr = wxString((exceptionLabelString!=0) ? exceptionLabelString : "", wxConvLocal) ; errorStr = wxString((errorString!=0) ? errorString : "", wxConvLocal) ; #else fileNameStr = fileName; assertionStr = assertionString; exceptionStr = (exceptionLabelString!=0) ? exceptionLabelString : "" ; errorStr = (errorString!=0) ? errorString : "" ; #endif #if 1 // flow into log wxLogDebug( wxT("AssertMacros: %s %s %s file: %s, line: %ld (value %p)\n"), assertionStr.c_str() , exceptionStr.c_str() , errorStr.c_str(), fileNameStr.c_str(), lineNumber , value ) ; #else wxOnAssert(fileNameStr, lineNumber , assertionStr , wxString::Format( wxT("%s %s value (%p)") ,exceptionStr, errorStr , value ) ) ; #endif }
void wxAssert(int cond, const wxChar *szFile, int nLine, const wxChar *szCond, const wxChar *szMsg) { if ( !cond ) wxOnAssert(szFile, nLine, szCond, szMsg); }