You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2009/10/08 13:05:52 UTC

svn commit: r823124 - in /harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util: jar/JarFile.java zip/CheckedInputStream.java zip/InflaterInputStream.java zip/ZipInputStream.java

Author: tellison
Date: Thu Oct  8 11:05:51 2009
New Revision: 823124

URL: http://svn.apache.org/viewvc?rev=823124&view=rev
Log:
Be a bit smarter about the size of discard buffer used when skipping bytes in the input stream.

Modified:
    harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/jar/JarFile.java
    harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/CheckedInputStream.java
    harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/InflaterInputStream.java
    harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipInputStream.java

Modified: harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/jar/JarFile.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/jar/JarFile.java?rev=823124&r1=823123&r2=823124&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/jar/JarFile.java (original)
+++ harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/jar/JarFile.java Thu Oct  8 11:05:51 2009
@@ -137,7 +137,7 @@
         @Override
         public long skip(long nbytes) throws IOException {
             long cnt = 0, rem = 0;
-            byte[] buf = new byte[4096];
+            byte[] buf = new byte[(int)Math.min(nbytes, 2048L)];
             while (cnt < nbytes) {
                 int x = read(buf, 0,
                         (rem = nbytes - cnt) > buf.length ? buf.length

Modified: harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/CheckedInputStream.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/CheckedInputStream.java?rev=823124&r1=823123&r2=823124&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/CheckedInputStream.java (original)
+++ harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/CheckedInputStream.java Thu Oct  8 11:05:51 2009
@@ -114,7 +114,7 @@
             return 0;
         }
         long skipped = 0;
-        byte[] b = new byte[2048];
+        byte[] b = new byte[(int)Math.min(nbytes, 2048L)];
         int x, v;
         while (skipped != nbytes) {
             x = in.read(b, 0,

Modified: harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/InflaterInputStream.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/InflaterInputStream.java?rev=823124&r1=823123&r2=823124&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/InflaterInputStream.java (original)
+++ harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/InflaterInputStream.java Thu Oct  8 11:05:51 2009
@@ -229,7 +229,7 @@
     public long skip(long nbytes) throws IOException {
         if (nbytes >= 0) {
             if (buf == null) {
-                buf = new byte[BUF_SIZE];
+                buf = new byte[(int)Math.min(nbytes, BUF_SIZE)];
             }
             long count = 0, rem = 0;
             while (count < nbytes) {

Modified: harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipInputStream.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipInputStream.java?rev=823124&r1=823123&r2=823124&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipInputStream.java (original)
+++ harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipInputStream.java Thu Oct  8 11:05:51 2009
@@ -373,7 +373,7 @@
         }
 
         long skipped = 0;
-        byte[] b = new byte[1024];
+        byte[] b = new byte[(int)Math.min(value, 2048L)];
         while (skipped != value) {
             long rem = value - skipped;
             int x = read(b, 0, (int) (b.length > rem ? rem : b.length));