summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2006-02-28 09:35:57 +0000
committerKurt Zenker <kz@openoffice.org>2006-02-28 09:35:57 +0000
commit226ced6948ec4ac39d125024ce2a050a88c599c3 (patch)
tree711490c75df64d886bf7371b1e0e5f181fde0ba0 /sal
parentd46018564fa60a348afa0524229529dae44be9b2 (diff)
INTEGRATION: CWS gslpatches07 (1.17.66); FILE MERGED
2006/02/14 15:23:40 fs 1.17.66.1: #i52747# +osl_setDetailedDebugMessageFunc
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/unx/diagnose.c35
1 files changed, 29 insertions, 6 deletions
diff --git a/sal/osl/unx/diagnose.c b/sal/osl/unx/diagnose.c
index f08811c48439..d62860652a1a 100644
--- a/sal/osl/unx/diagnose.c
+++ b/sal/osl/unx/diagnose.c
@@ -4,9 +4,9 @@
*
* $RCSfile: diagnose.c,v $
*
- * $Revision: 1.17 $
+ * $Revision: 1.18 $
*
- * last change: $Author: rt $ $Date: 2005-09-08 14:53:36 $
+ * last change: $Author: kz $ $Date: 2006-02-28 10:35:57 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -75,6 +75,9 @@ static pthread_mutex_t g_mutex = PTHREAD_MUTEX_INITIALIZER;
typedef pfunc_osl_printDebugMessage oslDebugMessageFunc;
static oslDebugMessageFunc volatile g_pDebugMessageFunc = 0;
+typedef pfunc_osl_printDetailedDebugMessage oslDetailedDebugMessageFunc;
+static oslDetailedDebugMessageFunc volatile g_pDetailedDebugMessageFunc = 0;
+
static void osl_diagnose_backtrace_Impl (
oslDebugMessageFunc f);
@@ -124,8 +127,7 @@ static void osl_diagnose_frame_Impl (
sname ? sname : "???",
offset);
- if ( !getenv("DISABLE_SAL_DBGBOX") || 0 != f )
- OSL_DIAGNOSE_OUTPUTMESSAGE(f, szMessage);
+ OSL_DIAGNOSE_OUTPUTMESSAGE(f, szMessage);
}
/************************************************************************/
@@ -207,6 +209,17 @@ sal_Bool SAL_CALL osl_assertFailedLine (
sal_Int32 nLine,
const sal_Char* pszMessage)
{
+ /* If there's a callback for detailed messages, use it */
+ if ( g_pDetailedDebugMessageFunc != NULL )
+ {
+ g_pDetailedDebugMessageFunc( pszFileName, nLine, pszMessage );
+ return sal_False;
+ }
+
+ /* if SAL assertions are disabled in general, stop here */
+ if ( getenv("DISABLE_SAL_DBGBOX") )
+ return sal_False;
+
oslDebugMessageFunc f = g_pDebugMessageFunc;
char szMessage[1024];
@@ -228,8 +241,7 @@ sal_Bool SAL_CALL osl_assertFailedLine (
pthread_mutex_lock(&g_mutex);
/* output message buffer */
- if ( !getenv("DISABLE_SAL_DBGBOX") || 0 != f )
- OSL_DIAGNOSE_OUTPUTMESSAGE(f, szMessage);
+ OSL_DIAGNOSE_OUTPUTMESSAGE(f, szMessage);
/* output backtrace */
osl_diagnose_backtrace_Impl(f);
@@ -270,6 +282,17 @@ oslDebugMessageFunc SAL_CALL osl_setDebugMessageFunc (
}
/************************************************************************/
+/* osl_setDetailedDebugMessageFunc */
+/************************************************************************/
+pfunc_osl_printDetailedDebugMessage SAL_CALL osl_setDetailedDebugMessageFunc (
+ pfunc_osl_printDetailedDebugMessage pNewFunc)
+{
+ oslDetailedDebugMessageFunc pOldFunc = g_pDebugMessageFunc;
+ g_pDetailedDebugMessageFunc = pNewFunc;
+ return pOldFunc;
+}
+
+/************************************************************************/
/* osl_trace */
/************************************************************************/
/* comment this define to stop output thread identifier*/