Hi Magesh,

After a bit of a look the problem is that the combinedCRC is always wrong when there is more than one block.

If I changed this line:
    combinedCRC = (combinedCRC << 1) | (combinedCRC >> 31);

to this code:
    int a = (combinedCRC << 1);
    int b = (combinedCRC >>> 31);
    combinedCRC = a | b;

Then it seems to work. I don't really know how these operators work. The original was simply a copy from the c code, which looks like it works slightly differently. Something about signed integers possibly.
You should probably put a note in the code (since it is different from the c) to explain what is happening.


Regards,
Keiron.

On 2001.11.28 19:28 [EMAIL PROTECTED] wrote:
Keiron:
After making bzip2 and bunzip2 into Ant tasks, it has been included to
generate bz2 compressed files in nightly runs.  Please visit

http://jakarta.apache.org/builds/jakarta-ant/nightly/2001-11-28/

The file jakarta-ant-1.5alpha-src.tar.bz2 has been created with
the CBizp2OutputStream class that you have so generously contributed.

However, I am not able to decompress it using bzip2.  TO find out
what was wrong with the ant-generated bzip2 file, I downloaded
the gz version of the file, extracted the tar file from it using
gzip and bzipped it again.  WHen comparing these 2 files, I find that
the file sizes are exactly the same.  But when I did a binary diff,
I find that there is a difference in 4 bytes:

The size of the bzip file using your version or native bzip2 is
1283934

Byte #      value (java version)    value (native)
1283930     97                      73
1283931     129                     133
1283932     173                     72
1283933     98                      87


All I notice is that the difference is at the tail end of the file (last but 4 bytes). Do you know why this would happen? I am trying my best to debug, but your help here would be really appreciated.

Thanks,
Magesh



-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>



Reply via email to