From bec587d4c11e851c1e7b5ed7890d627c8346d1cb Mon Sep 17 00:00:00 2001 From: Glen Choo Date: Tue, 18 Jan 2022 16:00:54 -0800 Subject: fetch: use goto cleanup in cmd_fetch() Replace an early return with 'goto cleanup' in cmd_fetch() so that the string_list is always cleared (the string_list_clear() call is purely cleanup; the string_list is not reused). This makes cleanup consistent so that a subsequent commit can use 'goto cleanup' to bail out early. Signed-off-by: Glen Choo Signed-off-by: Junio C Hamano --- builtin/fetch.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'builtin') diff --git a/builtin/fetch.c b/builtin/fetch.c index f7abbc31ff..eab73d7417 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -2076,7 +2076,8 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) gtransport->smart_options->acked_commits = &acked_commits; } else { warning(_("Protocol does not support --negotiate-only, exiting.")); - return 1; + result = 1; + goto cleanup; } if (server_options.nr) gtransport->server_options = &server_options; @@ -2132,8 +2133,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) strvec_clear(&options); } - string_list_clear(&list, 0); - prepare_repo_settings(the_repository); if (fetch_write_commit_graph > 0 || (fetch_write_commit_graph < 0 && @@ -2151,5 +2150,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) if (enable_auto_gc) run_auto_maintenance(verbosity < 0); + cleanup: + string_list_clear(&list, 0); return result; } -- cgit v1.2.3