function old new delta unpack_lzma_stream 2398 2367 -31 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-31) Total: -31 bytes --- archival/libunarchive/decompress_unlzma.c 2008-03-02 09:20:20.000000000 +0100 +++ archival/libunarchive/decompress_unlzma.c 2008-03-02 14:26:37.000000000 +0100 @@ -317,8 +317,14 @@ prob_lit = prob + mi; rc_get_bit(rc, prob_lit, &mi); } - previous_byte = (uint8_t) mi; + state -= 3; + if (state < 4-3) + state = 0; + if (state >= 10-3) + state -= 6-3; + + previous_byte = (uint8_t) mi; buffer[buffer_pos++] = previous_byte; if (buffer_pos == header.dict_size) { buffer_pos = 0; @@ -327,12 +333,6 @@ goto bad; USE_DESKTOP(total_written += header.dict_size;) } - if (state < 4) - state = 0; - else if (state < 10) - state -= 3; - else - state -= 6; } else { int offset; uint16_t *prob_len;