Re: [PATCH 1/2] mailinfo: extract is_from_line from mailsplit
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 53 quoted lines
> Hi Andreas,
>
> On Sun, 24 Jul 2016, Andreas Schwab wrote:
>
>> 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.You didn't answer my question.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."