1
0
mirror of https://github.com/git/git.git synced 2024-09-28 17:22:20 +02:00

name-rev: rewrite create_or_update_name()

This code was moved straight out of name_rev(). As such, we inherited
the "goto" to jump from an if into an else-if. We also inherited the
fact that "nothing to do -- return NULL" is handled last.

Rewrite the function to first handle the "nothing to do" case. Then we
can handle the conditional allocation early before going on to populate
the struct. No need for goto-ing.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Martin Ågren 2020-02-05 18:19:22 +01:00 committed by Junio C Hamano
parent d0654dc308
commit 3e2feb0d64

@ -88,21 +88,21 @@ static struct rev_name *create_or_update_name(struct commit *commit,
{ {
struct rev_name *name = get_commit_rev_name(commit); struct rev_name *name = get_commit_rev_name(commit);
if (name && !is_better_name(name, taggerdate, distance, from_tag))
return NULL;
if (name == NULL) { if (name == NULL) {
name = xmalloc(sizeof(*name)); name = xmalloc(sizeof(*name));
set_commit_rev_name(commit, name); set_commit_rev_name(commit, name);
goto copy_data; }
} else if (is_better_name(name, taggerdate, distance, from_tag)) {
copy_data:
name->tip_name = tip_name;
name->taggerdate = taggerdate;
name->generation = generation;
name->distance = distance;
name->from_tag = from_tag;
return name; name->tip_name = tip_name;
} else name->taggerdate = taggerdate;
return NULL; name->generation = generation;
name->distance = distance;
name->from_tag = from_tag;
return name;
} }
static void name_rev(struct commit *start_commit, static void name_rev(struct commit *start_commit,