Update a running Adler-32 checksum with the bytes of buf[0..len-1] and return the updated checksum. If buf is empty, this function returns the required initial value for the checksum.
An Adler-32 checksum is almost as reliable as a CRC32 but can be computed much faster. Usage example (C-syntax):
unsigned int adler = xadler32(0, 0);
while (read_buffer(buffer, length) != EOF)
{
adler = xadler32(adler, buffer);
}
if (adler != original_adler) error();
adler |
buf |
Result |