error printing update
[henge/apc.git] / src / print.h
index 6e1c4ba..2f44970 100644 (file)
 #ifndef DEBUG
 #define DEBUG 0
 #endif
+/* wprintf callback, may be defined prior to include
+   or undefined and redefined later
+*/
+#ifndef wprintf_callback
+#define wprintf_callback(...) do {             \
+  } while (0)
+#endif
+/* eprintf callback, may be defined prior to include
+   or undefined and redefined later
+*/
+#ifndef eprintf_callback
+#define eprintf_callback(...) do {             \
+  } while (0)
+#endif
+
+/* Print a unicode string */
 #define uprintf(...) do {                      \
-  ulc_fprintf(stdout, __VA_ARGS__);            \
+    ulc_fprintf(stdout, __VA_ARGS__);          \
   } while (0)
+/* Print a unicode string to a filestream */
 #define ufprintf(_STREAM,...) do {             \
-  ulc_fprintf(_STREAM, __VA_ARGS__);           \
-  } while (0)
-#define do_warn(...) do {                      \
+    ulc_fprintf(_STREAM, __VA_ARGS__);         \
   } while (0)
+/* Print a warning message to stderr, then do_warn */
 #define wprintf(...) do {                      \
     ufprintf(stderr, __VA_ARGS__);             \
-    do_warn(__VA_ARGS__);                      \
-  } while (0)
-#define do_error(...) do {                     \
+    wprintf_callback(__VA_ARGS__);             \
   } while (0)
+/* Print an error message to stderr, then do_error */
 #define eprintf(...) do {                      \
     ufprintf(stderr, __VA_ARGS__);             \
-    do_error(__VA_ARGS_);                      \
+    eprintf_callback(__VA_ARGS_);              \
   } while (0)
+/* Print only when the provided boolean is true */
 #define bprintf(_BOOL,...) do {                        \
     if (_BOOL)                                 \
       ufprintf(stdout, __VA_ARGS__);           \
   } while (0)
+/* Print only when DEBUG is set to a value */
 #define dprintf(...) do {                      \
     bprintf(DEBUG, __VA_ARGS__);               \
   } while (0)