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

Re: [PATCH] diffcore-pickaxe: simplify has_changes and contains

From
Jeff King <peff@peff.net>
Date
Jul 7, 2013, 04:03 UTC
Message-ID
<20130707040337.GA30898@sigill.intra.peff.net>
In-Reply-To
<1373118807-1345-1-git-send-email-rene.scharfe@lsrfire.ath.cx>
On Sat, Jul 06, 2013 at 03:53:27PM +0200, René Scharfe wrote:
> Halve the number of callsites of contains() to two using temporary
> variables, simplifying the code.  While at it, get rid of the
> diff_options parameter, which became unused with 8fa4b09f.
There is a slight change in behavior, too:
Show 8 quoted lines
> -	if (!one)
> -		return contains(two, o, regexp, kws) != 0;
> -	if (!two)
> -		return contains(one, o, regexp, kws) != 0;
> -	return contains(one, o, regexp, kws) != contains(two, o, regexp, kws);
> +	unsigned int one_contains = one ? contains(one, regexp, kws) : 0;
> +	unsigned int two_contains = two ? contains(two, regexp, kws) : 0;
> +	return one_contains != two_contains;

Before, if (!one && !two) we would call contains(two, ...), and now we will simply assume it is zero. Which I think is an improvement, as we would have segfaulted before. I don't think it is a bug in the current code (we would not ever feed the function two NULLs), but it is nice to be more defensive.

Acked-by: Jeff King <peff@peff.net>
-Peff
Previous: René ScharfeNext: Junio C Hamano
Message 2 of 3 in “diffcore-pickaxe: simplify has_changes and contains”
  1. diffcore-pickaxe: simplify has_changes and containsRené Scharfe, Jul 6, 2013
  2. Jeff KingJul 7, 2013
  3. Junio C HamanoJul 7, 2013

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.