Skip to content

Commit

Permalink
ref-filter: factor out the parsing of sorting atoms
Browse files Browse the repository at this point in the history
We parse sort strings as single formatting atoms, and just
build on parse_ref_filter_atom(). Let's pull this idea into
its own function, since it's about to get a little more
complex. As a bonus, we can give the function a slightly
more natural interface, since our single atoms are in their
own strings.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
peff authored and gitster committed Jul 13, 2017
1 parent aa8a5d1 commit 29ef53c
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions ref-filter.c
Original file line number Diff line number Diff line change
Expand Up @@ -2114,6 +2114,12 @@ void pretty_print_ref(const char *name, const unsigned char *sha1,
free_array_item(ref_item);
}

static int parse_sorting_atom(const char *atom)
{
const char *end = atom + strlen(atom);
return parse_ref_filter_atom(atom, end);
}

/* If no sorting option is given, use refname to sort as default */
struct ref_sorting *ref_default_sorting(void)
{
Expand All @@ -2122,14 +2128,13 @@ struct ref_sorting *ref_default_sorting(void)
struct ref_sorting *sorting = xcalloc(1, sizeof(*sorting));

sorting->next = NULL;
sorting->atom = parse_ref_filter_atom(cstr_name, cstr_name + strlen(cstr_name));
sorting->atom = parse_sorting_atom(cstr_name);
return sorting;
}

void parse_ref_sorting(struct ref_sorting **sorting_tail, const char *arg)
{
struct ref_sorting *s;
int len;

s = xcalloc(1, sizeof(*s));
s->next = *sorting_tail;
Expand All @@ -2142,8 +2147,7 @@ void parse_ref_sorting(struct ref_sorting **sorting_tail, const char *arg)
if (skip_prefix(arg, "version:", &arg) ||
skip_prefix(arg, "v:", &arg))
s->version = 1;
len = strlen(arg);
s->atom = parse_ref_filter_atom(arg, arg+len);
s->atom = parse_sorting_atom(arg);
}

int parse_opt_ref_sorting(const struct option *opt, const char *arg, int unset)
Expand Down

0 comments on commit 29ef53c

Please sign in to comment.