best makefile
[webserver.git] / debug.h
CommitLineData
8512671a
LM
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
163f56b1
LM
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
8512671a
LM
28/* gobal variables */
29
30extern int verbose;
31
32#endif /* __DEBUG_H__ */
33
34/* vim: set ts=4 sw=4 et: */