X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Flzx-decompress.c;h=1d0d04dfaf9b103b5ea356480f06c0e434aa59ac;hp=93ab84137be886c773757bdb86e86c22b2abcad4;hb=db7cd2644605566eefc11c0c992fce670938687c;hpb=1746624a7e5d14dcc73f4f959b1dfa1e6f3c210a diff --git a/src/lzx-decompress.c b/src/lzx-decompress.c index 93ab8413..1d0d04df 100644 --- a/src/lzx-decompress.c +++ b/src/lzx-decompress.c @@ -244,7 +244,7 @@ lzx_read_code_lens(struct input_bitstream *istream, u8 lens[], unsigned num_zeroes; unsigned code; unsigned num_same; - char value; + signed char value; ret = read_huffsym_using_pretree(istream, pretree_decode_table, pretree_lens, &tree_code); @@ -284,7 +284,7 @@ lzx_read_code_lens(struct input_bitstream *istream, u8 lens[], &code); if (ret != 0) return ret; - value = (char)*lens - (char)code; + value = (signed char)*lens - (signed char)code; if (value < 0) value += 17; while (num_same--) { @@ -294,7 +294,7 @@ lzx_read_code_lens(struct input_bitstream *istream, u8 lens[], } break; default: /* Difference from old length. */ - value = (char)*lens - (char)tree_code; + value = (signed char)*lens - (signed char)tree_code; if (value < 0) value += 17; *lens = value;