Re: [PATCH 1/6] shortlog: match both "Author:" and "author" on stdin
- From
Jeff King <peff@peff.net>
- Date
- Jan 18, 2016, 19:27 UTC
- Message-ID
- <20160118192739.GA1009@sigill.intra.peff.net>
- In-Reply-To
- <CAPig+cQXDn+iR29vKzSRAUBYgXzTiR5MykKAtvCcF0SE7J4kUg@mail.gmail.com>
On Fri, Jan 15, 2016 at 06:19:30PM -0500, Eric Sunshine wrote:
Show 17 quoted lines
> > +/*
> > + * If header is "author", match candidate against the regex /[Aa]uthor:? /,
> > + * and return a pointer to the remainder of the string in out_value.
> > + */
> > +static int match_ident_header(const char *candidate, const char *header,
> > + const char **out_value)
> > +{
> > + const char *v;
> > +
> > + if (tolower(*candidate++) != tolower(*header++))
> > + return 0;
>
> Presumably, this will never be invoked as match_ident_header("", "",
> ...) so we don't have to worry about it accessing beyond end-of-string
> when it gets past this conditional. Does it deserve an
> assert(*candidate) at the top of the function, though, or is that
> overkill?Good point. It shouldn't happen (we will always feed a string literal), but it never hurts to document assumptions with an assertion.
However, there is some reason to think this isn't the ideal function; see the message I just posted elsewhere in the thread.
-Peff