OSDN Git Service

2000-08-20 Mark Wielaard <mark@klomp.org>
authormark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Aug 2000 21:51:19 +0000 (21:51 +0000)
committermark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Aug 2000 21:51:19 +0000 (21:51 +0000)
    * 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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35826 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/java/util/zip/Adler32.java
libjava/java/util/zip/CRC32.java
libjava/java/util/zip/CheckedInputStream.java
libjava/java/util/zip/InflaterInputStream.java
libjava/java/util/zip/ZipEntry.java
libjava/java/util/zip/ZipFile.java
libjava/java/util/zip/ZipInputStream.java

index 522fdee..f6fede3 100644 (file)
@@ -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
index fc9596c..e7afeab 100644 (file)
@@ -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 ()
   {
index 535cf18..1abbcad 100644 (file)
@@ -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 ()
index fce050d..0901743 100644 (file)
@@ -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);
       }
 
index c5840e7..92b897a 100644 (file)
@@ -93,6 +93,7 @@ public class InflaterInputStream extends FilterInputStream
          break;
        n -= r;
        s += r;
+       min = (int) Math.min(n, 1024);
       }
 
     return s;
index cf8d98b..99cb3aa 100644 (file)
@@ -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;
   }
index 22ed74b..43d7226 100644 (file)
@@ -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();
index a147b22..79efb59 100644 (file)
@@ -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;
 }