Added RERR_VANISHED.
[rsync/rsync.git] / match.c
diff --git a/match.c b/match.c
index 459eb6d..ba56978 100644 (file)
--- a/match.c
+++ b/match.c
@@ -62,9 +62,9 @@ static void build_hash_table(struct sum_struct *s)
        int i;
 
        if (!tag_table)
-               tag_table = (int *)malloc(sizeof(tag_table[0])*TABLESIZE);
+               tag_table = new_array(int, TABLESIZE);
 
-       targets = (struct target *)malloc(sizeof(targets[0])*s->count);
+       targets = new_array(struct target, s->count);
        if (!tag_table || !targets)
                out_of_memory("build_hash_table");
 
@@ -152,9 +152,7 @@ static void hash_search(int f,struct sum_struct *s,
                rprintf(FINFO,"hash search b=%ld len=%.0f\n",
                        (long) s->blength, (double)len);
 
-       /* cast is to make s->blength signed; it should always be reasonably
-        * small */
-       k = MIN(len, (OFF_T) s->blength);
+       k = MIN(len, (OFF_T)s->blength);
 
        map = (schar *)map_ptr(buf,0,k);
 
@@ -192,7 +190,7 @@ static void hash_search(int f,struct sum_struct *s,
                        if (sum != s->sums[i].sum1) continue;
 
                        /* also make sure the two blocks are the same length */
-                       l = MIN(s->blength,len-offset);
+                       l = MIN((OFF_T)s->blength, len-offset);
                        if (l != s->sums[i].len) continue;
 
                        if (verbose > 3)
@@ -228,7 +226,7 @@ static void hash_search(int f,struct sum_struct *s,
 
                        matched(f,s,buf,offset,i);
                        offset += s->sums[i].len - 1;
-                       k = MIN((len-offset), s->blength);
+                       k = MIN((OFF_T)s->blength, len-offset);
                        map = (schar *)map_ptr(buf,offset,k);
                        sum = get_checksum1((char *)map, k);
                        s1 = sum & 0xFFFF;