]> git.ipfire.org Git - thirdparty/git.git/commit
cocci: generalize "unused" rule to cover more than "strbuf"
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 5 Jul 2022 13:47:00 +0000 (15:47 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Jul 2022 19:24:43 +0000 (12:24 -0700)
commit06f5f8940c0335f2a5b0a7bbd086115f4659eaa8
tree4fccdb7fd2c594dfcf0c42740d358cf8828d5886
parent4f40f6cb7365889b262aa93871964f70c91a9ebc
cocci: generalize "unused" rule to cover more than "strbuf"

Generalize the newly added "unused.cocci" rule to find more than just
"struct strbuf", let's have it find the same unused patterns for
"struct string_list", as well as other code that uses
similar-looking *_{release,clear,free}() and {release,clear,free}_*()
functions.

We're intentionally loose in accepting e.g. a "strbuf_init(&sb)"
followed by a "string_list_clear(&sb, 0)".  It's assumed that the
compiler will catch any such invalid code, i.e. that our
constructors/destructors don't take a "void *".

See [1] for example of code that would be covered by the
"get_worktrees()" part of this rule. We'd still need work that the
series is based on (we were passing "worktrees" to a function), but
could now do the change in [1] automatically.

1. https://lore.kernel.org/git/Yq6eJFUPPTv%2Fzc0o@coredump.intra.peff.net/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/repack.c
contrib/coccinelle/tests/unused.c
contrib/coccinelle/tests/unused.res
contrib/coccinelle/unused.cocci