Re: [PATCH 1/2] mailinfo: extract is_from_line from mailsplit
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 24, 2016, 08:05 UTC
- Message-ID
- <alpine.DEB.2.20.1607241003480.14111@virtualbox>
- In-Reply-To
- <m2poq3zdu3.fsf@linux-m68k.org>
Hi Andreas,
On Sun, 24 Jul 2016, Andreas Schwab wrote:
Show 44 quoted lines
> Eric Wong <e@80x24.org> writes:
>
> > diff --git a/mailinfo.c b/mailinfo.c
> > index 9f19ca1..0ebd953 100644
> > --- a/mailinfo.c
> > +++ b/mailinfo.c
> > @@ -1035,3 +1035,34 @@ void clear_mailinfo(struct mailinfo *mi)
> >
> > strbuf_release(&mi->log_message);
> > }
> > +
> > +int is_from_line(const char *line, int len)
> > +{
> > + const char *colon;
> > +
> > + if (len < 20 || memcmp("From ", line, 5))
> > + return 0;
> > +
> > + colon = line + len - 2;
> > + line += 5;
> > + for (;;) {
> > + if (colon < line)
> > + return 0;
> > + if (*--colon == ':')
> > + break;
> > + }
> > +
> > + if (!isdigit(colon[-4]) ||
> > + !isdigit(colon[-2]) ||
> > + !isdigit(colon[-1]) ||
> > + !isdigit(colon[ 1]) ||
> > + !isdigit(colon[ 2]))
> > + return 0;
> > +
> > + /* year */
> > + if (strtol(colon+3, NULL, 10) <= 90)
> > + return 0;
> > +
> > + /* Ok, close enough */
> > + return 1;
> > +}
>
> Should this be made more strict, like by checking for a space before the
> year?This patch only moves the function, so it would be inappropriate to change it.
If you want to make it stricter, you will have to submit a separate patch.
Ciao, Johannes