Diff between e206ea0c5a68723bcfcfb2b192e319b1db6ce956 and dc9cf432834c223320f32fc362c6b665d54f97fd

Changed Files

File Additions Deletions Status
src/shared/util.c +17 -0 modified
src/shared/util.h +4 -0 modified

Full Patch

diff --git a/src/shared/util.c b/src/shared/util.c
index 5cfce1c..5aee69d 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -27,9 +27,26 @@
 
 #include <stdio.h>
 #include <ctype.h>
+#include <stdarg.h>
 
 #include "src/shared/util.h"
 
+void util_debug(util_debug_func_t function, void *user_data,
+						const char *format, ...)
+{
+	char str[78];
+	va_list ap;
+
+	if (!function || !format)
+		return;
+
+	va_start(ap, format);
+	vsnprintf(str, sizeof(str), format, ap);
+	va_end(ap);
+
+	function(str, user_data);
+}
+
 void util_hexdump(const char dir, const unsigned char *buf, size_t len,
 				util_debug_func_t function, void *user_data)
 {
diff --git a/src/shared/util.h b/src/shared/util.h
index cb25f2c..88e8954 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -23,5 +23,9 @@
 
 typedef void (*util_debug_func_t)(const char *str, void *user_data);
 
+void util_debug(util_debug_func_t function, void *user_data,
+						const char *format, ...)
+					__attribute__((format(printf, 3, 4)));
+
 void util_hexdump(const char dir, const unsigned char *buf, size_t len,
 				util_debug_func_t function, void *user_data);