diff options
Diffstat (limited to 'libjava/java/util/zip/natDeflater.cc')
-rw-r--r-- | libjava/java/util/zip/natDeflater.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libjava/java/util/zip/natDeflater.cc b/libjava/java/util/zip/natDeflater.cc index 58d873a970a..566f918a77a 100644 --- a/libjava/java/util/zip/natDeflater.cc +++ b/libjava/java/util/zip/natDeflater.cc @@ -41,6 +41,9 @@ java::util::zip::Deflater::deflate (jbyteArray buf, jint off, jint len) if (off < 0 || len < 0 || off + len > buf->length) _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException); + if (len == 0) + return 0; + s->next_out = (Bytef *) (elements (buf) + off); s->avail_out = len; @@ -111,7 +114,7 @@ java::util::zip::Deflater::needsInput () { JvSynchronize sync (this); z_streamp s = (z_streamp) zstream; - return s->avail_in - last_input_count == 0; + return s->avail_in == 0; } void @@ -150,7 +153,6 @@ java::util::zip::Deflater::setInput (jbyteArray buf, jint off, jint len) if (off < 0 || len < 0 || off + len > buf->length) _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException); - last_input_count = len; s->next_in = (Bytef *) (elements (buf) + off); s->avail_in = len; } |