From: Hans Kristian Rosbach Date: Thu, 16 Feb 2017 10:43:40 +0000 (+0100) Subject: Clean up flushing override for level 1 if deflate_quick is enabled but sse4.2 not... X-Git-Tag: 1.9.9-b1~678 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3885faa1aa391f825a4a4a26b9922c9250bf3b71;p=thirdparty%2Fzlib-ng.git Clean up flushing override for level 1 if deflate_quick is enabled but sse4.2 not supported. --- diff --git a/deflate.c b/deflate.c index 8bba94554..56d073e8e 100644 --- a/deflate.c +++ b/deflate.c @@ -936,14 +936,12 @@ int ZEXPORT deflate(z_stream *strm, int flush) { if (strm->avail_in != 0 || s->lookahead != 0 || (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) { block_state bstate; + bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : + s->strategy == Z_RLE ? deflate_rle(s, flush) : #ifdef X86_QUICK_STRATEGY - if (s->level == 1 && !x86_cpu_has_sse42) - bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : - (s->strategy == Z_RLE ? deflate_rle(s, flush) : deflate_fast(s, flush)); - else + (s->level == 1 && !x86_cpu_has_sse42) ? deflate_fast(s, flush) : #endif - bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : - (s->strategy == Z_RLE ? deflate_rle(s, flush) : (*(configuration_table[s->level].func))(s, flush)); + (*(configuration_table[s->level].func))(s, flush); if (bstate == finish_started || bstate == finish_done) { s->status = FINISH_STATE;