Browse Source

Make BZip2 task comply with native bzip2 when there are multiple blocks

in the compressed file.

Submitted by Keiron Liddle "keiron@aftexsw.com"


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270047 13f79535-47bb-0310-9956-ffa450edef68
master
Magesh Umasankar 23 years ago
parent
commit
3beb7f13cd
6 changed files with 12 additions and 12 deletions
  1. +2
    -2
      src/etc/testcases/taskdefs/bunzip2.xml
  2. +2
    -2
      src/etc/testcases/taskdefs/bzip2.xml
  3. +1
    -1
      src/main/org/apache/tools/bzip2/CBZip2InputStream.java
  4. +1
    -1
      src/main/org/apache/tools/bzip2/CBZip2OutputStream.java
  5. +3
    -3
      src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java
  6. +3
    -3
      src/testcases/org/apache/tools/ant/taskdefs/BZip2Test.java

+ 2
- 2
src/etc/testcases/taskdefs/bunzip2.xml View File

@@ -3,11 +3,11 @@
<project basedir="." default="cleanup">

<target name="realTest">
<bunzip2 src="expected/asf-logo.gif.bz2" dest="asf-logo.gif" />
<bunzip2 src="expected/asf-logo-huge.tar.bz2" dest="asf-logo-huge.tar" />
</target>

<target name="cleanup">
<delete file="asf-logo.gif" />
<delete file="asf-logo-huge.tar" />
</target>

</project>

+ 2
- 2
src/etc/testcases/taskdefs/bzip2.xml View File

@@ -3,11 +3,11 @@
<project basedir="." default="cleanup">

<target name="realTest">
<bzip2 src="../asf-logo.gif" zipfile="asf-logo.gif.bz2" />
<bzip2 src="expected/asf-logo-huge.tar" zipfile="asf-logo-huge.tar.bz2" />
</target>

<target name="cleanup">
<delete file="asf-logo.gif.bz2" />
<delete file="asf-logo-huge.tar.bz2" />
</target>

</project>

+ 1
- 1
src/main/org/apache/tools/bzip2/CBZip2InputStream.java View File

@@ -268,7 +268,7 @@ public class CBZip2InputStream extends InputStream implements BZip2Constants {
crcError();

computedCombinedCRC = (computedCombinedCRC << 1)
| (computedCombinedCRC >> 31);
| (computedCombinedCRC >>> 31);
computedCombinedCRC ^= computedBlockCRC;
}



+ 1
- 1
src/main/org/apache/tools/bzip2/CBZip2OutputStream.java View File

@@ -454,7 +454,7 @@ public class CBZip2OutputStream extends OutputStream implements BZip2Constants {

private void endBlock() throws IOException {
blockCRC = mCrc.getFinalCRC();
combinedCRC = (combinedCRC << 1) | (combinedCRC >> 31);
combinedCRC = (combinedCRC << 1)|(combinedCRC >>> 31);
combinedCRC ^= blockCRC;

/* sort the block and establish posn of original string */


+ 3
- 3
src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java View File

@@ -69,7 +69,7 @@ public class BUnzip2Test extends BuildFileTest {
super(name);
}

public void setUp() {
public void setUp() {
configureProject("src/etc/testcases/taskdefs/bunzip2.xml");
}

@@ -80,7 +80,7 @@ public class BUnzip2Test extends BuildFileTest {
public void testRealTest() throws java.io.IOException {
FileUtils fileUtils = FileUtils.newFileUtils();
executeTarget("realTest");
assertTrue(fileUtils.contentEquals(project.resolveFile("../asf-logo.gif"),
project.resolveFile("asf-logo.gif")));
assertTrue(fileUtils.contentEquals(project.resolveFile("expected/asf-logo-huge.tar"),
project.resolveFile("asf-logo-huge.tar")));
}
}

+ 3
- 3
src/testcases/org/apache/tools/ant/taskdefs/BZip2Test.java View File

@@ -69,7 +69,7 @@ public class BZip2Test extends BuildFileTest {
super(name);
}

public void setUp() {
public void setUp() {
configureProject("src/etc/testcases/taskdefs/bzip2.xml");
}

@@ -80,7 +80,7 @@ public class BZip2Test extends BuildFileTest {
public void testRealTest() throws java.io.IOException {
FileUtils fileUtils = FileUtils.newFileUtils();
executeTarget("realTest");
assertTrue(fileUtils.contentEquals(project.resolveFile("expected/asf-logo.gif.bz2"),
project.resolveFile("asf-logo.gif.bz2")));
assertTrue(fileUtils.contentEquals(project.resolveFile("expected/asf-logo-huge.tar.bz2"),
project.resolveFile("asf-logo-huge.tar.bz2")));
}
}

Loading…
Cancel
Save