Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2008-01-20 | Added debug/repeat.c. | Lasse Collin | 2 | -0/+44 | |
2008-01-20 | Fix alignment handling bugs in Subblock encoder. | Lasse Collin | 1 | -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-19 | Implemented LZMA_SYNC_FLUSH support to the Subblock encoder. | Lasse Collin | 2 | -78/+214 | |
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. | |||||
2008-01-19 | Revised the Delta filter implementation. The initialization | Lasse Collin | 10 | -200/+363 | |
function is still shared between encoder and decoder, but the actual coding is in separate files for encoder and decoder. There are now separate functions for the actual delta calculation depending on if Delta is the last filter in the chain or not. If it is the last, the new code copies the data from input to output buffer and does the delta calculation at the same time. The old code first copied the data, then did the delta in the target buffer, which required reading through the data twice. Support for LZMA_SYNC_FLUSH was added to the Delta encoder. This doesn't change anything in the file format. | |||||
2008-01-18 | Added the debug directory and the first debug tool | Lasse Collin | 5 | -0/+165 | |
(sync_flush). These tools are not built unless the user runs "make" in the debug directory. | |||||
2008-01-18 | Added test files to test usage of flush marker in LZMA. | Lasse Collin | 5 | -0/+12 | |
2008-01-18 | Fix LZMA_SYNC_FLUSH handling in LZ and LZMA encoders. | Lasse Collin | 3 | -33/+29 | |
That code is now almost completely in LZ coder, where it can be shared with other LZ77-based algorithms in future. | |||||
2008-01-18 | Don't add -g to CFLAGS when --enable-debug is specified. | Lasse Collin | 1 | -1/+0 | |
It's the job of the user to put that in CFLAGS. | |||||
2008-01-18 | Set stdin and stdout to binary mode on Windows. This patch is | Lasse Collin | 1 | -0/+9 | |
a forward port of b7b22fcb979a16d3a47c8001f058c9f7d4416068 from lzma-utils-legacy.git. I don't know if the new code base builds on Windows, but this is a start. | |||||
2008-01-18 | Added test_compress.sh and bunch of files needed by it. | Lasse Collin | 6 | -10/+433 | |
This new set of tests compress and decompress several test files with many different compression options. This set of tests will be extended later. | |||||
2008-01-17 | Subblock decoder: Don't exit the main loop in decode_buffer() | Lasse Collin | 1 | -133/+139 | |
too early if we hit End of Input while decoding a Subblock of type Repeating Data. To keep the loop termination condition elegant, the order of enumerations in coder->sequence were changed. To keep the case-labels in roughly the same order as the enumerations in coder->sequence, large chunks of code was moved around. This made the diff big and ugly compared to the amount of the actual changes made. | |||||
2008-01-17 | Fix wrong too small size of argument unfiltered_max | Lasse Collin | 1 | -1/+1 | |
in ia64_coder_init(). It triggered assert() in simple_coder.c, and could have caused a buffer overflow. This error was probably a copypaste mistake, since most of the simple filters use unfiltered_max = 4. | |||||
2008-01-17 | Added --delta to the output of "lzma --help". | Lasse Collin | 1 | -0/+4 | |
2008-01-17 | Fix Subblock docoder: If Subblock filter was used with known | Lasse Collin | 1 | -0/+6 | |
Uncompressed Size, and the last output byte was from RLE, the code didn't stop decoding as it should have done. | |||||
2008-01-16 | Tiny non-technical edits to file-format.txt. | Lasse Collin | 1 | -3/+3 | |
2008-01-16 | Plugged a memory leak in stream_decoder.c. | Lasse Collin | 1 | -0/+20 | |
2008-01-16 | Added memory leak detection to lzmadec.c. | Lasse Collin | 1 | -0/+3 | |
2008-01-16 | Added lzma_memlimit_count(). | Lasse Collin | 2 | -0/+29 | |
2008-01-16 | Added ARRAY_SIZE(array) macro. | Lasse Collin | 1 | -0/+4 | |
2008-01-16 | Make Uncompresed Size validation more strict | Lasse Collin | 1 | -1/+2 | |
in alone_decoder.c. | |||||
2008-01-15 | Free the allocated memory in lzmadec if debugging is | Lasse Collin | 1 | -0/+7 | |
enabled. This should make it possible to detect possible memory leaks with Valgrind. | |||||
2008-01-15 | Fix memory leaks from test_block_header.c. | Lasse Collin | 1 | -2/+17 | |
2008-01-15 | Use fastpos.h when encoding LZMA dictionary size in | Lasse Collin | 1 | -21/+19 | |
Filter Flags encoder. | |||||
2008-01-15 | Revised the fastpos code. It now uses the slightly faster | Lasse Collin | 10 | -47/+746 | |
table-based version from LZMA SDK 4.57. This should be fast on most systems. A simpler and smaller alternative version is also provided. On some CPUs this can be even a little faster than the default table-based version (see comments in fastpos.h), but on most systems the table-based code is faster. | |||||
2008-01-15 | Added bsr.h. | Lasse Collin | 2 | -0/+62 | |
2008-01-15 | Fixed assembler detection in configure.ac, and added | Lasse Collin | 1 | -16/+16 | |
detection for x86_64. | |||||
2008-01-15 | Omit invalid space from printf() format string | Lasse Collin | 1 | -1/+1 | |
in price_table_gen.c. | |||||
2008-01-15 | Removed a few unused macros from lzma_common.h. | Lasse Collin | 1 | -6/+2 | |
2008-01-15 | Fix a typo in lzma_encoder.c. | Lasse Collin | 1 | -1/+1 | |
2008-01-15 | Convert bittree_get_price() and bittree_reverse_get_price() | Lasse Collin | 3 | -55/+56 | |
from macros to inline functions. | |||||
2008-01-15 | Fix CRC code in case --enable-small is used. | Lasse Collin | 5 | -6/+4 | |
2008-01-15 | Fix typo in test_index.c. | Lasse Collin | 1 | -1/+1 | |
2008-01-15 | Added precomputed range coder probability price table. | Lasse Collin | 7 | -17/+153 | |
2008-01-14 | Remove RC_BUFFER_SIZE from lzma_encoder_private.h | Lasse Collin | 1 | -2/+4 | |
and replace it with a sanity check. | |||||
2008-01-14 | Major changes to LZ encoder, LZMA encoder, and range encoder. | Lasse Collin | 4 | -140/+206 | |
These changes implement support for LZMA_SYNC_FLUSH in LZMA encoder, and move the temporary buffer needed by range encoder from lzma_range_encoder structure to lzma_lz_encoder. | |||||
2008-01-14 | Added one assert() to process.c of the command line tool. | Lasse Collin | 1 | -0/+1 | |
2008-01-14 | Don't use coder->lz.stream_end_was_reached in assertions | Lasse Collin | 1 | -2/+0 | |
in match_c.h. | |||||
2008-01-14 | In lzma_read_match_distances(), don't use | Lasse Collin | 1 | -3/+3 | |
coder->lz.stream_end_was_reached. That variable will be removed, and the check isn't required anyway. Rearrange the check so that it doesn't make one to think that there could be an integer overflow. | |||||
2008-01-14 | Small LZMA_SYNC_FLUSH fixes to Block and Single-Stream encoders. | Lasse Collin | 2 | -2/+3 | |
2008-01-14 | More fixes to LZMA decoder's flush marker handling. | Lasse Collin | 1 | -22/+30 | |
2008-01-10 | Eliminate lzma_lz_encoder.must_move_pos. It's needed | Lasse Collin | 2 | -8/+2 | |
only in one place which isn't performance criticial. | |||||
2008-01-09 | Define HAVE_ASM_X86 when x86 assembler optimizations are | Lasse Collin | 1 | -1/+4 | |
used. This #define will be useful for inline assembly. | |||||
2008-01-09 | Added good-single-none-empty_3.lzma and | Lasse Collin | 3 | -0/+6 | |
bad-single-none-empty.lzma. | |||||
2008-01-08 | Take advantage of return_if_error() in block_decoder.c. | Lasse Collin | 1 | -16/+7 | |
2008-01-08 | Updated tests/files/README. | Lasse Collin | 1 | -6/+9 | |
2008-01-08 | Added test files with empty Compressed Data. | Lasse Collin | 4 | -0/+6 | |
2008-01-08 | Fix decoding of Blocks that have only Block Header. | Lasse Collin | 1 | -23/+14 | |
2008-01-08 | Added good-single-subblock_implicit.lzma. | Lasse Collin | 2 | -0/+2 | |
2008-01-08 | Disable CRC32 from Block Headers when --check=none | Lasse Collin | 1 | -1/+1 | |
has been specified. | |||||
2008-01-08 | Fixed encoding of empty files. Arguments to is_size_valid() | Lasse Collin | 1 | -1/+1 | |
were in wrong order in block_encoder.c. | |||||
2008-01-08 | Added a few test files. | Lasse Collin | 6 | -3/+18 | |
2008-01-08 | Avoid using ! in test_files.sh, because that doesn't work | Lasse Collin | 1 | -1/+3 | |
with some ancient /bin/sh versions. | |||||
2008-01-08 | More pre-C99 inttypes.h compatibility fixes. Now the code | Lasse Collin | 5 | -29/+6 | |
should work even if the system has no inttypes.h. | |||||
2008-01-07 | Updated fi.po although it's currently pretty much crap. | Lasse Collin | 1 | -6/+6 | |
2008-01-07 | Test for $GCC = yes instead of if it is non-empty. This | Lasse Collin | 1 | -1/+1 | |
way it is possible to use ac_cv_c_compiler_gnu=no to force configure to think it is using non-GNU C compiler. | |||||
2008-01-07 | Added test_files.sh to tests/Makefile.am so it gets | Lasse Collin | 1 | -1/+1 | |
included in the tarball with "make dist". | |||||
2008-01-07 | Cosmetic edit to test_files.sh. | Lasse Collin | 1 | -2/+2 | |
2008-01-07 | Added tests/files/README. | Lasse Collin | 1 | -0/+108 | |
2008-01-07 | Tell in COPYING that everything in tests/files is | Lasse Collin | 1 | -1/+2 | |
public domain. | |||||
2008-01-07 | Cleaned up the tests/files directory. | Lasse Collin | 3 | -0/+0 | |
2008-01-07 | Added test_files.sh to test decoding of the files in | Lasse Collin | 2 | -1/+43 | |
the tests/files directory. It doesn't test the malicious files yet. | |||||
2008-01-07 | Updated README regarding the assembler optimizations. | Lasse Collin | 1 | -5/+5 | |
2008-01-07 | Updated THANKS. | Lasse Collin | 1 | -0/+1 | |
2008-01-06 | Cosmetic changes to configure.ac. | Lasse Collin | 1 | -8/+6 | |
2008-01-06 | Automatically disable assembler code on Darwin x86. | Lasse Collin | 1 | -2/+15 | |
Darwin has different ABI than GNU+Linux and Solaris, thus the assembler code doesn't assemble on Darwin. | |||||
2008-01-06 | With printf(), use PRIu64 with a cast to uint64_t instead | Lasse Collin | 2 | -8/+11 | |
of %zu, because some pre-C99 libc versions don't support %zu. | |||||
2008-01-06 | Introduced compatibility with systems that have pre-C99 | Lasse Collin | 13 | -35/+106 | |
or no inttypes.h. This is useful when the compiler has good enough support for C99, but libc headers don't. Changed liblzma API so that sys/types.h and inttypes.h have to be #included before #including lzma.h. On systems that don't have C99 inttypes.h, it's the problem of the applications to provide the required types and macros before #including lzma.h. If lzma.h defined the missing types and macros, it could conflict with third-party applications whose configure has detected that the types are missing and defined them in config.h already. An alternative would have been introducing lzma_uint32 and similar types, but that would just be an extra pain on modern systems. | |||||
2008-01-05 | Fix typo in comment (INT64_MAX -> UINT64_MAX). | Lasse Collin | 1 | -1/+1 | |
2008-01-05 | Rearranged testing of GCC-specific flags. | Lasse Collin | 1 | -10/+23 | |
2008-01-05 | Another bug fix for flush marker detection. | Lasse Collin | 1 | -1/+9 | |
2008-01-04 | Fix stupid bugs in flush marker detection. | Lasse Collin | 1 | -3/+4 | |
2008-01-04 | Added support for flush marker, which will be in files | Lasse Collin | 2 | -117/+104 | |
that use LZMA_SYNC_FLUSH with encoder (not implemented yet). This is a new feature in the raw LZMA format, which isn't supported by old decoders. This shouldn't be a problem in practice, since lzma_alone_encoder() will not allow LZMA_SYNC_FLUSH, and thus not allow creating files on decodable with old decoders. Made lzma_decoder.c to require tab width of 4 characters if one wants to fit the code in 80 columns. This makes the code easier to read. | |||||
2008-01-04 | Moved range decoder initialization (reading the first | Lasse Collin | 2 | -63/+66 | |
five input bytes) from LZMA decoder to range decoder header. Did the same for decoding of direct bits. | |||||
2007-12-14 | Added a note to README that --disable-assembler | Lasse Collin | 1 | -0/+4 | |
must be used on Darwin. | |||||
2007-12-14 | Use the filename suffix .S instead of .s for assembler files | Lasse Collin | 3 | -2/+2 | |
so that the preprocessor removes the /* */ style comments, which are not supported by some non-GNU assemblers (Solaris) that otherwise work with this code. | |||||
2007-12-14 | Fixed wrong symbol name in crc64_x86.s. | Lasse Collin | 1 | -1/+1 | |
2007-12-14 | Use .globl instead of .global in x86 assembler code for | Lasse Collin | 2 | -2/+2 | |
better portability. Still needs fixing the commenting. | |||||
2007-12-13 | Fixed a few short options that take an argument. | Lasse Collin | 1 | -1/+1 | |
short_opts[] was missing colons to indicate required argument. Thanks to Fabio Pedretti for the bug report. | |||||
2007-12-11 | Removed uncompressed size tracking from Delta encoder too. | Lasse Collin | 1 | -18/+3 | |
2007-12-11 | Remove uncompressed size tracking from the filter encoders. | Lasse Collin | 3 | -80/+12 | |
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-11 | Get rid of no-NLS gnulib. I don't know how to get it | Lasse Collin | 3 | -11/+5 | |
working with Automake. People who want smaller lzmadec should use --disable-nls on non-GNU systems. | |||||
2007-12-11 | Fixed a typo in tests/Makefile.am which prevented | Lasse Collin | 1 | -1/+1 | |
building the tests if gnulib was needed. | |||||
2007-12-11 | Fixed wrong type of flags_size in Subblock encoder. | Lasse Collin | 1 | -1/+1 | |
2007-12-10 | Bumped version number to 4.42.3alpha. | Lasse Collin | 2 | -2/+2 | |
2007-12-10 | Disabled some unneeded warnings and made "make dist" work.larhzu/v4.42.2alpha | Lasse Collin | 3 | -32/+33 | |
2007-12-09 | Added LZMA_SYNC_FLUSH support to the Copy filter. | Lasse Collin | 1 | -35/+57 | |
2007-12-09 | Added missing LZMA_API to the C versions of the CRC functions. | Lasse Collin | 2 | -2/+2 | |
The x86 assembler versions were already OK. | |||||
2007-12-09 | * tests/test_block_header.c (test3): Remove duplicate initializer. | Jim Meyering | 2 | -2/+1 | |
2007-12-09 | Take advantage of return_if_error() macro in more places. | Lasse Collin | 7 | -138/+63 | |
Cleaned Subblock filter's initialization code too. | |||||
2007-12-09 | Added a bunch of .lzma test files. | Lasse Collin | 17 | -0/+0 | |
2007-12-09 | Re-enabled the security checks in Subblock decoder | Lasse Collin | 1 | -3/+3 | |
that were disabled for debugging reasons. | |||||
2007-12-09 | Fixed the tests to build with -Werror. | Lasse Collin | 6 | -12/+12 | |
2007-12-09 | Imported to git. | Lasse Collin | 240 | -0/+42513 | |