aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/common/stream_decoder.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-09-28liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR.Lasse Collin1-3/+13
If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible to use lzma_memlimit_set() to increase the limit and continue decoding. This was supposed to work from the beginning but there was a bug. With other decoders (.lzma or threaded .xz) this already worked correctly.
2022-09-28liblzma: Stream decoder: Fix comments.Lasse Collin1-7/+5
2017-03-30liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder.Lasse Collin1-4/+1
2016-11-21liblzma: Avoid multiple definitions of lzma_coder structures.Lasse Collin1-21/+29
Only one definition was visible in a translation unit. It avoided a few casts and temp variables but seems that this hack doesn't work with link-time optimizations in compilers as it's not C99/C11 compliant. Fixes: http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html
2014-08-05liblzma: Add support for LZMA_IGNORE_CHECK.Lasse Collin1-2/+12
2012-07-17liblzma: Make the use of lzma_allocator const-correct.Lasse Collin1-4/+5
There is a tiny risk of causing breakage: If an application assigns lzma_stream.allocator to a non-const pointer, such code won't compile anymore. I don't know why anyone would do such a thing though, so in practice this shouldn't cause trouble. Thanks to Jan Kratochvil for the patch.
2010-02-07Subtle change to liblzma Block handling API.Lasse Collin1-0/+3
lzma_block.version has to be initialized even for lzma_block_header_decode(). This way a future version of liblzma won't allocate memory in a way that an old application doesn't know how to free it. The subtlety of this change is that all current apps using lzma_block_header_decode() will keep working for now, because the only possible version value is zero, and lzma_block_header_decode() unconditionally sets the version to zero even now. Unless fixed, these apps will break in the future if a new version of the Block options is ever needed.
2010-01-01Fix _memconfig() functions.Lasse Collin1-4/+7
This affects lzma_memusage() and lzma_memlimit_get().
2009-09-11Fix a couple of warnings.Lasse Collin1-1/+1
2009-04-28Fixed a crash in liblzma.Lasse Collin1-1/+1
liblzma tries to avoid useless free()/malloc() pairs in initialization when multiple files are handled using the same lzma_stream. This didn't work with filter chains due to comparison of wrong pointers in lzma_next_coder_init(), making liblzma think that no memory reallocation is needed even when it actually is. Easy way to trigger this bug is to decompress two files with a single xz command. The first file should have e.g. x86+LZMA2 as the filter chain, and the second file just LZMA2.
2009-04-13Put the interesting parts of XZ Utils into the public domain.Lasse Collin1-10/+3
Some minor documentation cleanups were made at the same time.
2009-02-02Modify LZMA_API macro so that it works on Windows withLasse Collin1-1/+1
other compilers than MinGW. This may hurt readability of the API headers slightly, but I don't know any better way to do this.
2009-01-17Beta was supposed to be API stable but I had forgot to renameLasse Collin1-1/+1
lzma_memlimit_encoder and lzma_memlimit_decoder to lzma_raw_encoder_memlimit and lzma_raw_decoder_memlimit. :-( Now it is fixed. Hopefully it doesn't cause too much trouble to those who already thought API is stable.
2008-12-27Bunch of liblzma tweaks, including some API changes.Lasse Collin1-2/+1
The API and ABI should now be very close to stable, although the code behind it isn't yet.
2008-12-15Bunch of liblzma API cleanups and fixes.Lasse Collin1-7/+40
2008-11-19Oh well, big messy commit again. Some highlights:Lasse Collin1-4/+5
- Updated to the latest, probably final file format version. - Command line tool reworked to not use threads anymore. Threading will probably go into liblzma anyway. - Memory usage limit is now about 30 % for uncompression and about 90 % for compression. - Progress indicator with --verbose - Simplified --help and full --long-help - Upgraded to the last LGPLv2.1+ getopt_long from gnulib. - Some bug fixes
2008-09-30Fixed Stream decoder to actually use the first_stream variable.Lasse Collin1-0/+5
2008-09-30Fixed uninitialized variable in Stream decoder.Lasse Collin1-0/+1
2008-09-13Renamed constants:Lasse Collin1-2/+2
- LZMA_VLI_VALUE_MAX -> LZMA_VLI_MAX - LZMA_VLI_VALUE_UNKNOWN -> LZMA_VLI_UNKNOWN - LZMA_HEADER_ERRRO -> LZMA_OPTIONS_ERROR
2008-09-12Improved the Stream Flags handling API.Lasse Collin1-3/+2
2008-09-11Remove bogus #includes.Lasse Collin1-3/+0
2008-09-06Some API cleanupsLasse Collin1-16/+15
2008-09-02Stream decoder cleanupsLasse Collin1-25/+32
2008-08-28Sort of garbage collection commit. :-| Many things are stillLasse Collin1-57/+181
broken. API has changed a lot and it will still change a little more here and there. The command line tool doesn't have all the required changes to reflect the API changes, so it's easy to get "internal error" or trigger assertions.
2008-06-18Update the code to mostly match the new simpler file formatLasse Collin1-320/+138
specification. Simplify things by removing most of the support for known uncompressed size in most places. There are some miscellaneous changes here and there too. The API of liblzma has got many changes and still some more will be done soon. While most of the code has been updated, some things are not fixed (the command line tool will choke with invalid filter chain, if nothing else). Subblock filter is somewhat broken for now. It will be updated once the encoded format of the Subblock filter has been decided.
2008-01-16Plugged a memory leak in stream_decoder.c.Lasse Collin1-0/+20
2007-12-09Take advantage of return_if_error() macro in more places.Lasse Collin1-11/+6
Cleaned Subblock filter's initialization code too.
2007-12-09Imported to git.Lasse Collin1-0/+454