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
This commit is contained in:
parent
3cb553b468
commit
8559f9bb2f
8 changed files with 36 additions and 6 deletions
|
@ -1,3 +1,14 @@
|
|||
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>
|
||||
|
||||
* java/util/jar/JarFile.java: Don't call
|
||||
|
|
|
@ -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 ()
|
||||
{
|
||||
|
|
|
@ -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 ()
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -93,6 +93,7 @@ public class InflaterInputStream extends FilterInputStream
|
|||
break;
|
||||
n -= r;
|
||||
s += r;
|
||||
min = (int) Math.min(n, 1024);
|
||||
}
|
||||
|
||||
return s;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue