]> Joshua Wise's Git repositories - netwatch.git/blobdiff - lib/crc32.c
Move the Multiboot code around to have more sane filenames.
[netwatch.git] / lib / crc32.c
index fd7bd49dbac871ba0c81c019c0e88a80f9dec189..a5512f64a4b3603543a8eecd42a3d1bd7267c7de 100644 (file)
@@ -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;
 }
 
 /*
This page took 0.02824 seconds and 4 git commands to generate.