From e32f83648568f1be5ba2a0ca6eb23ae4daaa9ed4 Mon Sep 17 00:00:00 2001 From: nirenjan Date: Thu, 15 Jul 2021 18:31:01 -0700 Subject: [PATCH] Fix format-literal error in clang --- lib/pinelog/test_pinelog.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/pinelog/test_pinelog.c b/lib/pinelog/test_pinelog.c index dd568a8..8977367 100644 --- a/lib/pinelog/test_pinelog.c +++ b/lib/pinelog/test_pinelog.c @@ -66,10 +66,8 @@ static void dump_data(const char *type, size_t len, char *data) printf("\n"); } -static void test_setup(int level, int filter, const char *file, int line, const char *fmt, ...) +static int test_setup(int level, int filter, const char *file, int line) { - va_list ap; - expected_len = 0; memset(expected_output, 0, sizeof(expected_output)); @@ -105,14 +103,10 @@ static void test_setup(int level, int filter, const char *file, int line, const "%s:%d ", file, line); } - va_start(ap, fmt); - expected_len += vsnprintf(&expected_output[expected_len], - sizeof(expected_output) - expected_len, - fmt, ap); - va_end(ap); - expected_output[expected_len] = '\n'; - expected_len++; + return 1; } + + return 0; } static void test_teardown(const char *desc) @@ -144,8 +138,11 @@ static void verify_defaults(void) #define PINELOG_WARNING PINELOG_WARN #define TEST_LOG(lvl, filter, fmt, ...) do { \ - test_setup(PINELOG_LVL_ ## lvl, PINELOG_LVL_ ## filter, \ - __FILE__, __LINE__, fmt, ##__VA_ARGS__); \ + if (test_setup(PINELOG_LVL_ ## lvl, PINELOG_LVL_ ## filter, \ + __FILE__, __LINE__)) \ + expected_len += snprintf(&expected_output[expected_len], \ + sizeof(expected_output) - expected_len, \ + fmt "\n", ##__VA_ARGS__); \ PINELOG_ ## lvl (fmt, ##__VA_ARGS__); \ test_teardown("Log " #lvl " filter " #filter); \ } while(0)