summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkatsu <katsu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-18 14:38:06 +0000
committerkatsu <katsu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-18 14:38:06 +0000
commitb659b37e500f312aa07ed7d238f8e169f64e1920 (patch)
treee3a9fbc119d07ade8e3b333d1e698b06e6cc5015
parent811bf249cc2854cbb9e6ae3d90080fb67867e9f4 (diff)
downloadruby-b659b37e500f312aa07ed7d238f8e169f64e1920.tar.gz
ruby-b659b37e500f312aa07ed7d238f8e169f64e1920.tar.xz
ruby-b659b37e500f312aa07ed7d238f8e169f64e1920.zip
*** empty log message ***
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ext/zlib/zlib.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index 73efe8e01..24f226843 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -692,6 +692,11 @@ zstream_run(z, src, len, flush)
break;
}
if (err != Z_OK) {
+ if (flush != Z_FINISH && err == Z_BUF_ERROR
+ && z->stream.avail_out > 0) {
+ z->flags |= ZSTREAM_FLAG_IN_STREAM;
+ break;
+ }
zstream_reset_input(z);
if (z->stream.avail_in > 0) {
zstream_append_input(z, z->stream.next_in, z->stream.avail_in);