From: Willy Tarreau Date: Thu, 14 Nov 2024 07:47:00 +0000 (+0100) Subject: MINOR: debug: explicitly permit the counter condition to be empty X-Git-Tag: v3.1-dev13~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e119095290fe6318de53a8dcb6b0eeda90662737;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/include/haproxy/bug.h b/include/haproxy/bug.h index e708bcedf9..8183681abd 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 67d8ff9321..c4da8d7db6 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;