diff options
author | Glen Choo <chooglen@google.com> | 2022-01-18 16:00:54 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-01-18 16:22:53 -0800 |
commit | bec587d4c11e851c1e7b5ed7890d627c8346d1cb (patch) | |
tree | c64617402e4eda21771b4c10b0ee4765732866b4 | |
parent | The third batch (diff) | |
download | tgif-bec587d4c11e851c1e7b5ed7890d627c8346d1cb.tar.xz |
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 <chooglen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/fetch.c | 7 |
1 files changed, 4 insertions, 3 deletions
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; } |