Commit 8559f9bb by Mark Wielaard Committed by Mark Wielaard

Adler32.java: Make private variables really private

2000-08-20  Mark Wielaard  <mark@klomp.org>

    * 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
parent 3cb553b4
2000-08-20 Mark Wielaard <mark@klomp.org>
* 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 <green@redhat.com> Sun Aug 20 12:33:43 2000 Anthony Green <green@redhat.com>
* java/util/jar/JarFile.java: Don't call * java/util/jar/JarFile.java: Don't call
......
...@@ -24,8 +24,8 @@ public class Adler32 implements Checksum ...@@ -24,8 +24,8 @@ public class Adler32 implements Checksum
{ {
private static int BASE = 65521; /* largest prime smaller than 65536 */ private static int BASE = 65521; /* largest prime smaller than 65536 */
int s1; private int s1;
int s2; private int s2;
public Adler32 () public Adler32 ()
{ {
......
...@@ -22,9 +22,9 @@ package java.util.zip; ...@@ -22,9 +22,9 @@ package java.util.zip;
public class CRC32 implements Checksum 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. */ /* Make the table for a fast CRC. */
static int[] make_crc_table () static int[] make_crc_table ()
......
...@@ -69,6 +69,7 @@ public class CheckedInputStream extends FilterInputStream ...@@ -69,6 +69,7 @@ public class CheckedInputStream extends FilterInputStream
break; break;
n -= r; n -= r;
s += r; s += r;
min = (int) Math.min(n, 1024);
sum.update(buf, 0, r); sum.update(buf, 0, r);
} }
......
...@@ -93,6 +93,7 @@ public class InflaterInputStream extends FilterInputStream ...@@ -93,6 +93,7 @@ public class InflaterInputStream extends FilterInputStream
break; break;
n -= r; n -= r;
s += r; s += r;
min = (int) Math.min(n, 1024);
} }
return s; return s;
......
...@@ -102,7 +102,7 @@ public class ZipEntry implements ZipConstants, Cloneable ...@@ -102,7 +102,7 @@ public class ZipEntry implements ZipConstants, Cloneable
public void setCompressedSize (long compressedSize) public void setCompressedSize (long compressedSize)
{ {
if (size < 0 || size > 0xffffffffL) if (compressedSize < 0 || compressedSize > 0xffffffffL)
throw new IllegalArgumentException (); throw new IllegalArgumentException ();
this.compressedSize = compressedSize; this.compressedSize = compressedSize;
} }
......
...@@ -141,6 +141,13 @@ public class ZipFile implements ZipConstants ...@@ -141,6 +141,13 @@ public class ZipFile implements ZipConstants
public String getName () { return name; } 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 private int readu2 () throws IOException
{ {
int byte0 = file.read(); int byte0 = file.read();
......
...@@ -89,7 +89,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants ...@@ -89,7 +89,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
int extraLength = readu2(); int extraLength = readu2();
byte[] bname = new byte[filenameLength]; byte[] bname = new byte[filenameLength];
readFully(bname); readFully(bname);
ZipEntry entry = new ZipEntry(new String(bname, "8859_1")); ZipEntry entry = createZipEntry(new String(bname, "8859_1"));
if (extraLength > 0) if (extraLength > 0)
{ {
byte[] bextra = new byte[extraLength]; byte[] bextra = new byte[extraLength];
...@@ -160,6 +160,13 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants ...@@ -160,6 +160,13 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
return count; return count;
} }
public int available() {
if (closed)
return 0;
else
return 1;
}
private void readFully (byte[] b) throws IOException private void readFully (byte[] b) throws IOException
{ {
int off = 0; int off = 0;
...@@ -222,6 +229,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants ...@@ -222,6 +229,7 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
public void close () throws IOException public void close () throws IOException
{ {
current = null; current = null;
closed = true;
super.close(); super.close();
} }
...@@ -231,4 +239,6 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants ...@@ -231,4 +239,6 @@ public class ZipInputStream extends InflaterInputStream implements ZipConstants
private int avail; private int avail;
// Number of bytes we can read from underlying stream. // Number of bytes we can read from underlying stream.
private int compressed_bytes; private int compressed_bytes;
// Is this ZipInputStream closed? Set by the close() method.
private boolean closed = false;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment