Julian Foad wrote:
Hi Stefan.

Please edit the log message for this rev.
Done for r1296596.
(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
r1310770 should address that issue now.

-- Stefan^2.



----- 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