X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fgit.git;a=blobdiff_plain;f=diffcore-delta.c;h=5668ace60d6012d1b91e5359975aaec0df8d5b34;hp=c83d45a0470d412c29f8c392e84bb010150dbb2a;hb=2e215b7959a895d6aadbb828622bef966738ed6a;hpb=7532a181895e2560ffe8b631df9add386b84671c diff --git a/diffcore-delta.c b/diffcore-delta.c index c83d45a047..5668ace60d 100644 --- a/diffcore-delta.c +++ b/diffcore-delta.c @@ -121,14 +121,15 @@ static int spanhash_cmp(const void *a_, const void *b_) a->hashval > b->hashval ? 1 : 0; } -static struct spanhash_top *hash_chars(struct diff_filespec *one) +static struct spanhash_top *hash_chars(struct repository *r, + struct diff_filespec *one) { int i, n; unsigned int accum1, accum2, hashval; struct spanhash_top *hash; unsigned char *buf = one->data; unsigned int sz = one->size; - int is_text = !diff_filespec_is_binary(one); + int is_text = !diff_filespec_is_binary(r, one); i = INITIAL_HASH_SIZE; hash = xmalloc(st_add(sizeof(*hash), @@ -162,7 +163,8 @@ static struct spanhash_top *hash_chars(struct diff_filespec *one) return hash; } -int diffcore_count_changes(struct diff_filespec *src, +int diffcore_count_changes(struct repository *r, + struct diff_filespec *src, struct diff_filespec *dst, void **src_count_p, void **dst_count_p, @@ -177,14 +179,14 @@ int diffcore_count_changes(struct diff_filespec *src, if (src_count_p) src_count = *src_count_p; if (!src_count) { - src_count = hash_chars(src); + src_count = hash_chars(r, src); if (src_count_p) *src_count_p = src_count; } if (dst_count_p) dst_count = *dst_count_p; if (!dst_count) { - dst_count = hash_chars(dst); + dst_count = hash_chars(r, dst); if (dst_count_p) *dst_count_p = dst_count; }