submodule--helper: move "sb" in clone_submodule() to its own scope

Refactor the only remaining use of a "struct strbuf sb" in
clone_submodule() to live in its own scope. This makes the code
clearer by limiting its lifetime.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Glen Choo <chooglen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2022-09-01 01:17:55 +02:00 committed by Junio C Hamano
parent 21496b4c60
commit 9bdf5277d5

View File

@ -1557,17 +1557,25 @@ static void prepare_possible_alternates(const char *sm_name,
free(error_strategy);
}
static char *clone_submodule_sm_gitdir(const char *name)
{
struct strbuf sb = STRBUF_INIT;
char *sm_gitdir;
submodule_name_to_gitdir(&sb, the_repository, name);
sm_gitdir = absolute_pathdup(sb.buf);
strbuf_release(&sb);
return sm_gitdir;
}
static int clone_submodule(struct module_clone_data *clone_data)
{
char *p, *sm_gitdir;
char *p;
char *sm_gitdir = clone_submodule_sm_gitdir(clone_data->name);
char *sm_alternate = NULL, *error_strategy = NULL;
struct strbuf sb = STRBUF_INIT;
struct child_process cp = CHILD_PROCESS_INIT;
submodule_name_to_gitdir(&sb, the_repository, clone_data->name);
sm_gitdir = absolute_pathdup(sb.buf);
strbuf_reset(&sb);
if (!is_absolute_path(clone_data->path))
clone_data->path = xstrfmt("%s/%s", get_git_work_tree(),
clone_data->path);
@ -1655,7 +1663,6 @@ static int clone_submodule(struct module_clone_data *clone_data)
free(sm_alternate);
free(error_strategy);
strbuf_release(&sb);
free(sm_gitdir);
free(p);
return 0;