From: Junio C Hamano Date: Sat, 13 Feb 2010 19:38:42 +0000 (-0800) Subject: builtin-for-each-ref.c: check if we need to peel onion while parsing the format X-Git-Tag: v1.7.1-rc0~109^2~2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=20322e0b552b9860377c162675ce5c49bfd32e83;p=git.git builtin-for-each-ref.c: check if we need to peel onion while parsing the format Instead of iterating over the parsed atoms that are used in the output format after all the parsing is done, check it while parsing the format string. --- diff --git a/builtin-for-each-ref.c b/builtin-for-each-ref.c index 3698e822c..d68977ee6 100644 --- a/builtin-for-each-ref.c +++ b/builtin-for-each-ref.c @@ -133,6 +133,8 @@ static int parse_atom(const char *atom, const char *ep) (sizeof(*used_atom_type) * used_atom_cnt)); used_atom[at] = xmemdupz(atom, ep - atom); used_atom_type[at] = valid_atom[i].cmp_type; + if (*atom == '*') + need_tagged = 1; return at; } @@ -944,13 +946,6 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) refs = cbdata.grab_array; num_refs = cbdata.grab_cnt; - for (i = 0; i < used_atom_cnt; i++) { - if (used_atom[i][0] == '*') { - need_tagged = 1; - break; - } - } - sort_refs(sort, refs, num_refs); if (!maxcount || num_refs < maxcount)