06f5f8940c
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>
46 lines
740 B
Plaintext
46 lines
740 B
Plaintext
void test_strbuf(void)
|
|
{
|
|
struct strbuf sb3 = STRBUF_INIT;
|
|
struct strbuf sb4 = STRBUF_INIT;
|
|
struct strbuf sb7 = STRBUF_INIT;
|
|
struct strbuf *sp1;
|
|
struct strbuf *sp3;
|
|
struct strbuf *sp6 = xmalloc(sizeof(struct strbuf));
|
|
strbuf_init(sp1, 0);
|
|
strbuf_init(sp3, 0);
|
|
strbuf_init(sp6, 0);
|
|
|
|
use_before(&sb3);
|
|
use_as_str("%s", sb7.buf);
|
|
use_as_str("%s", sp1->buf);
|
|
use_as_str("%s", sp6->buf);
|
|
pass_pp(&sp3);
|
|
|
|
strbuf_release(&sb3);
|
|
strbuf_release(&sb4);
|
|
strbuf_release(&sb7);
|
|
strbuf_release(sp1);
|
|
strbuf_release(sp3);
|
|
strbuf_release(sp6);
|
|
|
|
use_after(&sb4);
|
|
|
|
if (when_strict())
|
|
return;
|
|
}
|
|
|
|
void test_other(void)
|
|
{
|
|
}
|
|
|
|
void test_worktrees(void)
|
|
{
|
|
struct worktree **w4;
|
|
|
|
w4 = get_worktrees();
|
|
|
|
use_it(w4);
|
|
|
|
free_worktrees(w4);
|
|
}
|