Re: [PATCH v4 05/12] ref-filter: introduce parsing functions for each valid atom
From: Karthik Nayak <hidden>
Date: 2016-06-15 23:08:08
On Sun, Jan 31, 2016 at 11:12 PM, Karthik Nayak [off-list ref] wrote:
quoted hunk ↗ jump to hunk
@@ -138,10 +140,9 @@ int parse_ref_filter_atom(const char *atom, const char *ep) * shouldn't be used for checking against the valid_atom * table. */ - const char *formatp = strchr(sp, ':'); - if (!formatp || ep < formatp) - formatp = ep; - if (len == formatp - sp && !memcmp(valid_atom[i].name, sp, len)) + arg = memchr(sp, ':', ep - sp); + if ((!arg || len == arg - sp) && + !memcmp(valid_atom[i].name, sp, len)) break; }
Also having a look at this, this breaks the previous error checking we had at parse_ref_filter_atom(). e.g: git for-each-ref --format="%(refnameboo)" would not throw an error. I think the code needs to be changed to: - if ((!arg || len == arg - sp) && + if ((arg || len == ep - sp) && + (!arg || len == arg - sp) && -- Regards, Karthik Nayak