From 566363b620c8a4896affe1c46fe70d2854834b33 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 8 Jan 2021 10:51:58 -0800 Subject: [PATCH] util: Introduce util_debug_va This introduces util_debug_va which can take a va_list that enables callers to create wrapper functions if they need to. --- src/shared/util.c | 19 ++++++++++++++----- src/shared/util.h | 4 ++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/shared/util.c b/src/shared/util.c index 525302164..9c2054211 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -15,7 +15,6 @@ #define _GNU_SOURCE #include #include -#include #include #include #include @@ -42,20 +41,30 @@ void *btd_malloc(size_t size) return NULL; } +void util_debug_va(util_debug_func_t function, void *user_data, + const char *format, va_list va) +{ + char str[78]; + + if (!function || !format) + return; + + vsnprintf(str, sizeof(str), format, va); + + function(str, user_data); +} + 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); + util_debug_va(function, user_data, format, ap); va_end(ap); - - function(str, user_data); } void util_hexdump(const char dir, const unsigned char *buf, size_t len, diff --git a/src/shared/util.h b/src/shared/util.h index 6fb702797..d6de55885 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -89,6 +90,9 @@ void *btd_malloc(size_t size); typedef void (*util_debug_func_t)(const char *str, void *user_data); +void util_debug_va(util_debug_func_t function, void *user_data, + const char *format, va_list va); + void util_debug(util_debug_func_t function, void *user_data, const char *format, ...) __attribute__((format(printf, 3, 4))); -- 2.47.3