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);
}
}