Hi Stefan.

Please edit the log message for this rev.

(I assume you'll revisit this soon, as my original comment still stands.  Sorry 
if it was confusing.  What I meant, basically, is that the function doesn't 
return what the doc string says it will return, AFAICT.  Quite likely it's the 
doc string that's wrong.)

- Julian



----- Original Message -----
> From: Stefan Fuhrmann <stefanfuhrm...@alice-dsl.de>
> To: 
> Cc: dev@subversion.apache.org
> Sent: Sunday, 4 March 2012, 23:48
> Subject: Re: svn commit: r1296596 - 
> /subversion/trunk/subversion/libsvn_delta/xdelta.c
> 
> On 04.03.2012 11:42, Daniel Shahaf wrote:
>>  stef...@apache.org wrote on Sat, Mar 03, 2012 at 10:53:16 -0000:
>>>  Author: stefan2
>>>  Date: Sat Mar  3 10:53:16 2012
>>>  New Revision: 1296596
>>> 
>>>  URL: http://svn.apache.org/viewvc?rev=1296596&view=rev
>>>  Log:
>>>  * subversion/libsvn_delta/xdelta.c
>>>     (reverse_match_length): actually return MAX_LEN if MAX_LEN chars 
> match.
>>> 
>>>  Found by: julianfoad
>>> 
>>>  Modified:
>>>       subversion/trunk/subversion/libsvn_delta/xdelta.c
>>> 
>>>  Modified: subversion/trunk/subversion/libsvn_delta/xdelta.c
>>>  URL: 
> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/xdelta.c?rev=1296596&r1=1296595&r2=1296596&view=diff
>>> 
> ==============================================================================
>>>  --- subversion/trunk/subversion/libsvn_delta/xdelta.c (original)
>>>  +++ subversion/trunk/subversion/libsvn_delta/xdelta.c Sat Mar  3 
> 10:53:16 2012
>>>  @@ -260,11 +260,15 @@ reverse_match_length(const char *a, cons
>>> 
>>>    #endif
>>> 
>>>  +  /* If we find a mismatch at -pos, pos-1 characters matched.
>>>  +   */
>>>      while (++pos<= max_len)
>>>        if (a[0-pos] != b[0-pos])
>>>  -      break;
>>>  +      return pos - 1;
>>> 
>>>  -  return pos-1;
>>>  +  /* No mismatch found ->  at least MAX_LEN machting chars.
>>>  +   */
>>>  +  return max_len;
>>  I may be blind, but isn't the code before this diff and after it
>>  equivalent?
>> 
>>  Both the old and new code return POS-1 when the if() statement is
>>  entered, and if the code falls off the end of the while() loop then
>>  necessarily POS=1+MAX_LEN, again meaning that the old and new code are
>>  equivalent.
> 
> You are right. It's been too early in the morning
> for me and Julian's comment got me confused.
> But at least, the code slightly clearer now.
> 
> -- Stefan^2.
>

Reply via email to