Improve the debug printing function:
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 21 Aug 2017 13:31:06 +0000 (15:31 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 21 Aug 2017 13:31:06 +0000 (15:31 +0200)
- Add va_arg support;
- Flag the debug char* properly;
- Use the function in the pawns array displaying helper function.

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
lib/debug.c
lib/debug.h

index e00ce9f23ca859a2c36ecfd94925066f42ba7bb9..ead321696671087f620e28e89ef5d71ec6071d4e 100644 (file)
 #include "othello.h"
 #include "debug.h"
 
+#if BUILD_TYPE == debug
+void dbg_mvprintw(int y, int x, const char* debug_text, ...) {
+    va_list func_args;
+    char debug_msg[256];
+
+    snprintf(debug_msg, sizeof(debug_msg), "%s%s", "DEBUG: ", debug_text);
+    va_start(func_args, debug_text);
+    mvprintw(y, x, debug_msg, func_args);
+    va_end(func_args);
+}
+#else
+void dbg_mvprintw(int y, int x, const char* debug_text, ...) { }
+#endif
+
 void display_array(int base_y, int base_x, unsigned int pawn_array[board_size][board_size]) {
 
     for (int i = 1; i <= board_size; i++) {
-        mvprintw(base_y + i, base_x, "%d", i);
+        dbg_mvprintw(base_y + i, base_x, "%d", i);
         for (int j = 1; j <= board_size; j++) {
-            mvprintw(base_y, base_x + j, "%d", j);
-            mvprintw(base_y + i, base_x + j, "%d", get_box_value(i, j, pawn_array));
+            dbg_mvprintw(base_y, base_x + j, "%d", j);
+            dbg_mvprintw(base_y + i, base_x + j, "%d", get_box_value(i, j, pawn_array));
         }
     }
 }
-
-#if BUILD_TYPE == debug
-void dbg_mvprintv(int y, int x, char* debug_text) {
-    mvprintw(y, x, debug_text);
-}
-#else
-void dbg_mvprintv(int y, int x, char* debug_text) { }
-#endif
index e87809de4f6109f180f8d4144bca845ee0552f1e..b8327fff6ae50fd36c4fd983ffbd8344177419d2 100644 (file)
@@ -22,7 +22,8 @@
 #include <ncurses.h>
 
 #include "constants.h"
+
+void dbg_mvprintw(int y, int x, const char* debug_text, ...);
 void display_array(int base_y, int base_x, unsigned int pawn_array[board_size][board_size]);
 
 #endif /* DEBUG_H */