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