@@ -2355,7 +2355,6 @@ static int cmp_ref_sorting(struct ref_sorting *s, struct ref_array_item *a, stru
struct atom_value *va, *vb;
int cmp;
cmp_type cmp_type = used_atom[s->atom].type;
- int (*cmp_fn)(const char *, const char *);
struct strbuf err = STRBUF_INIT;
if (get_ref_atom_value(a, s->atom, &va, &err))
@@ -2363,10 +2362,11 @@ static int cmp_ref_sorting(struct ref_sorting *s, struct ref_array_item *a, stru
if (get_ref_atom_value(b, s->atom, &vb, &err))
die("%s", err.buf);
strbuf_release(&err);
- cmp_fn = s->ignore_case ? strcasecmp : strcmp;
if (s->version) {
cmp = versioncmp(va->s, vb->s);
} else if (cmp_type == FIELD_STR) {
+ int (*cmp_fn)(const char *, const char *);
+ cmp_fn = s->ignore_case ? strcasecmp : strcmp;
cmp = cmp_fn(va->s, vb->s);
} else {
if (va->value < vb->value)
Further amend code changed in 7c5045fc180 (ref-filter: apply fallback refname sort only after all user sorts, 2020-05-03) to move an assignment only used in the "else if" arm to happen there. Before that commit the cmp_fn would be used outside of it. We could also just skip the "cmp_fn" assignment and use strcasecmp/strcmp directly in a ternary statement here, but this is probably more readable. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- ref-filter.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)