Re: [PATCH v4 05/12] ref-filter: introduce parsing functions for each valid atom
- From
Karthik Nayak <karthik.188@gmail.com>
- Date
- Feb 6, 2016, 15:15 UTC
- Message-ID
- <CAOLa=ZQxbCYd_bpf4PSpRVvejOgi=farNPtHgP_mZZypOf6cnQ@mail.gmail.com>
- In-Reply-To
- <1454262176-6594-6-git-send-email-Karthik.188@gmail.com>
On Sun, Jan 31, 2016 at 11:12 PM, Karthik Nayak <karthik.188@gmail.com> wrote:
Show 14 quoted lines
> @@ -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