aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/zip/ZipInputStream.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/util/zip/ZipInputStream.java')
-rw-r--r--libjava/java/util/zip/ZipInputStream.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/libjava/java/util/zip/ZipInputStream.java b/libjava/java/util/zip/ZipInputStream.java
index a147b22..79efb59 100644
--- a/libjava/java/util/zip/ZipInputStream.java
+++ b/libjava/java/util/zip/ZipInputStream.java
@@ -89,7 +89,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
int extraLength = readu2();
byte[] bname = new byte[filenameLength];
readFully(bname);
- ZipEntry entry = new ZipEntry(new String(bname, "8859_1"));
+ ZipEntry entry = createZipEntry(new String(bname, "8859_1"));
if (extraLength > 0)
{
byte[] bextra = new byte[extraLength];
@@ -160,6 +160,13 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
return count;
}
+ public int available() {
+ if (closed)
+ return 0;
+ else
+ return 1;
+ }
+
private void readFully (byte[] b) throws IOException
{
int off = 0;
@@ -222,6 +229,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
public void close () throws IOException
{
current = null;
+ closed = true;
super.close();
}
@@ -231,4 +239,6 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
private int avail;
// Number of bytes we can read from underlying stream.
private int compressed_bytes;
+ // Is this ZipInputStream closed? Set by the close() method.
+ private boolean closed = false;
}