summaryrefslogtreecommitdiffstats
path: root/libjava/java/util/zip/InflaterInputStream.java
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-30 17:00:34 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-30 17:00:34 +0000
commit574b4c1c10281a749bb766b7b36f90b355df4341 (patch)
tree0768b92f77f32a9eee18589b26d6c67372372ee9 /libjava/java/util/zip/InflaterInputStream.java
parente9a995bf217f4e33fde42f14ae448b326024fc63 (diff)
downloadppe42-gcc-574b4c1c10281a749bb766b7b36f90b355df4341.tar.gz
ppe42-gcc-574b4c1c10281a749bb766b7b36f90b355df4341.zip
2004-07-30 Michael Koch <konqueror@gmx.de>
* 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
Diffstat (limited to 'libjava/java/util/zip/InflaterInputStream.java')
-rw-r--r--libjava/java/util/zip/InflaterInputStream.java22
1 files changed, 13 insertions, 9 deletions
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;
OpenPOWER on IntegriCloud