From e119095290fe6318de53a8dcb6b0eeda90662737 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 14 Nov 2024 08:47:00 +0100 Subject: [PATCH] MINOR: debug: explicitly permit the counter condition to be empty In order to count new event types, we'll need to support empty conditions so that we don't have to fake if (1) that would pollute the output. This change checks if #cond is an empty string before concatenating it with the optional var args, and avoids dumping the colon on the dump if the whole description is empty. --- include/haproxy/bug.h | 8 +++++--- src/debug.c | 5 +++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/haproxy/bug.h b/include/haproxy/bug.h index e708bcedf..8183681ab 100644 --- a/include/haproxy/bug.h +++ b/include/haproxy/bug.h @@ -209,9 +209,11 @@ extern __attribute__((__weak__)) struct debug_count __stop_dbg_cnt HA_SECTION_S .func = __func__, \ .line = _line, \ .type = _type, \ - .desc = (sizeof("" __VA_ARGS__) > 1) ? \ - "\"" #_cond "\" [" __VA_ARGS__ "]" : \ - "\"" #_cond "\"", \ + .desc = (sizeof("" #_cond) > 1) ? \ + (sizeof("" __VA_ARGS__) > 1) ? \ + "\"" #_cond "\" [" __VA_ARGS__ "]" : \ + "\"" #_cond "\"" : \ + "" __VA_ARGS__, \ .count = 0, \ }; \ HA_WEAK(__start_dbg_cnt); \ diff --git a/src/debug.c b/src/debug.c index 67d8ff932..c4da8d7db 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2312,9 +2312,10 @@ static int debug_iohandler_counters(struct appctx *appctx) } if (ptr->type < DBG_COUNTER_TYPES) - chunk_appendf(&trash, "%-10u %3s %s:%d %s(): %s\n", + chunk_appendf(&trash, "%-10u %3s %s:%d %s()%s%s\n", ptr->count, bug_type[ptr->type], - name, ptr->line, ptr->func, ptr->desc); + name, ptr->line, ptr->func, + *ptr->desc ? ": " : "", ptr->desc); if (applet_putchk(appctx, &trash) == -1) { ctx->start = ptr;