From 97b5d07a3e5a33552327bac2e4c9c6a0496f7b5e Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sat, 20 Nov 2021 19:17:38 +0100 Subject: [PATCH] BUILD: cli: clear a maybe-unused warning on some older compilers The SHOW_TOT() and SHOW_AVG() macros used in cli_io_handler_show_activity() produce a warning on gcc 4.7 on MIPS with threads disabled because the compiler doesn't know that global.nbthread is necessarily non-null, hence that at least one iteration is performed. Let's just change the loop for a do {} while () that lets the compiler know it's always initialized. It also has the tiny benefit of making the code shorter. --- src/cli.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cli.c b/src/cli.c index ec5283f..3b06803 100644 --- a/src/cli.c +++ b/src/cli.c @@ -1368,8 +1368,10 @@ static int cli_io_handler_show_activity(struct appctx *appctx) unsigned int _v[MAX_THREADS]; \ unsigned int _tot; \ const unsigned int _nbt = global.nbthread; \ - for (_tot = t = 0; t < _nbt; t++) \ + _tot = t = 0; \ + do { \ _tot += _v[t] = (x); \ + } while (++t < _nbt); \ if (_nbt == 1) { \ chunk_appendf(&trash, " %u\n", _tot); \ break; \ @@ -1386,8 +1388,10 @@ static int cli_io_handler_show_activity(struct appctx *appctx) unsigned int _v[MAX_THREADS]; \ unsigned int _tot; \ const unsigned int _nbt = global.nbthread; \ - for (_tot = t = 0; t < _nbt; t++) \ + _tot = t = 0; \ + do { \ _tot += _v[t] = (x); \ + } while (++t < _nbt); \ if (_nbt == 1) { \ chunk_appendf(&trash, " %u\n", _tot); \ break; \ -- 1.7.10.4