From c4537ae04ec0aef96dd400ab7fea73b5f030e035 Mon Sep 17 00:00:00 2001 From: Lillian Angel Date: Tue, 4 Apr 2006 14:05:20 +0000 Subject: 2006-04-04 Lillian Angel * java/util/zip/ZipFile.java (getInputStream): Fixed to return size of ZipEntry minus the total bytes read. This guarantees that the right value is returned even if some bytes have already been read. --- java/util/zip/ZipFile.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'java/util/zip/ZipFile.java') diff --git a/java/util/zip/ZipFile.java b/java/util/zip/ZipFile.java index 06edcb524..4e9c49560 100644 --- a/java/util/zip/ZipFile.java +++ b/java/util/zip/ZipFile.java @@ -445,13 +445,14 @@ public class ZipFile implements ZipConstants case ZipOutputStream.STORED: return inp; case ZipOutputStream.DEFLATED: + final Inflater inf = new Inflater(true); final int sz = (int) entry.getSize(); - return new InflaterInputStream(inp, new Inflater(true)) + return new InflaterInputStream(inp, inf) { public int available() throws IOException { if (super.available() != 0) - return sz; + return sz - inf.getTotalOut(); return 0; } }; -- cgit v1.2.1