best makefile
[webserver.git] / debug.h
1 #ifndef __DEBUG_H__
2 #define __DEBUG_H__
3
4 #include "color.h"
5
6 /* constants */
7
8 #define DEBUG 3
9 #define INFO 2
10 #define WARNING 1
11 #define ERROR 0
12
13 /* macros */
14
15 #define VERBOSE(level, statement...) \
16 do { if (level <= verbose) { CHANGE_COLOR(level); statement; CHANGE_COLOR(-1); } } while(0)
17
18 #define CHANGE_COLOR(level) \
19 color_set ((level == ERROR) ? stderr : stdout, \
20 (level == ERROR) ? FG_RED : \
21 (level == WARNING) ? FG_YELLOW : \
22 (level == INFO) ? FG_BLUE : \
23 (level == DEBUG) ? FG_GREEN : COLOR_DEFAULT)
24
25 #define PRINT(statement...) do { fprintf (stdout, statement); fflush (stdout); } while (0)
26 #define PERROR(statement...) do { fprintf (stderr, statement); fflush (stderr); } while (0)
27
28 /* gobal variables */
29
30 extern int verbose;
31
32 #endif /* __DEBUG_H__ */
33
34 /* vim: set ts=4 sw=4 et: */