diff options
Diffstat (limited to 'zlib-1.2.7-z-block-flush.patch')
-rw-r--r-- | zlib-1.2.7-z-block-flush.patch | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/zlib-1.2.7-z-block-flush.patch b/zlib-1.2.7-z-block-flush.patch deleted file mode 100644 index 9bca519..0000000 --- a/zlib-1.2.7-z-block-flush.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f1b8edadc3c733990f8a8de4d643f968e571ae85 Mon Sep 17 00:00:00 2001 -From: Adam Tkac <atkac@redhat.com> -Date: Fri, 17 Aug 2012 15:13:48 +0200 -Subject: [PATCH] Rank Z_BLOCK flush below Z_PARTIAL_FLUSH only when last - flush was Z_BLOCK. - -This fixes regression introduced by f1ebdd6a9c495a5db9a22aa80dd7d54ae7db42e9 -(Permit stronger flushes after Z_BLOCK flushes.). Now this code is valid -again: - -deflate(stream, Z_SYNC_FLUSH); -deflateParams(stream, newLevel, Z_DEFAULT_STRATEGY); - -Signed-off-by: Adam Tkac <atkac@redhat.com> ---- - deflate.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/deflate.c b/deflate.c -index 9e4c2cb..3422f72 100644 ---- a/deflate.c -+++ b/deflate.c -@@ -882,9 +882,16 @@ int ZEXPORT deflate (strm, flush) - * flushes. For repeated and useless calls with Z_FINISH, we keep - * returning Z_STREAM_END instead of Z_BUF_ERROR. - */ -- } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) && -- flush != Z_FINISH) { -- ERR_RETURN(strm, Z_BUF_ERROR); -+ } else if (strm->avail_in == 0 && flush != Z_FINISH) { -+ char err; -+ -+ /* Degrade Z_BLOCK only when last flush was Z_BLOCK */ -+ err = (old_flush == Z_BLOCK) ? -+ RANK(flush) <= RANK(old_flush) : flush <= old_flush; -+ -+ if (err) { -+ ERR_RETURN(strm, Z_BUF_ERROR); -+ } - } - - /* User must not provide more input after the first FINISH: */ --- -1.7.11.4 - |