summaryrefslogtreecommitdiffstats
path: root/src/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index fb98471..5b0872d 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -23,6 +23,7 @@
#include "utils.h"
int toto_debug = 0;
+uint16_t dbg_mask = 0;
/**
* Sets the level of debugging. Currently the only acceptable values are 0 and
@@ -36,6 +37,15 @@ void iphone_set_debug(int level)
}
+/**
+ * Set debug ids to display. Values can be OR-ed
+ *
+ * @param level Set to 0 for no debugging or 1 for debugging.
+ */
+void iphone_set_debug_mask(uint16_t mask)
+{
+ dbg_mask = mask;
+}
void log_debug_msg(const char *format, ...)
{
@@ -53,6 +63,21 @@ void log_debug_msg(const char *format, ...)
#endif
}
+void log_dbg_msg(uint16_t id, const char *format, ...)
+{
+#ifndef STRIP_DEBUG_CODE
+ if (id & dbg_mask) {
+ va_list args;
+ /* run the real fprintf */
+ va_start(args, format);
+
+ vfprintf(stderr, format, args);
+
+ va_end(args);
+ }
+#endif
+}
+
inline void log_debug_buffer(const char *data, const int length)
{
#ifndef STRIP_DEBUG_CODE