fix bracket evaluation
[calc.git] / debug.h
diff --git a/debug.h b/debug.h
index 32dc0cae3b7ce62d18b13728a8418401ebeeaa19..fad32dfc90dc20e9eea186e054c198114ccdb250 100644 (file)
--- a/debug.h
+++ b/debug.h
@@ -1,16 +1,26 @@
 #ifndef __DEBUG_H__
 #define __DEBUG_H__
 
+#include "color.h"
+
 /* constants */
 
-#define DEBUG 3
-#define INFO 2
+#define DEBUG   3
+#define INFO    2
 #define WARNING 1
-#define ERROR 0
+#define ERROR   0
 
 /* macros */
 
-#define VERBOSE(level, statement...) do { if (level <= verbose) { statement; } } while(0)
+#define VERBOSE(level, statement...) \
+    do { if (level <= verbose) { CHANGE_COLOR(level); statement; CHANGE_COLOR(-1); } } while(0)
+
+#define CHANGE_COLOR(level) \
+    color_set ((level == ERROR) ? stderr : stdout, \
+               (level == ERROR) ? FG_RED : \
+               (level == WARNING) ? FG_YELLOW : \
+               (level == INFO) ? FG_BLUE : \
+               (level == DEBUG) ? FG_GREEN : COLOR_DEFAULT)
 
 /* gobal variables */