diff --git a/py7zlib.py b/py7zlib.py index d100836..e043a6f 100644 --- a/py7zlib.py +++ b/py7zlib.py @@ -698,6 +698,11 @@ def _read_from_decompressor(self, coder, decompressor, input, level, num_coders, input = self._file.read(total) if is_last_coder and can_partial_decompress: data = decompressor.decompress(input, self._start+size) + elif can_partial_decompress: + total_decompressed = sum(self._uncompressed[level:]) + data = decompressor.decompress(input, self._start+total_decompressed) + if not is_last_coder: + return data else: data = decompressor.decompress(input) if can_partial_decompress and not is_last_coder: