Lasse Collin
61dc82f3e3
Added the debug directory and the first debug tool
...
(sync_flush). These tools are not built unless the
user runs "make" in the debug directory.
2008-01-18 20:18:08 +02:00
Lasse Collin
0ae3208db9
Added test files to test usage of flush marker in LZMA.
2008-01-18 20:13:00 +02:00
Lasse Collin
ab5feaf1fc
Fix LZMA_SYNC_FLUSH handling in LZ and LZMA encoders.
...
That code is now almost completely in LZ coder, where
it can be shared with other LZ77-based algorithms in
future.
2008-01-18 20:02:52 +02:00
Lasse Collin
079c4f7fc2
Don't add -g to CFLAGS when --enable-debug is specified.
...
It's the job of the user to put that in CFLAGS.
2008-01-18 17:21:24 +02:00
Lasse Collin
61d1784d8f
Set stdin and stdout to binary mode on Windows. This patch is
...
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 14:17:37 +02:00
Lasse Collin
c9cba97691
Added test_compress.sh and bunch of files needed by it.
...
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-18 00:50:29 +02:00
Lasse Collin
33be3c0e24
Subblock decoder: Don't exit the main loop in decode_buffer()
...
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 18:56:53 +02:00
Lasse Collin
b254bd97b1
Fix wrong too small size of argument unfiltered_max
...
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 17:39:42 +02:00
Lasse Collin
8f5794c8f1
Added --delta to the output of "lzma --help".
2008-01-17 17:27:45 +02:00
Lasse Collin
f88590e001
Fix Subblock docoder: If Subblock filter was used with known
...
Uncompressed Size, and the last output byte was from RLE,
the code didn't stop decoding as it should have done.
2008-01-17 13:14:20 +02:00
Lasse Collin
bc0b945ca3
Tiny non-technical edits to file-format.txt.
2008-01-16 16:33:37 +02:00
Lasse Collin
7599bb7064
Plugged a memory leak in stream_decoder.c.
2008-01-16 14:48:04 +02:00
Lasse Collin
0b58153931
Added memory leak detection to lzmadec.c.
2008-01-16 14:47:27 +02:00
Lasse Collin
5b5b13c7bb
Added lzma_memlimit_count().
2008-01-16 14:46:50 +02:00
Lasse Collin
19389f2b82
Added ARRAY_SIZE(array) macro.
2008-01-16 14:31:44 +02:00
Lasse Collin
9bc33a54cb
Make Uncompresed Size validation more strict
...
in alone_decoder.c.
2008-01-16 13:27:03 +02:00
Lasse Collin
01d71d60b7
Free the allocated memory in lzmadec if debugging is
...
enabled. This should make it possible to detect possible
memory leaks with Valgrind.
2008-01-15 17:46:59 +02:00
Lasse Collin
8235e6e5b2
Fix memory leaks from test_block_header.c.
2008-01-15 16:25:38 +02:00
Lasse Collin
f10fc6a69d
Use fastpos.h when encoding LZMA dictionary size in
...
Filter Flags encoder.
2008-01-15 14:23:35 +02:00
Lasse Collin
e5728142a2
Revised the fastpos code. It now uses the slightly faster
...
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 14:02:22 +02:00
Lasse Collin
10437b5b56
Added bsr.h.
2008-01-15 13:32:13 +02:00
Lasse Collin
f3c88e8b8d
Fixed assembler detection in configure.ac, and added
...
detection for x86_64.
2008-01-15 13:29:14 +02:00
Lasse Collin
54ec204f58
Omit invalid space from printf() format string
...
in price_table_gen.c.
2008-01-15 12:20:41 +02:00
Lasse Collin
01b4b19f49
Removed a few unused macros from lzma_common.h.
2008-01-15 09:54:34 +02:00
Lasse Collin
19bd7f3cf2
Fix a typo in lzma_encoder.c.
2008-01-15 08:37:42 +02:00
Lasse Collin
9f9b198301
Convert bittree_get_price() and bittree_reverse_get_price()
...
from macros to inline functions.
2008-01-15 08:36:25 +02:00
Lasse Collin
78e85cb1a7
Fix CRC code in case --enable-small is used.
2008-01-15 07:44:59 +02:00
Lasse Collin
949d4346e2
Fix typo in test_index.c.
2008-01-15 07:41:39 +02:00
Lasse Collin
d13d693155
Added precomputed range coder probability price table.
2008-01-15 07:40:21 +02:00
Lasse Collin
362dc3843b
Remove RC_BUFFER_SIZE from lzma_encoder_private.h
...
and replace it with a sanity check.
2008-01-14 13:42:43 +02:00
Lasse Collin
e22b37968d
Major changes to LZ encoder, LZMA encoder, and range encoder.
...
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 13:39:54 +02:00
Lasse Collin
b59ef39737
Added one assert() to process.c of the command line tool.
2008-01-14 13:34:29 +02:00
Lasse Collin
9547e734a0
Don't use coder->lz.stream_end_was_reached in assertions
...
in match_c.h.
2008-01-14 12:09:52 +02:00
Lasse Collin
3e09e1c058
In lzma_read_match_distances(), don't use
...
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 12:08:02 +02:00
Lasse Collin
a670fec802
Small LZMA_SYNC_FLUSH fixes to Block and Single-Stream encoders.
2008-01-14 11:56:41 +02:00
Lasse Collin
3599dba957
More fixes to LZMA decoder's flush marker handling.
2008-01-14 11:54:56 +02:00
Lasse Collin
f73c2ab607
Eliminate lzma_lz_encoder.must_move_pos. It's needed
...
only in one place which isn't performance criticial.
2008-01-10 17:13:42 +02:00
Lasse Collin
382808514a
Define HAVE_ASM_X86 when x86 assembler optimizations are
...
used. This #define will be useful for inline assembly.
2008-01-09 20:05:57 +02:00
Lasse Collin
0e70fbe403
Added good-single-none-empty_3.lzma and
...
bad-single-none-empty.lzma.
2008-01-09 12:06:46 +02:00
Lasse Collin
379fbbe84d
Take advantage of return_if_error() in block_decoder.c.
2008-01-08 23:11:59 +02:00
Lasse Collin
97d5fa8207
Updated tests/files/README.
2008-01-08 23:10:57 +02:00
Lasse Collin
3bb9bb3109
Added test files with empty Compressed Data.
2008-01-08 23:05:40 +02:00
Lasse Collin
7054c5f588
Fix decoding of Blocks that have only Block Header.
2008-01-08 22:58:42 +02:00
Lasse Collin
753e4d95cd
Added good-single-subblock_implicit.lzma.
2008-01-08 22:27:46 +02:00
Lasse Collin
faeac7b7ac
Disable CRC32 from Block Headers when --check=none
...
has been specified.
2008-01-08 18:50:30 +02:00
Lasse Collin
a751126dbb
Fixed encoding of empty files. Arguments to is_size_valid()
...
were in wrong order in block_encoder.c.
2008-01-08 13:36:29 +02:00
Lasse Collin
9080267603
Added a few test files.
2008-01-08 13:35:36 +02:00
Lasse Collin
b4943ccf73
Avoid using ! in test_files.sh, because that doesn't work
...
with some ancient /bin/sh versions.
2008-01-08 12:29:58 +02:00
Lasse Collin
e2417b2b91
More pre-C99 inttypes.h compatibility fixes. Now the code
...
should work even if the system has no inttypes.h.
2008-01-08 00:48:30 +02:00
Lasse Collin
5d227e51c2
Updated fi.po although it's currently pretty much crap.
2008-01-07 23:25:32 +02:00