diff options
author | Hennes Rohling <hro@openoffice.org> | 2000-10-31 11:00:18 +0000 |
---|---|---|
committer | Hennes Rohling <hro@openoffice.org> | 2000-10-31 11:00:18 +0000 |
commit | 5c2bcdd7a61a7fb7b199369c2893efc774d97c78 (patch) | |
tree | 992f243a16e4fb096d99af72c828315c1b4bc0a1 /sal/osl/unx/diagnose.c | |
parent | 80d5b189765065a357ae70570f01428be9f60cdc (diff) |
#72083# Provide new function osl_setDebugMessageFunc
Diffstat (limited to 'sal/osl/unx/diagnose.c')
-rw-r--r-- | sal/osl/unx/diagnose.c | 64 |
1 files changed, 43 insertions, 21 deletions
diff --git a/sal/osl/unx/diagnose.c b/sal/osl/unx/diagnose.c index 8116def6670f..ca14d27b38a6 100644 --- a/sal/osl/unx/diagnose.c +++ b/sal/osl/unx/diagnose.c @@ -2,9 +2,9 @@ * * $RCSfile: diagnose.c,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mfe $ $Date: 2000-10-18 16:15:51 $ + * last change: $Author: hro $ $Date: 2000-10-31 12:00:18 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -68,6 +68,17 @@ Trace output */ +static pfunc_osl_printDebugMessage _pPrintDebugMessage = NULL; + +pfunc_osl_printDebugMessage SAL_CALL osl_setDebugMessageFunc( pfunc_osl_printDebugMessage pNewFunc ) +{ + pfunc_osl_printDebugMessage pOldFunc = _pPrintDebugMessage; + _pPrintDebugMessage = pNewFunc; + + return pOldFunc; +} + + void SAL_CALL osl_breakDebug() { exit(0); @@ -90,33 +101,44 @@ void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...) sal_Bool SAL_CALL osl_assertFailedLine(const sal_Char* pszFileName, sal_Int32 nLine, const sal_Char* pszMessage) { -/* sal_Char szMessage[512] = ""; */ /* get app name or NULL if unknown (don't call assert) */ sal_Char* lpszAppName = "OSL"; - /* format message into buffer */ -#ifdef S390 - if(pszMessage != 0) + if ( _pPrintDebugMessage ) { - s390_printf( "Assertion Failed: %s: File %s, Line %d: %s\n", - lpszAppName, pszFileName, nLine, pszMessage); - } else { - s390_printf( "Assertion Failed: %s: File %s, Line %d:\n", - lpszAppName, pszFileName, nLine); + sal_Char szMessage[1024] = ""; + sprintf(szMessage, "Assertion Failed: %s: File %s, Line %lu: %s", + lpszAppName, pszFileName, nLine, pszMessage); + _pPrintDebugMessage( szMessage ); } -#else - if(pszMessage != 0) + else { - fprintf(stderr, "Assertion Failed: %s: File %s, Line %lu: %s", - lpszAppName, pszFileName, nLine, pszMessage); - } else { - fprintf(stderr, "Assertion Failed: %s: File %s, Line %lu ", - lpszAppName, pszFileName, nLine); - } -/* szMessage[sizeof(szMessage)-1] = '\0'; */ -/* fputs(szMessage, stderr); */ + /* format message into buffer */ +#ifdef S390 + if(pszMessage != 0) + { + s390_printf( "Assertion Failed: %s: File %s, Line %d: %s\n", + lpszAppName, pszFileName, nLine, pszMessage); + } + else + { + s390_printf( "Assertion Failed: %s: File %s, Line %d:\n", + lpszAppName, pszFileName, nLine); + } +#else + if(pszMessage != 0) + { + fprintf(stderr, "Assertion Failed: %s: File %s, Line %lu: %s", + lpszAppName, pszFileName, nLine, pszMessage); + } + else + { + fprintf(stderr, "Assertion Failed: %s: File %s, Line %lu ", + lpszAppName, pszFileName, nLine); + } #endif + } return sal_False; /* no abort */ } |