From ad89d5131b29d15f752ac3ef977784ded1fd12a3 Mon Sep 17 00:00:00 2001 From: Nathan Moinvaziri Date: Sat, 27 Jun 2020 08:55:40 -0700 Subject: [PATCH] Don't write end of last block when returning finish_started. --- deflate_quick.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deflate_quick.c b/deflate_quick.c index 3e47f2be..faa90b27 100644 --- a/deflate_quick.c +++ b/deflate_quick.c @@ -37,6 +37,7 @@ extern const ct_data static_dtree[D_CODES]; zng_tr_emit_end_block(s, static_ltree, last); \ s->block_open = 0; \ s->block_start = s->strstart; \ + flush_pending(s->strm); \ } \ } @@ -108,15 +109,14 @@ ZLIB_INTERNAL block_state deflate_quick(deflate_state *s, int flush) { s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1; - QUICK_END_BLOCK(s, last); - flush_pending(s->strm); - if (last) { if (s->strm->avail_out == 0) return s->strm->avail_in == 0 ? finish_started : need_more; - else - return finish_done; + + QUICK_END_BLOCK(s, 1); + return finish_done; } + QUICK_END_BLOCK(s, 0); return block_done; } -- 2.47.2