X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fxpress_compress.c;h=edc126d9310e3b10a6eb49895b393dd3f8c96708;hb=212dc9b42eebe74125cfac213d15c09ae9bafbea;hp=5c3249d05ec79eb61447cd2d0e15b078005e5841;hpb=c97b3097024081df0e955171363f8e727b115440;p=wimlib diff --git a/src/xpress_compress.c b/src/xpress_compress.c index 5c3249d0..edc126d9 100644 --- a/src/xpress_compress.c +++ b/src/xpress_compress.c @@ -212,7 +212,7 @@ struct xpress_output_bitstream { /* Pointer to the start of the output buffer. */ u8 *start; - /* Pointer to the location in the ouput buffer at which to write the + /* Pointer to the location in the output buffer at which to write the * next 16 bits. */ u8 *next_bits; @@ -292,7 +292,7 @@ xpress_write_bits(struct xpress_output_bitstream *os, if (os->bitcount > 16) { os->bitcount -= 16; if (os->end - os->next_byte >= 2) { - put_unaligned_u16_le(os->bitbuf >> os->bitcount, os->next_bits); + put_unaligned_le16(os->bitbuf >> os->bitcount, os->next_bits); os->next_bits = os->next_bits2; os->next_bits2 = os->next_byte; os->next_byte += 2; @@ -317,7 +317,7 @@ static inline void xpress_write_u16(struct xpress_output_bitstream *os, u16 v) { if (os->end - os->next_byte >= 2) { - put_unaligned_u16_le(v, os->next_byte); + put_unaligned_le16(v, os->next_byte); os->next_byte += 2; } } @@ -332,8 +332,8 @@ xpress_flush_output(struct xpress_output_bitstream *os) if (os->end - os->next_byte < 2) return 0; - put_unaligned_u16_le(os->bitbuf << (16 - os->bitcount), os->next_bits); - put_unaligned_u16_le(0, os->next_bits2); + put_unaligned_le16(os->bitbuf << (16 - os->bitcount), os->next_bits); + put_unaligned_le16(0, os->next_bits2); return os->next_byte - os->start; } @@ -920,7 +920,8 @@ xpress_find_matches(struct xpress_compressor * restrict c, /* If we've found so many matches that the cache might overflow * if we keep finding more, then stop finding matches. This * case is very unlikely. */ - if (unlikely(cache_ptr >= c->cache_overflow_mark || max_len < 5)) + if (unlikely(cache_ptr >= c->cache_overflow_mark || + max_len < BT_MATCHFINDER_REQUIRED_NBYTES)) break; matches = cache_ptr; @@ -955,7 +956,8 @@ xpress_find_matches(struct xpress_compressor * restrict c, * highly compressible, so it doesn't matter as much what we do. */ if (best_len >= nice_len) { - if (unlikely(best_len + 5 >= max_len)) + if (unlikely(best_len + + BT_MATCHFINDER_REQUIRED_NBYTES >= max_len)) break; --best_len; do {