From ea00545beace5b950f709ec21e46878e0f448678 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Thu, 4 Jul 2013 13:25:11 +0300 Subject: [PATCH] xz: Fix the test when to read more input. Testing for end of file was no longer correct after full flushing became possible with --block-size=SIZE and --block-list=SIZES. There was no bug in practice though because xz just made a few unneeded zero-byte reads. --- src/xz/coder.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xz/coder.c b/src/xz/coder.c index 897ff6a9..d29e40f4 100644 --- a/src/xz/coder.c +++ b/src/xz/coder.c @@ -565,9 +565,9 @@ coder_normal(file_pair *pair) strm.avail_out = IO_BUFFER_SIZE; while (!user_abort) { - // Fill the input buffer if it is empty and we haven't reached - // end of file yet. - if (strm.avail_in == 0 && !pair->src_eof) { + // Fill the input buffer if it is empty and we aren't + // flushing or finishing. + if (strm.avail_in == 0 && action == LZMA_RUN) { strm.next_in = in_buf.u8; strm.avail_in = io_read(pair, &in_buf, my_min(block_remaining,