aboutsummaryrefslogtreecommitdiff
path: root/deflate.c
diff options
context:
space:
mode:
Diffstat (limited to 'deflate.c')
-rw-r--r--deflate.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/deflate.c b/deflate.c
index 537c4a3..85e30bc 100644
--- a/deflate.c
+++ b/deflate.c
@@ -914,9 +914,10 @@ int ZEXPORT deflate (strm, flush)
914 (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) { 914 (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
915 block_state bstate; 915 block_state bstate;
916 916
917 bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : 917 bstate = s->level == 0 ? deflate_stored(s, flush) :
918 (s->strategy == Z_RLE ? deflate_rle(s, flush) : 918 s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
919 (*(configuration_table[s->level].func))(s, flush)); 919 s->strategy == Z_RLE ? deflate_rle(s, flush) :
920 (*(configuration_table[s->level].func))(s, flush);
920 921
921 if (bstate == finish_started || bstate == finish_done) { 922 if (bstate == finish_started || bstate == finish_done) {
922 s->status = FINISH_STATE; 923 s->status = FINISH_STATE;