From 444639cc2134d483bf0845416e9b6ce8935af795 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 2 Mar 2008 18:56:23 +0000 Subject: unlzma: save a few more bytes, and maybe even a bit faster now --- archival/libunarchive/decompress_unlzma.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'archival') diff --git a/archival/libunarchive/decompress_unlzma.c b/archival/libunarchive/decompress_unlzma.c index 5bf4de2bd..aea0c8d94 100644 --- a/archival/libunarchive/decompress_unlzma.c +++ b/archival/libunarchive/decompress_unlzma.c @@ -306,13 +306,9 @@ unpack_lzma_stream(int src_fd, int dst_fd) match_byte <<= 1; bit = match_byte & 0x100; prob_lit = prob + 0x100 + bit + mi; - if (rc_get_bit(rc, prob_lit, &mi)) { - if (!bit) - break; - } else { - if (bit) - break; - } + bit ^= (rc_get_bit(rc, prob_lit, &mi) << 8); /* 0x100 or 0 */ + if (bit) + break; } while (mi < 0x100); } while (mi < 0x100) { -- cgit v1.2.3