X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/1e4f48d6c470abb444d84c0850d16780560f2910..e0ed4e4087ebeff0b0fe8f3419bcccf84fbd89a9:/match.c diff --git a/match.c b/match.c index 459eb6de..ba569785 100644 --- 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;