package/mtd: reuse existing crc32 stuff in the trx code
[openwrt.git] / package / mtd / src / trx.c
index 5457a36..f483175 100644 (file)
@@ -31,6 +31,7 @@
 #include <sys/ioctl.h>
 #include "mtd-api.h"
 #include "mtd.h"
+#include "crc32.h"
 
 #define TRX_MAGIC       0x30524448      /* "HDR0" */
 struct trx_header {
@@ -41,39 +42,6 @@ struct trx_header {
        unsigned offsets[3];    /* Offsets of partitions from start of header */
 };
 
-static unsigned long *crc32 = NULL;
-
-static void init_crc32()
-{
-       unsigned long crc;
-       unsigned long poly = 0xEDB88320L;
-       int n, bit;
-
-       if (crc32)
-               return;
-
-       crc32 = (unsigned long *) malloc(256 * sizeof(unsigned long));
-       if (!crc32) {
-               perror("malloc");
-               exit(1);
-       }
-
-       for (n = 0; n < 256; n++) {
-               crc = (unsigned long) n;
-               for (bit = 0; bit < 8; bit++)
-                       crc = (crc & 1) ? (poly ^ (crc >> 1)) : (crc >> 1);
-               crc32[n] = crc;
-       }
-}
-
-static unsigned int crc32buf(char *buf, size_t len)
-{
-       unsigned int crc = 0xFFFFFFFF;
-       for (; len; len--, buf++)
-               crc = crc32[(crc ^ *buf) & 0xff] ^ (crc >> 8);
-       return crc;
-}
-
 int
 trx_fixup(int fd, const char *name)
 {
This page took 0.026622 seconds and 4 git commands to generate.