diff options
Diffstat (limited to 'deflate.c')
-rw-r--r-- | deflate.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -517,7 +517,6 @@ int ZEXPORT deflateParams(strm, level, strategy) | |||
517 | { | 517 | { |
518 | deflate_state *s; | 518 | deflate_state *s; |
519 | compress_func func; | 519 | compress_func func; |
520 | int err = Z_OK; | ||
521 | 520 | ||
522 | if (deflateStateCheck(strm)) return Z_STREAM_ERROR; | 521 | if (deflateStateCheck(strm)) return Z_STREAM_ERROR; |
523 | s = strm->state; | 522 | s = strm->state; |
@@ -534,9 +533,11 @@ int ZEXPORT deflateParams(strm, level, strategy) | |||
534 | 533 | ||
535 | if ((strategy != s->strategy || func != configuration_table[level].func)) { | 534 | if ((strategy != s->strategy || func != configuration_table[level].func)) { |
536 | /* Flush the last buffer: */ | 535 | /* Flush the last buffer: */ |
537 | err = deflate(strm, Z_BLOCK); | 536 | int err = deflate(strm, Z_BLOCK); |
538 | if (err == Z_BUF_ERROR && s->pending == 0) | 537 | if (err == Z_STREAM_ERROR) |
539 | err = Z_OK; | 538 | return err; |
539 | if (strm->avail_out == 0) | ||
540 | return Z_BUF_ERROR; | ||
540 | } | 541 | } |
541 | if (s->level != level) { | 542 | if (s->level != level) { |
542 | s->level = level; | 543 | s->level = level; |
@@ -546,7 +547,7 @@ int ZEXPORT deflateParams(strm, level, strategy) | |||
546 | s->max_chain_length = configuration_table[level].max_chain; | 547 | s->max_chain_length = configuration_table[level].max_chain; |
547 | } | 548 | } |
548 | s->strategy = strategy; | 549 | s->strategy = strategy; |
549 | return err; | 550 | return Z_OK; |
550 | } | 551 | } |
551 | 552 | ||
552 | /* ========================================================================= */ | 553 | /* ========================================================================= */ |