aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2004-10-21 19:32:51 +0000
committerTom Tromey <tromey@gcc.gnu.org>2004-10-21 19:32:51 +0000
commitc28fdf712f5cbe81fb36e618f4fad9f79691be44 (patch)
tree2eb555294af2bb33a9c09ac8186dfde254e6469a /libjava/java
parentb228bf7fd20f936d51d81a48042575f88e7e9742 (diff)
downloadgcc-c28fdf712f5cbe81fb36e618f4fad9f79691be44.zip
gcc-c28fdf712f5cbe81fb36e618f4fad9f79691be44.tar.gz
gcc-c28fdf712f5cbe81fb36e618f4fad9f79691be44.tar.bz2
InflaterInputStream.java (fill): Don't throw an exception if we hit EOF of `in'.
* java/util/zip/InflaterInputStream.java (fill): Don't throw an exception if we hit EOF of `in'. (read): Handle case where inflating returns -1. From-SVN: r89395
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/util/zip/InflaterInputStream.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java
index 3676a2c..bfe93bd 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;
}
/**