aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/subblock/subblock_encoder.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2008-01-23Fix a memory leak in the Subblock encoder.Lasse Collin1-0/+1
2008-01-20Fix alignment handling bugs in Subblock encoder.Lasse Collin1-51/+119
This leaves one known alignment bug unfixed: If repeat count doesn't fit into 28-bit integer, the encoder has to split this to multiple Subblocks with Subblock Type `Repeating Data'. The extra Subblocks may have wrong alignment. Correct alignment is restored after the split Repeating Data has been completely written out. Since the encoder doesn't even try to fix the alignment unless the size of Data is at least 4 bytes, to trigger this bug you need at least 4 GiB of repeating data with sequence length of 4 or more bytes. Since the worst thing done by this bug is misaligned data (no data corruption), this bug simply isn't worth fixing, because a proper fix isn't simple.
2008-01-19Implemented LZMA_SYNC_FLUSH support to the Subblock encoder.Lasse Collin1-67/+196
The API for handing Subfilters was changed to make it consistent with LZMA_SYNC_FLUSH. A few sanity checks were added for Subfilter handling. Some small bugs were fixed. More comments were added.
2007-12-11Remove uncompressed size tracking from the filter encoders.Lasse Collin1-32/+6
It's not strictly needed there, and just complicates the code. LZ encoder never even had this feature. The primary reason to have uncompressed size tracking in filter encoders was validating that the application doesn't give different amount of input that it had promised. A side effect was to validate internal workings of liblzma. Uncompressed size tracking is still present in the Block encoder. Maybe it should be added to LZMA_Alone and raw encoders too. It's simpler to have one coder just to validate the uncompressed size instead of having it in every filter.
2007-12-11Fixed wrong type of flags_size in Subblock encoder.Lasse Collin1-1/+1
2007-12-09Take advantage of return_if_error() macro in more places.Lasse Collin1-32/+13
Cleaned Subblock filter's initialization code too.
2007-12-09Imported to git.Lasse Collin1-0/+841