diff --git a/src/debug.cpp b/src/debug.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d3faae6f2ca6021613d95a2aa5a0bb8c6a4f42ea --- /dev/null +++ b/src/debug.cpp @@ -0,0 +1,21 @@ +extern "C" +{ +#include <stdio.h> +#include <stdlib.h> +#include <stdarg.h> +} +#include "debug.h" + +void log_message(int level, const char *fmt, ...) +{ + va_list args; + + /** TODO: properly implement debug levels + * if (iop_debug < level) + * return; + */ + + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); +} diff --git a/src/debug.h b/src/debug.h new file mode 100644 index 0000000000000000000000000000000000000000..dc1e2abfb662429b10f3370d09ff8ee449a7071f --- /dev/null +++ b/src/debug.h @@ -0,0 +1,19 @@ +#ifndef DEBUG_H +#define DEBUG_H + +#ifdef JSON_VALIDATOR_DEBUG +void log_message(int level, const char *fmt, ...); + +#define err(...) log_message(0, __VA_ARGS__) +#define warn(...) log_message(1, __VA_ARGS__) +#define info(...) log_message(2, __VA_ARGS__) +#define dbg(...) log_message(3, __VA_ARGS__) + +#else +#define err(...) +#define warn(...) +#define info(...) +#define dbg(...) +#endif + +#endif /* DEBUG_H */