commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bode...@apache.org
Subject svn commit: r1546788 - /commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStream.java
Date Sun, 01 Dec 2013 07:55:08 GMT
Author: bodewig
Date: Sun Dec  1 07:55:08 2013
New Revision: 1546788

URL: http://svn.apache.org/r1546788
Log:
COMPRESS-147 some cosmetics

Modified:
    commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStream.java

Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStream.java
URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStream.java?rev=1546788&r1=1546787&r2=1546788&view=diff
==============================================================================
--- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStream.java
(original)
+++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStream.java
Sun Dec  1 07:55:08 2013
@@ -44,6 +44,12 @@ public class FramedSnappyCompressorInput
     private static final int MAX_UNSKIPPABLE_TYPE = 0x7f;
     private static final int MAX_SKIPPABLE_TYPE = 0xfd;
 
+    private static final byte[] SZ_SIGNATURE = new byte[] {
+        (byte) STREAM_IDENTIFIER_TYPE, // tag
+        6, 0, 0, // length
+        's', 'N', 'a', 'P', 'p', 'Y'
+    };
+
     /** The underlying stream to read compressed data from */
     private final PushbackInputStream in;
 
@@ -75,6 +81,10 @@ public class FramedSnappyCompressorInput
     /** {@inheritDoc} */
     @Override
     public void close() throws IOException {
+        if (currentCompressedChunk != null) {
+            currentCompressedChunk.close();
+            currentCompressedChunk = null;
+        }
         in.close();
     }
 
@@ -124,6 +134,7 @@ public class FramedSnappyCompressorInput
             long before = currentCompressedChunk.getBytesRead();
             read = currentCompressedChunk.read(b, off, len);
             if (read == -1) {
+                currentCompressedChunk.close();
                 currentCompressedChunk = null;
             } else {
                 count(currentCompressedChunk.getBytesRead() - before);
@@ -217,7 +228,7 @@ public class FramedSnappyCompressorInput
     /**
      * Checks if the signature matches what is expected for a .sz file.
      *
-     * <p>.sz files start with a chuck with tag 0xff and content sNaPpY.
+     * <p>.sz files start with a chunk with tag 0xff and content sNaPpY.</p>
      * 
      * @param signature the bytes to check
      * @param length    the number of bytes to check
@@ -225,21 +236,17 @@ public class FramedSnappyCompressorInput
      */
     public static boolean matches(byte[] signature, int length) {
 
-        if (length < 10) {
+        if (length < SZ_SIGNATURE.length) {
             return false;
         }
 
         byte[] shortenedSig = signature;
-        if (signature.length > 10) {
-            shortenedSig = new byte[10];
-            System.arraycopy(signature, 0, shortenedSig, 0, 10);
+        if (signature.length > SZ_SIGNATURE.length) {
+            shortenedSig = new byte[SZ_SIGNATURE.length];
+            System.arraycopy(signature, 0, shortenedSig, 0, SZ_SIGNATURE.length);
         }
 
-        return Arrays.equals(shortenedSig, new byte[] {
-                (byte) STREAM_IDENTIFIER_TYPE, // tag
-                6, 0, 0, // length
-                's', 'N', 'a', 'P', 'p', 'Y'
-            });
+        return Arrays.equals(shortenedSig, SZ_SIGNATURE);
     }
 
 }



Mime
View raw message