Imported from antiword-0.37.tar.gz.
[antiword.git] / debug.h
blob4dee4d43a0086cb4a0059a38a4519d41192d5d4b
1 /*
2 * debug.h
3 * Copyright (C) 1998-2005 A.J. van Os; Released under GPL
5 * Description:
6 * Macro's for debuging.
7 */
9 #if !defined(__debug_h)
10 #define __debug_h 1
12 #include <stdio.h>
13 #include <ctype.h>
15 #if defined(DEBUG)
17 #define DBG_MSG(t) (void)fprintf(stderr,\
18 "%s[%3d]: %.240s\n",\
19 __FILE__, __LINE__, (t))
21 #define DBG_STRN(t,m) (void)fprintf(stderr,\
22 "%s[%3d]: %d '%.*s'\n",\
23 __FILE__, __LINE__,\
24 (int)(m), (int)(m), (const char *)(t))
26 #define DBG_CHR(m) (void)fprintf(stderr,\
27 "%s[%3d]: "#m" = %3d 0x%02x '%c'\n",\
28 __FILE__, __LINE__,\
29 (int)(m), (unsigned int)(unsigned char)(m),\
30 isprint((int)(unsigned char)(m))?(char)(m):' ')
32 #define DBG_DEC(m) (void)fprintf(stderr,\
33 "%s[%3d]: "#m" = %ld\n",\
34 __FILE__, __LINE__, (long)(m))
36 #define DBG_HEX(m) (void)fprintf(stderr,\
37 "%s[%3d]: "#m" = 0x%02lx\n",\
38 __FILE__, __LINE__, (unsigned long)(m))
40 #define DBG_FLT(m) (void)fprintf(stderr,\
41 "%s[%3d]: "#m" = %.3f\n",\
42 __FILE__, __LINE__, (double)(m))
44 #define DBG_FIXME() (void)fprintf(stderr,\
45 "%s[%3d]: FIXME\n",\
46 __FILE__, __LINE__)
48 #define DBG_PRINT_BLOCK(b,m) vPrintBlock(__FILE__, __LINE__,(b),(m))
49 #define DBG_UNICODE(t) vPrintUnicode(__FILE__, __LINE__,\
50 (const UCHAR *)(t),unilen(t))
51 #define DBG_UNICODE_N(t,m) vPrintUnicode(__FILE__, __LINE__,\
52 (const UCHAR *)(t),(m))
54 #define DBG_MSG_C(c,t) do { if (c) DBG_MSG(t); } while(0)
55 #define DBG_STRN_C(c,t,m) do { if (c) DBG_STRN(t,m); } while(0)
56 #define DBG_CHR_C(c,m) do { if (c) DBG_CHR(m); } while(0)
57 #define DBG_DEC_C(c,m) do { if (c) DBG_DEC(m); } while(0)
58 #define DBG_HEX_C(c,m) do { if (c) DBG_HEX(m); } while(0)
59 #define DBG_FLT_C(c,m) do { if (c) DBG_FLT(m); } while(0)
61 #else
63 #define DBG_MSG(t) /* EMPTY */
64 #define DBG_STRN(t,m) /* EMPTY */
65 #define DBG_CHR(m) /* EMPTY */
66 #define DBG_DEC(m) /* EMPTY */
67 #define DBG_HEX(m) /* EMPTY */
68 #define DBG_FLT(m) /* EMPTY */
70 #define DBG_FIXME() /* EMPTY */
71 #define DBG_PRINT_BLOCK(b,m) /* EMPTY */
72 #define DBG_UNICODE(t) /* EMPTY */
73 #define DBG_UNICODE_N(t,m) /* EMPTY */
75 #define DBG_MSG_C(c,t) /* EMPTY */
76 #define DBG_STRN_C(c,t,m) /* EMPTY */
77 #define DBG_CHR_C(c,m) /* EMPTY */
78 #define DBG_DEC_C(c,m) /* EMPTY */
79 #define DBG_HEX_C(c,m) /* EMPTY */
80 #define DBG_FLT_C(c,m) /* EMPTY */
82 #endif /* DEBUG */
84 #define NO_DBG_MSG(t) /* EMPTY */
85 #define NO_DBG_STRN(t,m) /* EMPTY */
86 #define NO_DBG_CHR(m) /* EMPTY */
87 #define NO_DBG_DEC(m) /* EMPTY */
88 #define NO_DBG_HEX(m) /* EMPTY */
89 #define NO_DBG_FLT(m) /* EMPTY */
91 #define NO_DBG_PRINT_BLOCK(b,m) /* EMPTY */
92 #define NO_DBG_UNICODE(t) /* EMPTY */
93 #define NO_DBG_UNICODE_N(t,m) /* EMPTY */
95 #define NO_DBG_MSG_C(c,t) /* EMPTY */
96 #define NO_DBG_STRN_C(c,t,m) /* EMPTY */
97 #define NO_DBG_CHR_C(c,m) /* EMPTY */
98 #define NO_DBG_DEC_C(c,m) /* EMPTY */
99 #define NO_DBG_HEX_C(c,m) /* EMPTY */
100 #define NO_DBG_FLT_C(c,m) /* EMPTY */
102 #if defined(TRACE)
104 #define TRACE_MSG(t) do {\
105 (void)fprintf(stderr,\
106 "%s[%3d]: TRACE:%.40s\n",\
107 __FILE__, __LINE__, (t));\
108 (void)fflush(stderr);\
109 } while(0)
111 #else
113 #define TRACE_MSG(t) /* EMPTY */
115 #endif /* TRACE */
117 #endif /* !__debug_h */