Remove the "when strict" constraint from the newly introduced rule to find unused code. As seen in the change this will help us find cases where a "return" was causing spatch in the middle of our match was causing spatch to abort its analysis. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- builtin/merge.c | 2 -- builtin/repack.c | 2 -- contrib/coccinelle/unused.cocci | 2 -- 3 files changed, 6 deletions(-) diff --git a/builtin/merge.c b/builtin/merge.c index bbd70b17bc6..23170f2d2a6 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -375,7 +375,6 @@ static void reset_hard(const struct object_id *oid, int verbose) static void restore_state(const struct object_id *head, const struct object_id *stash) { - struct strbuf sb = STRBUF_INIT; const char *args[] = { "stash", "apply", NULL, NULL }; if (is_null_oid(stash)) @@ -391,7 +390,6 @@ static void restore_state(const struct object_id *head, */ run_command_v_opt(args, RUN_GIT_CMD); - strbuf_release(&sb); refresh_cache(REFRESH_QUIET); } diff --git a/builtin/repack.c b/builtin/repack.c index 4a7ae4cf489..482b66f57d6 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -727,7 +727,6 @@ int cmd_repack(int argc, const char **argv, const char *prefix) struct child_process cmd = CHILD_PROCESS_INIT; struct string_list_item *item; struct string_list names = STRING_LIST_INIT_DUP; - struct string_list rollback = STRING_LIST_INIT_NODUP; struct string_list existing_nonkept_packs = STRING_LIST_INIT_DUP; struct string_list existing_kept_packs = STRING_LIST_INIT_DUP; struct pack_geometry *geometry = NULL; @@ -1117,7 +1116,6 @@ int cmd_repack(int argc, const char **argv, const char *prefix) } string_list_clear(&names, 0); - string_list_clear(&rollback, 0); string_list_clear(&existing_nonkept_packs, 0); string_list_clear(&existing_kept_packs, 0); clear_pack_geometry(geometry); diff --git a/contrib/coccinelle/unused.cocci b/contrib/coccinelle/unused.cocci index 45452f8979a..6eaea01380b 100644 --- a/contrib/coccinelle/unused.cocci +++ b/contrib/coccinelle/unused.cocci @@ -32,7 +32,6 @@ identifier REL2 =~ "^(release|clear|free)_[a-z_]*$"; // ... Optionally followed by lines that make no use of "buf", "&buf" // etc., but which ... <... when != \( I \| &I \) - when strict // .. (only) make use of "buf" or "&buf" to call something like // "strbuf_init(&buf, ...)" ... ( @@ -55,7 +54,6 @@ identifier REL2 =~ "^(release|clear|free)_[a-z_]*$"; // init/strbuf_release() patterns, where "&buf" could be used // afterwards. ... when != \( I \| &I \) - when strict // Note that we're intentionally loose in accepting e.g. a // "strbuf_init(&buf)" followed by a "string_list_clear(&buf, // 0)". It's assumed that the compiler will catch any such invalid -- 2.36.1.1239.gfba91521d90