Annotation of libwww/Library/src/HTTrace.c, revision 2.4
2.1 frystyk 1: /* HTTrace.c
2: ** TRACE AND DATA LOGGING UTILITIES
3: **
4: ** (c) COPYRIGHT MIT 1996.
5: ** Please first read the full copyright statement in the file COPYRIGH.
2.4 ! eric 6: ** @(#) $Id: HTTrace.c,v 2.3 1996/12/13 22:06:24 eric Exp $
2.1 frystyk 7: **
8: ** 26 Nov 96 (EGP) moved HTTrace stuff here from HTString.c and
9: ** added HTTrace_data
10: */
11:
12: /* Library include files */
13: #include "sysdep.h"
14: /*
15: ** All the tracing facilities are prototyped in
16: ** HTUtils.h because they are needed everywhere.
17: */
18: #include "HTUtils.h"
19:
20: #if WWWTRACE_MODE == WWWTRACE_FILE
21: PUBLIC FILE *WWWTrace = NULL;
22: #endif
23:
24: #ifndef WWW_WIN_DLL
25: PUBLIC int WWW_TraceFlag = 0; /* Global trace flag for ALL W3 code */
26: #endif
27:
28: PRIVATE HTTraceCallback * PHTTraceCallback = NULL;
29:
30: PUBLIC void HTTrace_setCallback (HTTraceCallback * pCall)
31: {
32: PHTTraceCallback = pCall;
33: }
34:
35: PUBLIC HTTraceCallback * HTTrace_getCallback (void)
36: {
37: return PHTTraceCallback;
38: }
39:
40: PUBLIC int HTTrace (const char * fmt, ...)
41: {
42: va_list pArgs;
43: va_start(pArgs, fmt);
44: if (PHTTraceCallback)
45: return (*PHTTraceCallback)(fmt, pArgs);
2.4 ! eric 46: #ifdef WWW_WIN_WINDOW
2.1 frystyk 47: return (0);
48: #else
49: return (vfprintf(stderr, fmt, pArgs));
50: #endif
51: }
52:
53: PRIVATE HTTraceDataCallback * PHTTraceDataCallback = NULL;
54:
55: PUBLIC void HTTraceData_setCallback (HTTraceDataCallback * pCall)
56: {
57: PHTTraceDataCallback = pCall;
58: }
59:
60: PUBLIC HTTraceDataCallback * HTTraceData_getCallback (void)
61: {
62: return PHTTraceDataCallback;
63: }
64:
2.3 eric 65: PUBLIC int HTTraceData (char * data, size_t len, char * fmt, ...)
2.1 frystyk 66: {
67: va_list pArgs;
68: va_start(pArgs, fmt);
69: if (PHTTraceDataCallback)
70: return (*PHTTraceDataCallback)(data, len, fmt, pArgs);
71: return (0);
72: }
73:
74: PUBLIC void HTDebugBreak (void)
75: {
2.2 eric 76: #ifdef WWW_MSWINDOWS
77: DebugBreak();
78: #else /* WWW_MSWINDOWS */
2.1 frystyk 79: int i;
80: i = 1/0;
81: i = 1/1;
2.2 eric 82: #endif /* !WWW_MSWINDOWS */
2.1 frystyk 83: return;
84: }
85:
Webmaster