Author: bodewig
Date: Thu Feb 12 10:27:10 2009
New Revision: 743678

URL: http://svn.apache.org/viewvc?rev=743678&view=rev
Log:
use proper BZip2 signature, SANDBOX-285

Modified:
    
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream.java
    
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
    commons/sandbox/compress/trunk/src/test/resources/bla.txt.bz2

Modified: 
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream.java?rev=743678&r1=743677&r2=743678&view=diff
==============================================================================
--- 
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream.java
 (original)
+++ 
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream.java
 Thu Feb 12 10:27:10 2009
@@ -218,12 +218,9 @@
         if (in.available() == 0) {
             throw new IOException("Empty InputStream");
         }
-        int magic2 = this.in.read();
-        if (magic2 != 'h') {
-            throw new IOException("Stream is not BZip2 formatted: expected 'h'"
-                                  + " as first byte but got '" + (char) magic2
-                                  + "'");
-        }
+        checkMagicChar('B', "first");
+        checkMagicChar('Z', "second");
+        checkMagicChar('h', "third");
 
         int blockSize = this.in.read();
         if ((blockSize < '1') || (blockSize > '9')) {
@@ -237,6 +234,17 @@
         setupBlock();
     }
 
+    private void checkMagicChar(char expected, String position)
+        throws IOException {
+        int magic = this.in.read();
+        if (magic != expected) {
+            throw new IOException("Stream is not BZip2 formatted: expected '"
+                                  + expected + "' as " + position
+                                  + " byte but got '" + (char) magic
+                                  + "'");
+        }
+    }
+
     private void initBlock() throws IOException {
         char magic0 = bsGetUByte();
         char magic1 = bsGetUByte();

Modified: 
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java?rev=743678&r1=743677&r2=743678&view=diff
==============================================================================
--- 
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
 (original)
+++ 
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream.java
 Thu Feb 12 10:27:10 2009
@@ -405,6 +405,8 @@
         bytesOut = 0;
         nBlocksRandomised = 0;
 
+        bsPutUChar('B');
+        bsPutUChar('Z');
         /* Write `magic' bytes h indicating file-format == huffmanised,
            followed by a digit indicating blockSize100k.
         */

Modified: commons/sandbox/compress/trunk/src/test/resources/bla.txt.bz2
URL: 
http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/test/resources/bla.txt.bz2?rev=743678&r1=743677&r2=743678&view=diff
==============================================================================
Binary files - no diff available.


Reply via email to