blob: 222917487dfd6529e2df3844281bd69642779346 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
unsigned long xdl_adler32(unsigned long adler, unsigned char const *buf,
unsigned int len)
{
int k;
unsigned long s1 = adler & 0xffff;
unsigned long s2 = (adler >> 16) & 0xffff;
if (!buf)
return 1;
while (len > 0)
{
k = len < NMAX ? 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;
}
void f(){
while(1)
if(2)
3;
else
4;
}
|