aboutsummaryrefslogtreecommitdiff
path: root/miscutils/flash_eraseall.c
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2010-10-27 15:26:45 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2010-10-27 15:26:45 +0200
commit9ce642f9746dfc29d119d0680b769677e3ea6da6 (patch)
treef8d2bcd08c691979058b610b32573a742a3e3024 /miscutils/flash_eraseall.c
parentdd88ba88f5082b1785539b1fb87af7320515b8c9 (diff)
downloadbusybox-w32-9ce642f9746dfc29d119d0680b769677e3ea6da6.tar.gz
busybox-w32-9ce642f9746dfc29d119d0680b769677e3ea6da6.tar.bz2
busybox-w32-9ce642f9746dfc29d119d0680b769677e3ea6da6.zip
libbb: introduce and use common crc32 routine
function old new delta crc32_block_endian1 - 37 +37 crc32_block_endian0 - 34 +34 global_crc32_table - 8 +8 file_read 82 87 +5 gzip_main 211 214 +3 xz_crc32 40 35 -5 crc32_table 8 - -8 calculate_gunzip_crc 54 34 -20 lzo_crc32 54 25 -29 cksum_main 298 211 -87 ------------------------------------------------------------------------------ (add/remove: 3/1 grow/shrink: 2/4 up/down: 87/-149) Total: -62 bytes Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'miscutils/flash_eraseall.c')
-rw-r--r--miscutils/flash_eraseall.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/miscutils/flash_eraseall.c b/miscutils/flash_eraseall.c
index 53aad3d52..b832cc1dd 100644
--- a/miscutils/flash_eraseall.c
+++ b/miscutils/flash_eraseall.c
@@ -42,15 +42,6 @@ but mtd/jffs2-user.h is gone now (at least 2.6.31.6 does not have it anymore)
42#define cpu_to_je16(v) ((jint16_t){(v)}) 42#define cpu_to_je16(v) ((jint16_t){(v)})
43#define cpu_to_je32(v) ((jint32_t){(v)}) 43#define cpu_to_je32(v) ((jint32_t){(v)})
44 44
45static uint32_t crc32(uint32_t val, const void *ss, int len,
46 uint32_t *crc32_table)
47{
48 const unsigned char *s = ss;
49 while (--len >= 0)
50 val = crc32_table[(val ^ *s++) & 0xff] ^ (val >> 8);
51 return val;
52}
53
54static void show_progress(mtd_info_t *meminfo, erase_info_t *erase) 45static void show_progress(mtd_info_t *meminfo, erase_info_t *erase)
55{ 46{
56 printf("\rErasing %u Kibyte @ %x - %2u%% complete.", 47 printf("\rErasing %u Kibyte @ %x - %2u%% complete.",
@@ -131,8 +122,9 @@ int flash_eraseall_main(int argc UNUSED_PARAM, char **argv)
131 cleanmarker.totlen = cpu_to_je32(8); 122 cleanmarker.totlen = cpu_to_je32(8);
132 } 123 }
133 124
134 cleanmarker.hdr_crc = cpu_to_je32(crc32(0, &cleanmarker, sizeof(struct jffs2_unknown_node) - 4, 125 cleanmarker.hdr_crc = cpu_to_je32(
135 crc32_table)); 126 crc32_block_endian0(0, &cleanmarker, sizeof(struct jffs2_unknown_node) - 4, crc32_table)
127 );
136 } 128 }
137 129
138 /* Don't want to destroy progress indicator by bb_error_msg's */ 130 /* Don't want to destroy progress indicator by bb_error_msg's */