From: Willy Tarreau Date: Sat, 20 Nov 2021 18:17:38 +0000 (+0100) Subject: BUILD: cli: clear a maybe-unused warning on some older compilers X-Git-Tag: v2.5.0~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=97b5d07a3e5a33552327bac2e4c9c6a0496f7b5e;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/cli.c b/src/cli.c index ec5283f27f..3b068031fb 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; \