Daniel's Stuff

I write code

Post navigation

10 comments for “DeltaSync HU01 decompression code released

  1. Tom
    February 17, 2011 at 7:14 am

    Hi Daniel,
    I’m not a programmer but I’m curious about what you’re doing with DeltaSync. I tried to run your routine but got the following error:


    ** 1B966 **
    ERROR: decompression failed. Expected 1085470 decompressed bytes, got -6

    What basic mistake have I made?



  2. February 20, 2011 at 1:07 pm

    Hi Tom,

    did you try the sample HU01 file that came with the app, or did you create a new one?
    If you created a new one it would be really helpful to send me a copy and I’ll see what I can do.

    Also, what sort of processor does your machine have? If it is a PPC then the code may not work as expected due to endian issues.


  3. Tom
    February 26, 2011 at 12:51 pm

    Hi Daniel,

    I used the sample you put with the application and, silly me, I was running Linux at the time. The decompression works fine when I switch to the Mac.

    What’s the next step?


  4. March 6, 2011 at 12:54 pm

    I’ll have to give it a go under Linux and see what I can do about fixing the code.
    The code just handles the decompression of the HU01 compressed messages. To make a full Windows Live mail client is a different project. I’ve been looking at making a Mac Mail plugin for 10.6. It should also be possible to make a plugin for other mail systems.

  5. Tom
    March 9, 2011 at 4:00 am

    Thanks, Daniel. Whilst you’re doing that 😉 can you tell me how to go about making an HU01 file to further test your code?

  6. March 14, 2011 at 1:11 pm

    I use the results of a packet capture to extract the HU01 data. I have several HU01 files here I use for testing, but as they are from my personal email they are not appropriate to share with the world 😉

  7. March 22, 2011 at 11:25 am


    I also got the “esi_ptr<source_ptr" error in Linux. To make it work I changed the code starting at line 639:

    if(esi_ptr<source_ptr) {
    goto L_1B966;


    if(esi_ptr<destination_ptr) {
    goto L_1B966;

    I have no idea if this is correct but it seems to work for the test.hu01 file at least.

  8. Jo
    May 17, 2012 at 2:43 pm


    I am an engineer for a brand new email system that is coming out. We have some questions in regards to this code work. Do you do any consulting? If so, please let me know.

    Thank you in advance for your time and consideration.


  9. May 19, 2012 at 3:18 pm

    Hi Jo,

    I am happy to have a chat about the code. Email me directly with any questions you have.


  10. Chaitanya
    June 27, 2012 at 2:24 am

    Hi Daniel,

    When i tried to execute downloadMessageContent() i got the following error.
    Exception in thread “main” java.lang.ClassFormatError: Invalid pc in LineNumberTable in class file main/java/com/googlecode/jdeltasync/hu01/HU01
    I was debug this and found that it is problem with HU01Decompressor and HU01 classes.
    I have been trying this for 3 days and no forward step. Can you please help me out.

Leave a Reply

Your email address will not be published. Required fields are marked *