summaryrefslogtreecommitdiff
path: root/src/zlib/adler32.c
diff options
context:
space:
mode:
authorLadislav Zezula <ladislav.zezula@avg.com>2013-10-11 15:51:18 +0200
committerLadislav Zezula <ladislav.zezula@avg.com>2013-10-11 15:51:18 +0200
commit16f2797b8cadde9446d8c9bd694c265f8a058cda (patch)
tree3859c6a7aa491e35e18c442d3332edf86b0f8b25 /src/zlib/adler32.c
parent450713b69f2c834cff79434ba5ad8133aac1e400 (diff)
+ Support for SQP files
+ Several checks added (thanks Dmitry "Vortex" Koteroff) + Fixed zlib + StormLib no longer changes "/" to "\". Hopefully this won't be problem for Linux and Mac people
Diffstat (limited to 'src/zlib/adler32.c')
-rw-r--r--src/zlib/adler32.c38
1 files changed, 9 insertions, 29 deletions
diff --git a/src/zlib/adler32.c b/src/zlib/adler32.c
index 65ad6a5..007ba26 100644
--- a/src/zlib/adler32.c
+++ b/src/zlib/adler32.c
@@ -1,15 +1,12 @@
/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-2007 Mark Adler
+ * Copyright (C) 1995-2004 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
-#include "zutil.h"
-
-#define local static
-
-local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2);
+#define ZLIB_INTERNAL
+#include "zlib.h"
#define BASE 65521UL /* largest prime smaller than 65536 */
#define NMAX 5552
@@ -128,10 +125,10 @@ uLong ZEXPORT adler32(adler, buf, len)
}
/* ========================================================================= */
-local uLong adler32_combine_(adler1, adler2, len2)
+uLong ZEXPORT adler32_combine(adler1, adler2, len2)
uLong adler1;
uLong adler2;
- z_off64_t len2;
+ z_off_t len2;
{
unsigned long sum1;
unsigned long sum2;
@@ -144,26 +141,9 @@ local uLong adler32_combine_(adler1, adler2, len2)
MOD(sum2);
sum1 += (adler2 & 0xffff) + BASE - 1;
sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
- if (sum1 >= BASE) sum1 -= BASE;
- if (sum1 >= BASE) sum1 -= BASE;
- if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1);
- if (sum2 >= BASE) sum2 -= BASE;
+ if (sum1 > BASE) sum1 -= BASE;
+ if (sum1 > BASE) sum1 -= BASE;
+ if (sum2 > (BASE << 1)) sum2 -= (BASE << 1);
+ if (sum2 > BASE) sum2 -= BASE;
return sum1 | (sum2 << 16);
}
-
-/* ========================================================================= */
-uLong ZEXPORT adler32_combine(adler1, adler2, len2)
- uLong adler1;
- uLong adler2;
- z_off_t len2;
-{
- return adler32_combine_(adler1, adler2, len2);
-}
-
-uLong ZEXPORT adler32_combine64(adler1, adler2, len2)
- uLong adler1;
- uLong adler2;
- z_off64_t len2;
-{
- return adler32_combine_(adler1, adler2, len2);
-}