Lasse Collin
bf6348d1a3
Update the file format specification draft. The new one is
...
a lot simpler than the previous versions, but it also means
that the existing code will change a lot.
2008-06-17 15:03:46 +03:00
Lasse Collin
803194ddd2
Fix uninitialized variable in LZMA encoder. This was
...
introduced in 369f72fd65
.
2008-06-11 21:42:47 +03:00
Lasse Collin
0ea98e52ba
Improve command line integer parsing a little in lzma and
...
lzmadec to make them accept also KiB in addition Ki etc.
Fix also memory usage information in lzmadec --help.
2008-06-11 15:08:44 +03:00
Lasse Collin
436fa5fae9
s/decompressed/compressed/ in the command line tool's
...
error message.
2008-06-10 20:36:12 +03:00
Lasse Collin
369f72fd65
Fix a buffer overflow in the LZMA encoder. It was due to my
...
misunderstanding of the code. There's no tiny fix for this
problem, so I also cleaned up the code in general.
This reduces the speed of the encoder 2-5 % in the fastest
compression mode ("lzma -1"). High compression modes should
have no noticeable performance difference.
This commit breaks things (especially LZMA_SYNC_FLUSH) but I
will fix them once the new format and LZMA2 has been roughly
implemented. Plain LZMA won't support LZMA_SYNC_FLUSH at all
and won't be supported in the new .lzma format. This may
change still but this is what it looks like now.
Support for known uncompressed size (that is, LZMA or LZMA2
without EOPM) is likely to go away. This means there will
be API changes.
2008-06-01 12:48:17 +03:00
Lasse Collin
e55e0e873c
Typo fixes from meyering.
2008-05-30 11:53:41 +03:00
Lasse Collin
ed6664146f
Remove support for pre-C89 libc versions that lack memcpy,
...
memmove, and memset.
2008-05-11 14:24:42 +03:00
Lasse Collin
b09464bf9a
Improved C99 compiler detection in configure.ac. It will
...
pass -std=gnu99 instead of -std=c99 to GCC now, but -pedantic
should still give warnings about GNU extensions like before
except with some special keywords like asm().
2008-05-11 14:17:21 +03:00
Lasse Collin
11de5d5267
Bunch of grammar fixes from meyering.
2008-05-06 15:15:07 +03:00
Lasse Collin
dc192b6343
Typo fix
2008-05-06 13:41:05 +03:00
Lasse Collin
944b62b932
Don't print an error message on broken pipe unless --verbose
...
is used.
2008-05-04 22:29:27 +03:00
Lasse Collin
8e074349e4
Fix a crash with --format=alone if other filters than LZMA
...
are specified on the command line.
2008-04-30 22:16:17 +03:00
Lasse Collin
2f361ac19b
Updated THANKS.
2008-04-28 17:08:27 +03:00
Lasse Collin
3be21fb12f
Fixed wrong spelling "limitter" to "limiter". This affects
...
liblzma's API.
2008-04-28 17:06:34 +03:00
Lasse Collin
beeb810608
Prevent LZ encoder from hanging with known uncompressed
...
size. The "fix" breaks LZMA_SYNC_FLUSH at end of stream
with known uncompressed size, but since it currently seems
likely that support for encoding with known uncompressed
size will go away anyway, I'm not fixing this problem now.
2008-04-25 15:39:50 +03:00
Lasse Collin
c324325f9f
Removed src/liblzma/common/sysdefs.h symlink, which was
...
annoying, because "make dist" put two copies of sysdefs.h
into the tarball instead of the symlink.
2008-04-25 13:58:56 +03:00
Lasse Collin
d3ba30243c
Added memusage.c to debug directory.
2008-04-25 13:41:29 +03:00
Lasse Collin
8f804c29aa
Bumped version number to 4.999.3alpha. It will become 5.0.0
...
once we have a stable release (won't be very soon). The
version number is no longer related to version of LZMA SDK.
Made some small Automake-related changes to toplevel
Makefile.am and configure.ac.
2008-04-25 13:32:35 +03:00
Lasse Collin
c99037ea10
Fix a memory leak by calling free(extra->data) in
...
lzma_extra_free().
2008-04-24 20:25:39 +03:00
Lasse Collin
22ba3b0b50
Make unlzma and lzcat symlinks.
2008-04-24 20:23:05 +03:00
Lasse Collin
17c36422d4
Fixed a bug in command line option parsing.
2008-04-24 20:20:27 +03:00
Lasse Collin
283f939974
Added two assert()s.
2008-04-24 20:19:20 +03:00
Lasse Collin
eb348a60b6
Switch to uint16_t as the type of range coder probabilities.
2008-04-24 19:22:53 +03:00
Lasse Collin
6c5306e312
Fix wrong return type (uint32_t -> bool).
2008-04-24 18:39:57 +03:00
Lasse Collin
712cfe3ebf
Fix data corruption in LZ encoder with LZMA_SYNC_FLUSH.
2008-04-24 18:38:00 +03:00
Lasse Collin
bc04486e36
Fix fastpos problem in Makefile.am when built with --enable-small.
2008-04-24 17:33:01 +03:00
Lasse Collin
7ab493924e
Use 64-bit integer as range encoder's cache size. This fixes a
...
theoretical data corruption, which should be very hard to trigger
even intentionally.
2008-04-24 17:30:51 +03:00
Lasse Collin
641998c3e1
Replaced the range decoder optimization that used arithmetic
...
right shift with as fast version that doesn't need
arithmetic right shift. Removed the related check from
configure.ac.
2008-03-24 16:38:40 +02:00
Lasse Collin
ad999efd27
Take advantage of arithmetic right shift in range decoder.
2008-03-22 14:39:34 +02:00
Lasse Collin
03e0e8a0d7
Added autoconf check to detect if we can use arithmetic
...
right shift for optimizations.
2008-03-22 14:18:29 +02:00
Lasse Collin
7521bbdc83
Update a comment to use the variable name rep_len_decoder.
...
(And BTW, the previous commit actually did change the
program logic slightly.)
2008-03-22 01:26:36 +02:00
Lasse Collin
63b74d000e
Demystified the "state" variable in LZMA code. Use the
...
word literal instead of char for better consistency.
There are still some names with _char instead of _literal
in lzma_optimum, these may be changed later.
Renamed length coder variables.
This commit doesn't change the program logic.
2008-03-22 00:57:33 +02:00
Lasse Collin
e6eb0a2675
Fix data corruption in LZMA encoder. Note that this bug was
...
specific to liblzma and was *not* present in LZMA SDK.
2008-03-14 23:16:11 +02:00
Lasse Collin
7d516f5129
Fix a comment API header.
2008-03-14 21:32:37 +02:00
Lasse Collin
748d6e4274
Make lzma_stream.next_in const. Let's see if anyone complains.
2008-03-12 23:14:50 +02:00
Lasse Collin
bfde3b24a5
Apply a minor speed optimization to LZMA decoder.
2008-03-11 15:35:34 +02:00
Lasse Collin
f310c50286
Initialize the last byte of the dictionary to zero so that
...
lz_get_byte(lz, 0) returns zero. This was broken by
1a3b218598
.
2008-03-11 15:17:16 +02:00
Lasse Collin
5ead36cf7f
Really fix the price count initialization.
2008-03-10 15:57:55 +02:00
Lasse Collin
d4d7feb83d
Updated THANKS.
2008-03-10 13:47:17 +02:00
Lasse Collin
0541c5ea63
Initialize align_price_count and match_price_count in
...
lzma_encoder_init.c. While we don't call
fill_distances_prices() and fill_align_prices() in
lzma_lzma_encoder_init(), we still need to initialize
these two variables so that the fill functions get
called in lzma_encoder_getoptimum.c in the beginning
of a stream.
2008-03-10 13:46:48 +02:00
Lasse Collin
596fa1fac7
Always initialize lz->temp_size in lz_decoder.c. temp_size did
...
get initialized as a side-effect after allocating a new decoder,
but not when the decoder was reused.
2008-03-10 13:44:29 +02:00
Lasse Collin
45e43e1695
Don't fill allocated memory with 0xFD when debugging is
...
enabled. It hides errors from Valgrind.
2008-03-10 13:41:25 +02:00
Lasse Collin
c0e19e0662
Remove two redundant validity checks from the LZMA decoder.
...
These are already checked elsewhere, so omitting these
gives (very) tiny speed up.
2008-02-28 10:24:31 +02:00
Lasse Collin
de74858062
Tiny clean up to file-format.txt.
2008-02-06 13:25:32 +02:00
Lasse Collin
1a3b218598
Don't memzero() the history buffer when initializing LZ
...
decoder. There's no danger of information leak here, so
it isn't required. Doing memzero() takes a lot of time
with large dictionaries, which could make it easier to
construct DoS attack to consume too much CPU time.
2008-02-02 14:51:06 +02:00
Lasse Collin
7e796e312b
Do uncompressed size validation in raw encoder. This way
...
it gets done for not only raw encoder, but also Block
and LZMA_Alone encoders.
2008-02-01 08:39:26 +02:00
Lasse Collin
7dd48578a3
Avoid unneeded function call in raw_common.c.
2008-02-01 08:32:05 +02:00
Lasse Collin
b596fac963
Updated THANKS.
2008-01-26 21:42:38 +02:00
Lasse Collin
e9f6e9c075
Added note.GNU-stack to x86 assembler files. It is needed
...
when using non-executable stack.
2008-01-26 21:40:23 +02:00
Lasse Collin
4c7ad179c7
Added api/lzma/easy.h. I had forgot to add this to the
...
git repo. Thanks to Stephan Kulow.
2008-01-26 19:12:50 +02:00