X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/1deef7f33c284af59d562e7b50812f9649e94d0b..f2da68c5992fe2c29cced7e51709d0a45e0bb3b4:/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; } /*