From 60d74152ddf9f9eec916bd01284b324294491155 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sat, 27 Mar 2010 17:38:30 +0000 Subject: package/mtd: reuse existing crc32 stuff in the trx code * patch by Bernhard Loos * note: fixed compiler error on brcm47xx git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20523 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/mtd/src/trx.c | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) (limited to 'package/mtd/src/trx.c') diff --git a/package/mtd/src/trx.c b/package/mtd/src/trx.c index 5457a365b..f48317589 100644 --- a/package/mtd/src/trx.c +++ b/package/mtd/src/trx.c @@ -31,6 +31,7 @@ #include #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) { -- cgit v1.2.3