X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fxpress-decompress.c;h=5586c15ce006118a2dade85c0a4f7d45a5d6176c;hb=fced769402ff6ef0bf75fe9e4dcb2880891469e0;hp=6756b159465d13e72ce5b071ce3531df7c74ef20;hpb=f3e97b29c4a8c564d54b0fd11cd43a9b4cd6a8ad;p=wimlib diff --git a/src/xpress-decompress.c b/src/xpress-decompress.c index 6756b159..5586c15c 100644 --- a/src/xpress-decompress.c +++ b/src/xpress-decompress.c @@ -71,12 +71,16 @@ * extra symbol is there or not. */ -#include "util.h" -#include "xpress.h" -#include "wimlib.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif +#include "wimlib.h" +#include "wimlib/assert.h" #define XPRESS_DECOMP -#include "decompress.h" +#include "wimlib/decompress.h" +#include "wimlib/util.h" +#include "wimlib/xpress.h" /* * Decodes a symbol @huffsym that begins an XPRESS match. @@ -93,8 +97,8 @@ */ static int xpress_decode_match(unsigned huffsym, unsigned window_pos, - unsigned window_len, u8 window[], - struct input_bitstream *istream) + unsigned window_len, u8 window[restrict], + struct input_bitstream * restrict istream) { unsigned match_len; unsigned match_offset; @@ -107,7 +111,7 @@ xpress_decode_match(unsigned huffsym, unsigned window_pos, unsigned i; ret = bitstream_read_bits(istream, offset_bsr, &match_offset); - if (ret != 0) + if (ret) return ret; match_offset |= (1 << offset_bsr); @@ -164,11 +168,11 @@ xpress_decode_match(unsigned huffsym, unsigned window_pos, /* Decodes the Huffman-encoded matches and literal bytes in a block of * XPRESS-encoded data. */ static int -xpress_decompress_block(struct input_bitstream *istream, - u8 uncompressed_data[], +xpress_decompress_block(struct input_bitstream * restrict istream, + u8 uncompressed_data[restrict], unsigned uncompressed_len, - const u8 lens[], - const u16 decode_table[]) + const u8 lens[restrict], + const u16 decode_table[restrict]) { unsigned curpos; unsigned huffsym; @@ -202,18 +206,19 @@ xpress_decompress_block(struct input_bitstream *istream, /* Documented in wimlib.h */ WIMLIBAPI int -wimlib_xpress_decompress(const void *__compressed_data, unsigned compressed_len, - void *uncompressed_data, unsigned uncompressed_len) +wimlib_xpress_decompress(const void * restrict _compressed_data, unsigned compressed_len, + void * restrict uncompressed_data, unsigned uncompressed_len) { u8 lens[XPRESS_NUM_SYMBOLS]; - u16 decode_table[(1 << XPRESS_TABLEBITS) + 2 * XPRESS_NUM_SYMBOLS]; + u16 decode_table[(1 << XPRESS_TABLEBITS) + 2 * XPRESS_NUM_SYMBOLS] + _aligned_attribute(DECODE_TABLE_ALIGNMENT); struct input_bitstream istream; u8 *lens_p; const u8 *compressed_data; unsigned i; int ret; - compressed_data = __compressed_data; + compressed_data = _compressed_data; lens_p = lens; DEBUG2("compressed_len = %d, uncompressed_len = %d",