InflaterInputStream.java (fill): Don't throw an exception if we hit EOF of `in'.
authorTom Tromey <tromey@redhat.com>
Thu, 21 Oct 2004 19:32:51 +0000 (19:32 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Thu, 21 Oct 2004 19:32:51 +0000 (19:32 +0000)
* 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

libjava/ChangeLog
libjava/java/util/zip/InflaterInputStream.java

index 3940353f2c7f53881a5ddc4c49df929eee9a3787..dbbbe010626b6a39e10a779e2ec055ff8461ebea 100644 (file)
@@ -1,3 +1,9 @@
+2004-10-21  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.
+
 2004-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * gnu/java/nio/channels/natFileChannelPosix.cc
index 3676a2cdb5d7c1f329754b408c743947632081a7..bfe93bd152cf6081166cff91a36e77d1b545b5bc 100644 (file)
@@ -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;
   }
 
   /**