git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] mailinfo: extract is_from_line from mailsplit

From
Andreas Schwab <schwab@linux-m68k.org>
Date
Jul 24, 2016, 07:37 UTC
Message-ID
<m2poq3zdu3.fsf@linux-m68k.org>
In-Reply-To
<20160724031518.GB32480@starla>
Eric Wong <e@80x24.org> writes:
Show 39 quoted lines
> 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?

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."
Previous: Eric WongNext: Johannes Schindelin
Message 5 of 17 in “format-patch: escape "From " lines recognized by mailsplit”
  1. format-patch: escape "From " lines recognized by mailsplitEric Wong, Jul 22, 2016
  2. Johannes SchindelinJul 23, 2016
  3. Eric WongJul 24, 2016
  4. 1/2 mailinfo: extract is_from_line from mailsplitEric Wong, Jul 24, 2016
  5. Andreas SchwabJul 24, 2016
  6. Johannes SchindelinJul 24, 2016
  7. Andreas SchwabJul 24, 2016
  8. Junio C HamanoJul 25, 2016
  9. 2/2 format-patch: escape "From " lines recognized by mailsplitEric Wong, Jul 24, 2016
  10. Johannes SchindelinJul 24, 2016
  11. Jeff KingJul 24, 2016
  12. Junio C HamanoJul 24, 2016
  13. Eric WongJul 24, 2016
  14. Junio C HamanoJul 24, 2016
  15. Eric WongJul 25, 2016
  16. Junio C HamanoJul 25, 2016
  17. Eric WongJul 25, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.