From: Junio C Hamano Date: Thu, 19 Oct 2017 05:32:04 GMT Subject: Re: [PATCH] diff.c: increment buffer pointer in all code path Message-ID: In-Reply-To: Junio C Hamano writes: > Jeff King writes: > >> it does. It just adjusts our "end pointer" to point to the last valid >> character in the string (rather than one past), which seems to be the >> convention that those loops (and next_byte) expect. > > Yeah I am not sure if I like this comparison at the beginning of the > function: > > static int next_byte(const char **cp, const char **endp, > const struct diff_options *diffopt) > { > int retval; > > if (*cp > *endp) > return -1; > > but it says endp _is_ part of valid input, contrary to my intuition. > > And your change to the initialization of ae/be in moved_entry_cmp() > makes it consistent with it, I think. > > But doesn't it mean ae computation in get_string_hash() also needs a > massaging? Ah, forget the last two lines. You do do the massaging in your patch. My preference actually is to fix next_byte to follow the usual "when we end, it points one past the valid region", though. Thanks for digging it through.