X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/2e581707f488e66ecce37a7343c813e071fd6beb..7285933f38997aa06e220f23f9a9f54ca3fb41e9:/lib/crc32.c diff --git a/lib/crc32.c b/lib/crc32.c index fd7bd49..43f9d7a 100644 --- a/lib/crc32.c +++ b/lib/crc32.c @@ -5,15 +5,15 @@ uint32_t crc32_table[256]; -uint32_t crc32(uint8_t *buf, int len) +uint32_t crc32(uint8_t *buf, int len, uint32_t crc0) { uint8_t *p; uint32_t crc; - crc = 0xffffffff; /* preload shift register, per CRC-32 spec */ + crc = crc0; for (p = buf; len > 0; ++p, --len) crc = (crc << 8) ^ crc32_table[(crc >> 24) ^ *p]; - return ~crc; /* transmit complement, per CRC-32 spec */ + return crc; } /*