diff options
author | Tom Tromey <tromey@redhat.com> | 2004-10-25 17:06:12 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2004-10-25 17:06:12 +0000 |
commit | 867c6f7c61398d91408881272bf22a3aabf407f3 (patch) | |
tree | a23f27260063a8c99163586272e5dde9e5c74b12 | |
parent | 3ec074aa60eb5af2b930a6e69bb8bb2307babebf (diff) |
* java/util/zip/InflaterInputStream.java (fill): Don't throw an
exception if we hit EOF of `in'.
(read): Handle case where inflating returns -1.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcj-abi-2-dev-branch@89540 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libjava/ChangeLog | 4 | ||||
-rw-r--r-- | libjava/java/util/zip/InflaterInputStream.java | 12 |
2 files changed, 8 insertions, 8 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index fe091b9601d..41aa4e41618 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,9 @@ 2004-10-25 Tom Tromey <tromey@redhat.com> + * java/util/zip/InflaterInputStream.java (fill): Don't throw an + exception if we hit EOF of `in'. + (read): Handle case where inflating returns -1. + * gnu/java/text/WordBreakIterator.java (WordBreakIterator): Don't initialize `iter'. * gnu/java/text/SentenceBreakIterator.java diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java index 3676a2cdb5d..bfe93bd152c 100644 --- a/libjava/java/util/zip/InflaterInputStream.java +++ b/libjava/java/util/zip/InflaterInputStream.java @@ -152,10 +152,8 @@ public class InflaterInputStream extends FilterInputStream len = in.read(buf, 0, buf.length); - if (len < 0) - throw new ZipException("Deflated stream ends early."); - - inf.setInput(buf, 0, len); + if (len >= 0) + inf.setInput(buf, 0, len); } /** @@ -188,7 +186,7 @@ public class InflaterInputStream extends FilterInputStream return -1; int count = 0; - for (;;) + while (count == 0) { if (inf.needsInput()) fill(); @@ -211,10 +209,8 @@ public class InflaterInputStream extends FilterInputStream { throw new ZipException(dfe.getMessage()); } - - if (count > 0) - return count; } + return count; } /** |