2 * written for mutt-ng by:
3 * Rocco Rutte <pdmef@cs.tu-berlin.de>
5 * This file is part of mutt-ng, see http://www.muttng.org/.
6 * It's licensed under the GNU General Public License,
7 * please see the file GPL in the top level source directory.
10 /* generic interface for debug messages */
17 #define DEBUG_MIN_LEVEL 1
18 #define DEBUG_MIN_LEVEL_S "1"
19 #define DEBUG_MAX_LEVEL 5
20 #define DEBUG_MAX_LEVEL_S "5"
24 extern short DebugLevel;
25 extern FILE* DebugFile;
27 void debug_setlevel (short);
28 void debug_start (const char*);
30 void _debug_print_intro (const char*, int, const char*, int);
31 void _debug_print_msg (const char*, ...);
34 * the debug_print() macro will (in the end) print debug messages of the
37 * (file:line:function:level): message
41 * (file:line:level): message
46 #define debug_print(level,msg) do { \
47 if (DebugLevel >= level) { \
48 _debug_print_intro (__FILE__,__LINE__,__FUNCTION__,level); \
49 _debug_print_msg msg; \
53 #define debug_print(level,msg) do { \
54 if (DebugLevel >= level) { \
55 _debug_print_intro (__FILE__,__LINE__,NULL,level); \
56 _debug_print_msg msg; \
59 #endif /* !__GNUC__ */
64 * without debug support, we don't need these
65 * (this also kills the dozens of #ifdef for debug...
67 #define debug_start(basedir)
68 #define debug_setlevel(level)
69 #define debug_print(level,msg)
73 #endif /* !_LIB_DEBUG_H */