From: Michael Koch Date: Fri, 30 Jul 2004 17:00:34 +0000 (+0000) Subject: 2004-07-30 Michael Koch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f370ef24f4b9b6d3f80f329b42994348e606efe7;p=gcc.git 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. From-SVN: r85340 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index db17ad758e2..213dbcf3998 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,17 @@ +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. + 2004-07-30 Michael Koch * gnu/java/awt/EmbeddedWindow.java diff --git a/libjava/java/util/zip/GZIPInputStream.java b/libjava/java/util/zip/GZIPInputStream.java index ec4613f153c..9eef73eb945 100644 --- a/libjava/java/util/zip/GZIPInputStream.java +++ b/libjava/java/util/zip/GZIPInputStream.java @@ -104,7 +104,7 @@ public class GZIPInputStream public GZIPInputStream(InputStream in) throws IOException { - this(in, 512); + this(in, 4096); } /** diff --git a/libjava/java/util/zip/GZIPOutputStream.java b/libjava/java/util/zip/GZIPOutputStream.java index 70339a022d0..4ec6cb1a6b8 100644 --- a/libjava/java/util/zip/GZIPOutputStream.java +++ b/libjava/java/util/zip/GZIPOutputStream.java @@ -69,7 +69,7 @@ public class GZIPOutputStream extends DeflaterOutputStream */ public GZIPOutputStream(OutputStream out) throws IOException { - this(out, 512); + this(out, 4096); } /** diff --git a/libjava/java/util/zip/Inflater.java b/libjava/java/util/zip/Inflater.java index 28e89ea4449..5b6921a7029 100644 --- a/libjava/java/util/zip/Inflater.java +++ b/libjava/java/util/zip/Inflater.java @@ -251,7 +251,7 @@ public class Inflater * @param buffer the input. * @exception IllegalStateException if no input is needed. */ - public void setInput (byte[] buf) + public void setInput (byte[] buf) { setInput (buf, 0, buf.length); } 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;