From: Eric Biggers Date: Wed, 28 May 2014 00:20:31 +0000 (-0500) Subject: Remove unused 'num_syms' argument to read_huffsym() X-Git-Tag: v1.7.0~75 X-Git-Url: https://wimlib.net/git/?p=wimlib;a=commitdiff_plain;h=18f9daee201c3e79e6d508f1ce69206b8035ae4b Remove unused 'num_syms' argument to read_huffsym() The updated decoder no longer requires that the number of symbols in the alphabet be provided when decoding each symbol. --- diff --git a/include/wimlib/decompress_common.h b/include/wimlib/decompress_common.h index 40fa49ab..9efd0ef3 100644 --- a/include/wimlib/decompress_common.h +++ b/include/wimlib/decompress_common.h @@ -165,7 +165,7 @@ bitstream_read_byte(struct input_bitstream *istream) * lzms-decompress.c. */ static inline u16 read_huffsym(struct input_bitstream *istream, const u16 decode_table[], - unsigned num_syms, unsigned table_bits, unsigned max_codeword_len) + unsigned table_bits, unsigned max_codeword_len) { u16 entry; u16 key_bits; diff --git a/src/lzx-decompress.c b/src/lzx-decompress.c index a2a60889..e1c0160c 100644 --- a/src/lzx-decompress.c +++ b/src/lzx-decompress.c @@ -154,18 +154,15 @@ read_huffsym_using_pretree(struct input_bitstream *istream, const u16 pretree_decode_table[]) { return read_huffsym(istream, pretree_decode_table, - LZX_PRECODE_NUM_SYMBOLS, LZX_PRECODE_TABLEBITS, - LZX_MAX_PRE_CODEWORD_LEN); + LZX_PRECODE_TABLEBITS, LZX_MAX_PRE_CODEWORD_LEN); } /* Reads a Huffman-encoded symbol using the main tree. */ static inline u16 read_huffsym_using_maintree(struct input_bitstream *istream, - const struct lzx_tables *tables, - unsigned num_main_syms) + const struct lzx_tables *tables) { return read_huffsym(istream, tables->maintree_decode_table, - num_main_syms, LZX_MAINCODE_TABLEBITS, LZX_MAX_MAIN_CODEWORD_LEN); } @@ -175,7 +172,6 @@ read_huffsym_using_lentree(struct input_bitstream *istream, const struct lzx_tables *tables) { return read_huffsym(istream, tables->lentree_decode_table, - LZX_LENCODE_NUM_SYMBOLS, LZX_LENCODE_TABLEBITS, LZX_MAX_LEN_CODEWORD_LEN); } @@ -185,9 +181,7 @@ read_huffsym_using_alignedtree(struct input_bitstream *istream, const struct lzx_tables *tables) { return read_huffsym(istream, tables->alignedtree_decode_table, - LZX_ALIGNEDCODE_NUM_SYMBOLS, - LZX_ALIGNEDCODE_TABLEBITS, - LZX_MAX_ALIGNED_CODEWORD_LEN); + LZX_ALIGNEDCODE_TABLEBITS, LZX_MAX_ALIGNED_CODEWORD_LEN); } /* @@ -811,7 +805,6 @@ undo_call_insn_preprocessing(u8 *uncompressed_data, size_t uncompressed_size) * @block_type: The type of the block (LZX_BLOCKTYPE_VERBATIM or * LZX_BLOCKTYPE_ALIGNED) * @block_size: The size of the block, in bytes. - * @num_main_syms: Number of symbols in the main alphabet. * @window: Pointer to the decompression window. * @window_pos: The current position in the window. Will be 0 for the first * block. @@ -822,7 +815,6 @@ undo_call_insn_preprocessing(u8 *uncompressed_data, size_t uncompressed_size) */ static int lzx_decompress_block(int block_type, unsigned block_size, - unsigned num_main_syms, u8 *window, unsigned window_pos, const struct lzx_tables *tables, @@ -835,8 +827,7 @@ lzx_decompress_block(int block_type, unsigned block_size, end = window_pos + block_size; while (window_pos < end) { - main_element = read_huffsym_using_maintree(istream, tables, - num_main_syms); + main_element = read_huffsym_using_maintree(istream, tables); if (main_element < LZX_NUM_CHARS) { /* literal: 0 to LZX_NUM_CHARS - 1 */ window[window_pos++] = main_element; @@ -929,7 +920,6 @@ lzx_decompress(const void *compressed_data, size_t compressed_size, LZX_DEBUG("LZX_BLOCKTYPE_ALIGNED"); ret = lzx_decompress_block(block_type, block_size, - ctx->num_main_syms, uncompressed_data, window_pos, &ctx->tables, diff --git a/src/xpress-decompress.c b/src/xpress-decompress.c index 1ab81e31..338c9d95 100644 --- a/src/xpress-decompress.c +++ b/src/xpress-decompress.c @@ -157,8 +157,7 @@ xpress_lz_decode(struct input_bitstream * restrict istream, bitstream_ensure_bits(istream, 16); sym = read_huffsym(istream, decode_table, - XPRESS_NUM_SYMBOLS, XPRESS_TABLEBITS, - XPRESS_MAX_CODEWORD_LEN); + XPRESS_TABLEBITS, XPRESS_MAX_CODEWORD_LEN); if (sym < XPRESS_NUM_CHARS) { /* Literal */ uncompressed_data[curpos] = sym;