Commits on Apr 22, 2012
  1. Update to v0.0.3, add release notes.

    Also fix the wrong year from previous releases in the NEWS file.
    committed Apr 22, 2012
  2. Invoke progress callback once for each block.

    Testing reveals a corner case where progress output is incorrect
    because the decompression can pass over multiple blocks in a
    single call. Make sure that the progress callback is always called
    once for each block that is decompressed.
    committed Apr 22, 2012
Commits on Apr 21, 2012
  1. Add initial code for MacBinary header handling.

    Once hooked in, this will allow better handling of MacLHA archives,
    by stripping off the headers that it adds in to its archives.
    committed Apr 21, 2012
  2. Move CRC calculation into LHADecoder.

    This will be needed for MacBinary support.
    committed Apr 21, 2012
Commits on Apr 19, 2012
  1. Regenerate MacLHA subdirectory archives.

    These archives contain a text file generated using the TeachText
    application, so the MacBinary headers have meaningful content.
    committed Apr 19, 2012
Commits on Apr 18, 2012
  1. Regenerate MacLHA test archives.

    This is a more complete set of archives, covering level 0, 1 and 2,
    "full" paths and uncompressed files.
    committed Apr 18, 2012
Commits on Apr 17, 2012
Commits on Apr 16, 2012
Commits on Apr 15, 2012
  1. Add missing copyright notice.

    committed Apr 15, 2012
  2. Remove unnecessary #includes.

    committed Apr 15, 2012
  3. Oops.

    committed Apr 15, 2012
  4. Update .gitignore.

    committed Apr 15, 2012
  5. Add OS type output for Amiga archives.

    Also enable checking for Amiga level1.lzh file.
    committed Apr 15, 2012
Commits on Apr 14, 2012
  1. Add level 3 header decoding.

    committed Apr 14, 2012
  2. Rework MS-DOS all-caps filename handling.

    MS-DOS all-caps filenames should be converted to lower case. Rework
    to correctly handle the way that level 2/3 headers handle filenames.
    committed Apr 14, 2012
Commits on Apr 13, 2012
  1. Make directory entry handling consistent.

    Make file headers for directories (-lhd-) have a NULL filename when
    read from a level 0/1 header, for consistency with level 2/3 headers.
    Fix various code that assumes a non-NULL filename and sanity check to
    ensure one of either path or filename is always non-NULL.
    committed Apr 13, 2012
Commits on Apr 12, 2012
  1. Parse level 2 file headers.

    committed Apr 12, 2012
  2. Refactor file header parsing.

    Change the way that headers are parsed, to not make assumptions
    that are level 0/1-specific. This will allow level 2/3 decoding to
    be added.
    committed Apr 12, 2012
Commits on Apr 11, 2012
  1. Only build fuzzer when doing 'make check'.

    Fixes failing compile when doing a straight 'make'. (Thanks
    Bastien Dejean)
    committed Apr 11, 2012
Commits on Apr 10, 2012
  1. Fix corner case found in fuzz testing.

    If a new block is started with a length of zero, the count would
    be subtracted leading to an integer wraparound, with the result
    that the program could continue generating data indefinitely
    without any input. Use a while() loop to ensure that the new
    block has a size greater than zero, beginning a new block again
    immediately if an empty one is encountered.
    committed Apr 10, 2012
  2. Add option to run decompressor input from file.

    Allows the dumped input from failing tests to be re-run and
    committed Apr 10, 2012
Commits on Apr 9, 2012
  1. Refactor, dump input on crash or stall.

    Throw an alarm after 5 minutes if an iteration of the fuzz test does
    not complete, and dump the input to a file. Do the same when a SIGSEGV
    is thrown.
    committed Apr 9, 2012
  2. Strip down fuzz test code and simplify.

    Genetic algorithm stuff is unnecessary now that the bit stream reader
    bug has been fixed. Just generate a block of random data and feed it
    into the decompressor.
    committed Apr 9, 2012
  3. Add canary blocks around allocations.

    When fuzz testing, check that memory outside the structures used by the
    decompressors is not overwritten.
    committed Apr 9, 2012
Commits on Apr 8, 2012