From 574b4c1c10281a749bb766b7b36f90b355df4341 Mon Sep 17 00:00:00 2001 From: mkoch Date: Fri, 30 Jul 2004 17:00:34 +0000 Subject: 2004-07-30 Michael Koch * java/util/zip/GZIPInputStream.java (GZIPInputStream): Increase buffer size to 4k. * java/util/zip/GZIPOutputStream.java (GZIPOutputStream): Likewise. * java/util/zip/Inflater.java (setInput): Merged formating with GNU classpath. * java/util/zip/InflaterInputStream.java (InflaterInputStream): Increase buffer size to 4k. (fill): Throw exception if stream ends early. (read): Merged endless-loop with GNU classpath. (skip): Increase buffer size to 2k. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85340 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/util/zip/InflaterInputStream.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'libjava/java/util/zip/InflaterInputStream.java') diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java index 60442e474af..27c29ff41df 100644 --- a/libjava/java/util/zip/InflaterInputStream.java +++ b/libjava/java/util/zip/InflaterInputStream.java @@ -79,7 +79,7 @@ public class InflaterInputStream extends FilterInputStream */ public InflaterInputStream(InputStream in) { - this(in, new Inflater(), 512); + this(in, new Inflater(), 4096); } /** @@ -91,7 +91,7 @@ public class InflaterInputStream extends FilterInputStream */ public InflaterInputStream(InputStream in, Inflater inf) { - this(in, inf, 512); + this(in, inf, 4096); } /** @@ -149,8 +149,10 @@ public class InflaterInputStream extends FilterInputStream len = in.read(buf, 0, buf.length); - if (len != -1) - inf.setInput(buf, 0, len); + if (len < 0) + throw new ZipException("Deflated stream ends early."); + + inf.setInput(buf, 0, len); } /** @@ -170,7 +172,7 @@ public class InflaterInputStream extends FilterInputStream return -1; int count = 0; - while (count == 0) + for (;;) { if (inf.needsInput()) fill(); @@ -193,8 +195,10 @@ public class InflaterInputStream extends FilterInputStream { throw new ZipException(dfe.getMessage()); } + + if (count > 0) + return count; } - return count; } /** @@ -212,18 +216,18 @@ public class InflaterInputStream extends FilterInputStream if (n == 0) return 0; - int buflen = (int) Math.min(n, 1024); + int buflen = (int) Math.min(n, 2048); byte[] tmpbuf = new byte[buflen]; long skipped = 0L; while (n > 0L) { int numread = read(tmpbuf, 0, buflen); - if (numread == -1) + if (numread <= 0) break; n -= numread; skipped += numread; - buflen = (int) Math.min(n, 1024); + buflen = (int) Math.min(n, 2048); } return skipped; -- cgit v1.2.3