diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2025-03-27 11:53:01 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2025-03-28 17:38:11 -0700 |
commit | 88c91d7d742b802a8774383641f8d997cfd1cd0c (patch) | |
tree | 67d467799237aa54cb93d88147d946b5d0db4204 /compat/regex/regexec.c | |
parent | 752fe9dc929afe1944e44b852f1248df4fb82986 (diff) |
compat/regex: explicitly mark intentional use of the comma operator
The comma operator is a somewhat obscure C feature that is often used by
mistake and can even cause unintentional code flow. That is why the
`-Wcomma` option of clang was introduced: To identify unintentional uses
of the comma operator.
In the `compat/regex/` code, the comma operator is used twice, once to
avoid surrounding two conditional statements with curly brackets, the
other one to increment two counters simultaneously in a `do ... while`
condition.
The first one is replaced with a proper conditional block, surrounded by
curly brackets.
The second one would be harder to replace because the loop contains two
`continue`s. Therefore, the second one is marked as intentional by
casting the value-to-discard to `void`.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/regex/regexec.c')
-rw-r--r-- | compat/regex/regexec.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compat/regex/regexec.c b/compat/regex/regexec.c index 2eeec82f40..c08f1bbe1f 100644 --- a/compat/regex/regexec.c +++ b/compat/regex/regexec.c @@ -2210,7 +2210,7 @@ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, /* mctx->bkref_ents may have changed, reload the pointer. */ entry = mctx->bkref_ents + enabled_idx; } - while (enabled_idx++, entry++->more); + while ((void)enabled_idx++, entry++->more); } err = REG_NOERROR; free_return: |