diff options
Diffstat (limited to 'deflate.c')
-rw-r--r-- | deflate.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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; |