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; | |
} | |
} | |
} | |