in src/crc.c [10:24]
uint32_t crc_common(
uint32_t (*checksum_fn)(const uint8_t *, int, uint32_t),
const uint8_t *buffer,
size_t length,
uint32_t previous) {
uint32_t val = previous;
while (length > INT_MAX) {
val = checksum_fn(buffer, INT_MAX, val);
buffer += (size_t)INT_MAX;
length -= (size_t)INT_MAX;
}
val = checksum_fn(buffer, (int)length, val);
return val;
}