[SCM] The rsync repository. - branch b3.0.x updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Fri Jan 14 22:33:39 MST 2011


The branch, b3.0.x has been updated
       via  eee85e3 Make sure an alternate --inplace sum has the right length and add missing break in --inplace same-offset loop.
      from  0c0219f Some fixes and improvements from the master branch.

;a=shortlog;h=b3.0.x


- Log -----------------------------------------------------------------
commit eee85e3c360d747be0d81594c03a80bc299bc345
Author: Wayne Davison <wayned at samba.org>
Date:   Fri Jan 14 10:29:54 2011 -0800

    Make sure an alternate --inplace sum has the right length
    and add missing break in --inplace same-offset loop.

-----------------------------------------------------------------------

Summary of changes:
 match.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/match.c b/match.c
index b211077..70d6635 100644
--- a/match.c
+++ b/match.c
@@ -90,8 +90,7 @@ static void build_hash_table(struct sum_struct *s)
 static OFF_T last_match;
 
 
-/**
- * Transmit a literal and/or match token.
+/* Transmit a literal and/or match token.
  *
  * This delightfully-named function is called either when we find a
  * match and need to transmit all the unmatched data leading up to it,
@@ -99,9 +98,9 @@ static OFF_T last_match;
  * transmit it.  As a result of this second case, it is called even if
  * we have not matched at all!
  *
- * @param i If >0, the number of a matched token.  If 0, indicates we
- * have only literal data.
- **/
+ * If i >= 0, the number of a matched token.  If < 0, indicates we have
+ * only literal data.  A -1 will send a 0-token-int too, and a -2 sends
+ * only literal data, w/o any token-int. */
 static void matched(int f, struct sum_struct *s, struct map_struct *buf,
 		    OFF_T offset, int32 i)
 {
@@ -244,6 +243,7 @@ static void hash_search(int f,struct sum_struct *s,
 							continue;
 						if (i2 != i) {
 							if (sum != s->sums[i2].sum1
+							 || l != s->sums[i2].len
 							 || memcmp(sum2, s->sums[i2].sum2, s->s2length) != 0)
 								break;
 							i = i2;
@@ -251,6 +251,7 @@ static void hash_search(int f,struct sum_struct *s,
 						/* This chunk remained in the same spot in the old and new file. */
 						s->sums[i].flags |= SUMFLG_SAME_OFFSET;
 						want_i = i;
+						break;
 					}
 				}
 			}


-- 
The rsync repository.


More information about the rsync-cvs mailing list