Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eriksen <s022018@student.dtu.dk>2006-02-05 01:54:01 +0300
committerJunio C Hamano <junkio@cox.net>2006-02-06 00:45:01 +0300
commit04fe2a1706b4bd71b604bfe7d7295064440872cf (patch)
tree5cba41b0a51cc54f8433619afd0885aae77bfd11
parent9523a4c2fcd7bbccbbddb998eef891ae83cf91a3 (diff)
Use adler32() from zlib instead of defining our own.
Since we already depend on zlib, we don't need to define our own adler32(). Spotted by oprofile. Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--diff-delta.c39
1 files changed, 1 insertions, 38 deletions
diff --git a/diff-delta.c b/diff-delta.c
index 890986eeb0..c2f656ae39 100644
--- a/diff-delta.c
+++ b/diff-delta.c
@@ -20,6 +20,7 @@
#include <stdlib.h>
#include "delta.h"
+#include "zlib.h"
/* block size: min = 16, max = 64k, power of 2 */
@@ -30,44 +31,6 @@
#define GR_PRIME 0x9e370001
#define HASH(v, b) (((unsigned int)(v) * GR_PRIME) >> (32 - (b)))
-/* largest prime smaller than 65536 */
-#define BASE 65521
-
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-#define NMAX 5552
-
-#define DO1(buf, i) { s1 += buf[i]; s2 += s1; }
-#define DO2(buf, i) DO1(buf, i); DO1(buf, i + 1);
-#define DO4(buf, i) DO2(buf, i); DO2(buf, i + 2);
-#define DO8(buf, i) DO4(buf, i); DO4(buf, i + 4);
-#define DO16(buf) DO8(buf, 0); DO8(buf, 8);
-
-static unsigned int adler32(unsigned int adler, const unsigned char *buf, int len)
-{
- int k;
- unsigned int s1 = adler & 0xffff;
- unsigned int s2 = adler >> 16;
-
- while (len > 0) {
- k = MIN(len, NMAX);
- len -= k;
- while (k >= 16) {
- DO16(buf);
- buf += 16;
- k -= 16;
- }
- if (k != 0)
- do {
- s1 += *buf++;
- s2 += s1;
- } while (--k);
- s1 %= BASE;
- s2 %= BASE;
- }
-
- return (s2 << 16) | s1;
-}
-
static unsigned int hashbits(unsigned int size)
{
unsigned int val = 1, bits = 0;