You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
760 B
C
53 lines
760 B
C
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;
|
|
}
|
|
}
|
|
}
|
|
|