aboutsummaryrefslogtreecommitdiff
path: root/libbb/crc32.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-02-01 10:56:19 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-02-01 10:56:19 +0100
commitddacb03e875dd4c1a79421d030da9cdc4f081e6e (patch)
tree5fef3dda6eb881153d8acef87a297fc75223398e /libbb/crc32.c
parent06076494da41755893a6e072bbd9889581a9e9d1 (diff)
downloadbusybox-ddacb03e875dd4c1a79421d030da9cdc4f081e6e.tar.gz
libbb: commonalize a bit of little-endian CRC32 table generation code
function old new delta global_crc32_new_table_le - 11 +11 crc32_new_table_le - 9 +9 inflate_unzip_internal 560 556 -4 flash_eraseall_main 823 819 -4 unpack_xz_stream 2403 2394 -9 lzop_main 121 112 -9 gzip_main 187 178 -9 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 0/5 up/down: 20/-35) Total: -15 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/crc32.c')
-rw-r--r--libbb/crc32.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libbb/crc32.c b/libbb/crc32.c
index b00b580d0..728bcb736 100644
--- a/libbb/crc32.c
+++ b/libbb/crc32.c
@@ -41,6 +41,16 @@ uint32_t* FAST_FUNC crc32_filltable(uint32_t *crc_table, int endian)
return crc_table - 256;
}
+/* Common uses: */
+uint32_t* FAST_FUNC crc32_new_table_le(void)
+{
+ return crc32_filltable(NULL, 0);
+}
+uint32_t* FAST_FUNC global_crc32_new_table_le(void)
+{
+ global_crc32_table = crc32_new_table_le();
+ return global_crc32_table;
+}
uint32_t FAST_FUNC crc32_block_endian1(uint32_t val, const void *buf, unsigned len, uint32_t *crc_table)
{