diff options
author | Mark Adler <madler@alumni.caltech.edu> | 2011-09-09 23:26:40 -0700 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2011-09-09 23:26:40 -0700 |
commit | f6194ef39af5864f792412460c354cc339dde7d1 (patch) | |
tree | 5ea1e6849128e9b2194c66ee3d82afa36b4ac07c /adler32.c | |
parent | 639be997883d9016baaf46017a2802b2ce1698bd (diff) | |
download | zlib-f6194ef39af5864f792412460c354cc339dde7d1.tar.gz zlib-f6194ef39af5864f792412460c354cc339dde7d1.tar.bz2 zlib-f6194ef39af5864f792412460c354cc339dde7d1.zip |
zlib 1.2.3.4v1.2.3.4
Diffstat (limited to 'adler32.c')
-rw-r--r-- | adler32.c | 38 |
1 files changed, 9 insertions, 29 deletions
@@ -1,21 +1,15 @@ | |||
1 | /* adler32.c -- compute the Adler-32 checksum of a data stream | 1 | /* adler32.c -- compute the Adler-32 checksum of a data stream |
2 | * Copyright (C) 1995-2006 Mark Adler | 2 | * Copyright (C) 1995-2007 Mark Adler |
3 | * For conditions of distribution and use, see copyright notice in zlib.h | 3 | * For conditions of distribution and use, see copyright notice in zlib.h |
4 | */ | 4 | */ |
5 | 5 | ||
6 | /* @(#) $Id$ */ | 6 | /* @(#) $Id$ */ |
7 | 7 | ||
8 | #define ZLIB_INTERNAL | 8 | #include "zutil.h" |
9 | #include "zlib.h" | ||
10 | 9 | ||
11 | #define local static | 10 | #define local static |
12 | 11 | ||
13 | #ifdef _LARGEFILE64_SOURCE | 12 | local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2); |
14 | local uLong adler32_combine_(uLong adler1, uLong adler2, off64_t len2); | ||
15 | #else | ||
16 | local uLong adler32_combine_(uLong adler1, uLong adler2, z_off_t len2); | ||
17 | #endif | ||
18 | |||
19 | 13 | ||
20 | #define BASE 65521UL /* largest prime smaller than 65536 */ | 14 | #define BASE 65521UL /* largest prime smaller than 65536 */ |
21 | #define NMAX 5552 | 15 | #define NMAX 5552 |
@@ -137,11 +131,7 @@ uLong ZEXPORT adler32(adler, buf, len) | |||
137 | local uLong adler32_combine_(adler1, adler2, len2) | 131 | local uLong adler32_combine_(adler1, adler2, len2) |
138 | uLong adler1; | 132 | uLong adler1; |
139 | uLong adler2; | 133 | uLong adler2; |
140 | #ifdef _LARGEFILE64_SOURCE | 134 | z_off64_t len2; |
141 | off64_t len2; | ||
142 | #else | ||
143 | z_off_t len2; | ||
144 | #endif | ||
145 | { | 135 | { |
146 | unsigned long sum1; | 136 | unsigned long sum1; |
147 | unsigned long sum2; | 137 | unsigned long sum2; |
@@ -154,10 +144,10 @@ local uLong adler32_combine_(adler1, adler2, len2) | |||
154 | MOD(sum2); | 144 | MOD(sum2); |
155 | sum1 += (adler2 & 0xffff) + BASE - 1; | 145 | sum1 += (adler2 & 0xffff) + BASE - 1; |
156 | sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem; | 146 | sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem; |
157 | if (sum1 > BASE) sum1 -= BASE; | 147 | if (sum1 >= BASE) sum1 -= BASE; |
158 | if (sum1 > BASE) sum1 -= BASE; | 148 | if (sum1 >= BASE) sum1 -= BASE; |
159 | if (sum2 > (BASE << 1)) sum2 -= (BASE << 1); | 149 | if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1); |
160 | if (sum2 > BASE) sum2 -= BASE; | 150 | if (sum2 >= BASE) sum2 -= BASE; |
161 | return sum1 | (sum2 << 16); | 151 | return sum1 | (sum2 << 16); |
162 | } | 152 | } |
163 | 153 | ||
@@ -170,20 +160,10 @@ uLong ZEXPORT adler32_combine(adler1, adler2, len2) | |||
170 | return adler32_combine_(adler1, adler2, len2); | 160 | return adler32_combine_(adler1, adler2, len2); |
171 | } | 161 | } |
172 | 162 | ||
173 | #ifdef _LARGEFILE64_SOURCE | ||
174 | uLong ZEXPORT adler32_combine64(adler1, adler2, len2) | 163 | uLong ZEXPORT adler32_combine64(adler1, adler2, len2) |
175 | uLong adler1; | 164 | uLong adler1; |
176 | uLong adler2; | 165 | uLong adler2; |
177 | off64_t len2; | 166 | z_off64_t len2; |
178 | { | 167 | { |
179 | return adler32_combine_(adler1, adler2, len2); | 168 | return adler32_combine_(adler1, adler2, len2); |
180 | } | 169 | } |
181 | #else | ||
182 | uLong ZEXPORT adler32_combine64(adler1, adler2, len2) | ||
183 | uLong adler1; | ||
184 | uLong adler2; | ||
185 | z_off_t len2; | ||
186 | { | ||
187 | return adler32_combine_(adler1, adler2, len2); | ||
188 | } | ||
189 | #endif | ||