Author: ebourg
Date: Sun Dec 22 22:34:12 2013
New Revision: 1553043

URL: http://svn.apache.org/r1553043
Log:
Fixed the decompression of imploded zip entries using a Shannon-Fano tree of 
depth 16

Added:
    commons/proper/compress/trunk/src/test/resources/moby-imploded.zip
      - copied unchanged from r1553040, 
commons/proper/compress/trunk/src/test/resources/tika-moby.zip
Removed:
    commons/proper/compress/trunk/src/test/resources/tika-moby.zip
Modified:
    
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
    
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java

Modified: 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
URL: 
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java?rev=1553043&r1=1553042&r2=1553043&view=diff
==============================================================================
--- 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
 (original)
+++ 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java
 Sun Dec 22 22:34:12 2013
@@ -82,7 +82,7 @@ class BinaryTree {
      * @return the value decoded, or -1 if the end of the stream is reached
      */
     public int read(BitStream stream) throws IOException {
-        short currentIndex = 0;
+        int currentIndex = 0;
 
         while (true) {
             int bit = stream.nextBit();
@@ -90,7 +90,7 @@ class BinaryTree {
                 return -1;
             }
 
-            short childIndex = (short) (2 * currentIndex + 1 + bit);
+            int childIndex = 2 * currentIndex + 1 + bit;
             int value = tree[childIndex];
             if (value == NODE) {
                 // consume the next bit

Modified: 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java?rev=1553043&r1=1553042&r2=1553043&view=diff
==============================================================================
--- 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
 (original)
+++ 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
 Sun Dec 22 22:34:12 2013
@@ -57,8 +57,8 @@ public class ExplodeSupportTest extends 
         
testArchiveWithImplodeCompression("target/test-classes/archives/imploding-8Kdict-3trees.zip",
 "LICENSE.TXT");
     }
 
-    public void XtestTikaTestArchive() throws IOException {
-        testArchiveWithImplodeCompression("target/test-classes/tika-moby.zip", 
"README");
+    public void testTikaTestArchive() throws IOException {
+        
testArchiveWithImplodeCompression("target/test-classes/moby-imploded.zip", 
"README");
     }
 
     private void testZipStreamWithImplodeCompression(String filename, String 
entryName) throws IOException {
@@ -87,8 +87,8 @@ public class ExplodeSupportTest extends 
         
testZipStreamWithImplodeCompression("target/test-classes/archives/imploding-8Kdict-3trees.zip",
 "LICENSE.TXT");
     }
 
-    public void XtestTikaTestStream() throws IOException {
-        
testZipStreamWithImplodeCompression("target/test-classes/tika-moby.zip", 
"README");
+    public void testTikaTestStream() throws IOException {
+        
testZipStreamWithImplodeCompression("target/test-classes/moby-imploded.zip", 
"README");
     }
 
 }


Reply via email to