X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/74032daeb88c104c67738774827440f4264b371e..d5d3737996d3828397e02f0f953fbc5c9e63f709:/lib/crc32.c diff --git a/lib/crc32.c b/lib/crc32.c index fd7bd49..a5512f6 100644 --- a/lib/crc32.c +++ b/lib/crc32.c @@ -3,17 +3,17 @@ /* code from http://www.faqs.org/faqs/compression-faq/part1/section-26.html, * presumed public domain */ -uint32_t crc32_table[256]; +static 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; } /*