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.
This commit is contained in:
Willy Tarreau 2024-11-14 08:47:00 +01:00
parent 8f28dbeea9
commit e119095290
2 changed files with 8 additions and 5 deletions

View File

@ -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); \

View File

@ -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;