From 8559f9bb2f3d3bb300d21df3ad41901dc6619121 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sun, 20 Aug 2000 21:51:19 +0000 Subject: [PATCH] Adler32.java: Make private variables really private 2000-08-20 Mark Wielaard * java/util/zip/Adler32.java: Make private variables really private * java/util/zip/CRC32.java: Make private variables really private * java/util/zip/CheckedInputStream.java: skip() could skip to much bytes * java/util/zip/InflaterInputStream.java: skip() could skip to much bytes * java/util/zip/ZipEntry.java: setCompressedSize() didn't check input * java/util/zip/ZipFile.java: size() new 1.2 method * java/util/zip/ZipInputStream.java: Use createZipEntry not new ZipEntry. since 1.2 available() always returns just 1 or 0 when closed From-SVN: r35826 --- libjava/ChangeLog | 11 +++++++++++ libjava/java/util/zip/Adler32.java | 4 ++-- libjava/java/util/zip/CRC32.java | 4 ++-- libjava/java/util/zip/CheckedInputStream.java | 1 + libjava/java/util/zip/InflaterInputStream.java | 1 + libjava/java/util/zip/ZipEntry.java | 2 +- libjava/java/util/zip/ZipFile.java | 7 +++++++ libjava/java/util/zip/ZipInputStream.java | 12 +++++++++++- 8 files changed, 36 insertions(+), 6 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 522fdeebe17..f6fede309c0 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,14 @@ +2000-08-20 Mark Wielaard + + * java/util/zip/Adler32.java: Make private variables really private + * java/util/zip/CRC32.java: Make private variables really private + * java/util/zip/CheckedInputStream.java: skip() could skip to much bytes + * java/util/zip/InflaterInputStream.java: skip() could skip to much bytes + * java/util/zip/ZipEntry.java: setCompressedSize() didn't check input + * java/util/zip/ZipFile.java: size() new 1.2 method + * java/util/zip/ZipInputStream.java: Use createZipEntry not new ZipEntry. + since 1.2 available() always returns just 1 or 0 when closed + Sun Aug 20 12:33:43 2000 Anthony Green * java/util/jar/JarFile.java: Don't call diff --git a/libjava/java/util/zip/Adler32.java b/libjava/java/util/zip/Adler32.java index fc9596cdf12..e7afeabde16 100644 --- a/libjava/java/util/zip/Adler32.java +++ b/libjava/java/util/zip/Adler32.java @@ -24,8 +24,8 @@ public class Adler32 implements Checksum { private static int BASE = 65521; /* largest prime smaller than 65536 */ - int s1; - int s2; + private int s1; + private int s2; public Adler32 () { diff --git a/libjava/java/util/zip/CRC32.java b/libjava/java/util/zip/CRC32.java index 535cf184c72..1abbcad1d97 100644 --- a/libjava/java/util/zip/CRC32.java +++ b/libjava/java/util/zip/CRC32.java @@ -22,9 +22,9 @@ package java.util.zip; public class CRC32 implements Checksum { - int crc = 0; + private int crc = 0; - static int[] crc_table = make_crc_table(); + private static int[] crc_table = make_crc_table(); /* Make the table for a fast CRC. */ static int[] make_crc_table () diff --git a/libjava/java/util/zip/CheckedInputStream.java b/libjava/java/util/zip/CheckedInputStream.java index fce050d2a73..0901743e6a7 100644 --- a/libjava/java/util/zip/CheckedInputStream.java +++ b/libjava/java/util/zip/CheckedInputStream.java @@ -69,6 +69,7 @@ public class CheckedInputStream extends FilterInputStream break; n -= r; s += r; + min = (int) Math.min(n, 1024); sum.update(buf, 0, r); } diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java index c5840e7a5fa..92b897a32e4 100644 --- a/libjava/java/util/zip/InflaterInputStream.java +++ b/libjava/java/util/zip/InflaterInputStream.java @@ -93,6 +93,7 @@ public class InflaterInputStream extends FilterInputStream break; n -= r; s += r; + min = (int) Math.min(n, 1024); } return s; diff --git a/libjava/java/util/zip/ZipEntry.java b/libjava/java/util/zip/ZipEntry.java index cf8d98b4445..99cb3aacb22 100644 --- a/libjava/java/util/zip/ZipEntry.java +++ b/libjava/java/util/zip/ZipEntry.java @@ -102,7 +102,7 @@ public class ZipEntry implements ZipConstants, Cloneable public void setCompressedSize (long compressedSize) { - if (size < 0 || size > 0xffffffffL) + if (compressedSize < 0 || compressedSize > 0xffffffffL) throw new IllegalArgumentException (); this.compressedSize = compressedSize; } diff --git a/libjava/java/util/zip/ZipFile.java b/libjava/java/util/zip/ZipFile.java index 22ed74b6e78..43d72267aea 100644 --- a/libjava/java/util/zip/ZipFile.java +++ b/libjava/java/util/zip/ZipFile.java @@ -141,6 +141,13 @@ public class ZipFile implements ZipConstants public String getName () { return name; } + public int size () { + if (entries == null) + throw new IllegalStateException("ZipFile already closed"); + else + return numEntries; + } + private int readu2 () throws IOException { int byte0 = file.read(); diff --git a/libjava/java/util/zip/ZipInputStream.java b/libjava/java/util/zip/ZipInputStream.java index a147b228a69..79efb59f06c 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; } -- 2.30.2