Lasse Collin [Fri, 28 Nov 2008 10:00:48 +0000 (12:00 +0200)]
Tested using COLUMNS environment variable to avoid broken
progress indicator but since COLUMNS isn't usually available,
the code was left commented out.
Lasse Collin [Thu, 27 Nov 2008 17:28:59 +0000 (19:28 +0200)]
Cleanups to message.c.
Lasse Collin [Tue, 25 Nov 2008 00:37:47 +0000 (02:37 +0200)]
Remove the nowadays unneeded memory limitting malloc() wrapper.
Lasse Collin [Sun, 23 Nov 2008 13:09:03 +0000 (15:09 +0200)]
VLI encoder and decoder cleanups. Made encoder return
LZMA_PROG_ERROR in single-call mode if there's no output
space.
Lasse Collin [Sat, 22 Nov 2008 15:44:33 +0000 (17:44 +0200)]
Typo fix
Lasse Collin [Thu, 20 Nov 2008 20:59:10 +0000 (22:59 +0200)]
Support NetBSD's errno for O_NOFOLLOW.
Lasse Collin [Thu, 20 Nov 2008 16:05:52 +0000 (18:05 +0200)]
Build xzdec and lzmadec from xzdec.c. xzdec supports only .xz
files and lzmadec only .lzma files.
Lasse Collin [Thu, 20 Nov 2008 09:01:29 +0000 (11:01 +0200)]
Minor cleanups to xzdec.
Lasse Collin [Wed, 19 Nov 2008 21:55:22 +0000 (23:55 +0200)]
Added missing check for uint16_t.
Lasse Collin [Wed, 19 Nov 2008 21:52:24 +0000 (23:52 +0200)]
Renamed lzma to xz and lzmadec to xzdec. We create symlinks
lzma, unlzma, and lzcat in "make install" for backwards
compatibility with LZMA Utils 4.32.x; I'm not sure if this
should be the default though.
Lasse Collin [Wed, 19 Nov 2008 18:46:52 +0000 (20:46 +0200)]
Oh well, big messy commit again. Some highlights:
- 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
Lasse Collin [Thu, 9 Oct 2008 08:12:29 +0000 (11:12 +0300)]
Fixed the test that should have been fixed as part
of
1e8e4fd1f3e50129b4541406ad765d2aa1233943.
Lasse Collin [Tue, 7 Oct 2008 13:42:18 +0000 (16:42 +0300)]
Fixed some help messages.
Lasse Collin [Tue, 7 Oct 2008 06:40:31 +0000 (09:40 +0300)]
Made the preset numbering more logical in liblzma API.
Lasse Collin [Fri, 3 Oct 2008 16:36:09 +0000 (19:36 +0300)]
Removed fi from po/LINGUAS.
Lasse Collin [Fri, 3 Oct 2008 04:06:48 +0000 (07:06 +0300)]
Fixed suffix handling with --format=raw.
Lasse Collin [Thu, 2 Oct 2008 19:51:46 +0000 (22:51 +0300)]
Initial changes to change the suffix of the new format to .xz.
This also fixes a bug related to --suffix option. Some issues
with suffixes with --format=raw were not fixed.
Lasse Collin [Tue, 30 Sep 2008 14:43:55 +0000 (17:43 +0300)]
Renamed the test files from .lzma suffix to .xz suffix.
Lasse Collin [Tue, 30 Sep 2008 10:57:44 +0000 (13:57 +0300)]
Fixed Stream decoder to actually use the first_stream variable.
Lasse Collin [Tue, 30 Sep 2008 10:56:57 +0000 (13:56 +0300)]
Added one more test file.
Lasse Collin [Tue, 30 Sep 2008 10:34:07 +0000 (13:34 +0300)]
Fixed uninitialized variable in Stream decoder.
Lasse Collin [Tue, 30 Sep 2008 10:27:28 +0000 (13:27 +0300)]
Added two test files.
Lasse Collin [Sat, 27 Sep 2008 20:49:24 +0000 (23:49 +0300)]
Fix conflicting Subblock helper filter's ID.
Lasse Collin [Sat, 27 Sep 2008 20:37:13 +0000 (23:37 +0300)]
Changed magic bytes to match the updated spec. Filename
suffix wasn't changed yet.
Lasse Collin [Sat, 27 Sep 2008 20:16:09 +0000 (23:16 +0300)]
Remove po/fi.po since I'm not keeping it updated for now.
Lasse Collin [Sat, 27 Sep 2008 20:13:54 +0000 (23:13 +0300)]
Fix also test_compress.sh.
Lasse Collin [Sat, 27 Sep 2008 20:01:15 +0000 (23:01 +0300)]
Fixed compilation of test_filter_flags.c, which was broken by
1dcecfb09b55157b8653d747963069c8bed74f04.
Lasse Collin [Sat, 27 Sep 2008 16:11:02 +0000 (19:11 +0300)]
Updated file format specification. It changes the suffix
of the new format to .xz and removes the recently added
LZMA filter.
Lasse Collin [Sat, 27 Sep 2008 16:09:21 +0000 (19:09 +0300)]
Some API changes, bug fixes, cleanups etc.
Lasse Collin [Sat, 27 Sep 2008 08:28:49 +0000 (11:28 +0300)]
Added 7z2lzma.bash.
Lasse Collin [Wed, 17 Sep 2008 19:11:39 +0000 (22:11 +0300)]
Miscellaneous LZ and LZMA encoder cleanups
Lasse Collin [Sat, 13 Sep 2008 10:54:00 +0000 (13:54 +0300)]
LZ decoder cleanup
Lasse Collin [Sat, 13 Sep 2008 09:10:43 +0000 (12:10 +0300)]
Renamed constants:
- LZMA_VLI_VALUE_MAX -> LZMA_VLI_MAX
- LZMA_VLI_VALUE_UNKNOWN -> LZMA_VLI_UNKNOWN
- LZMA_HEADER_ERRRO -> LZMA_OPTIONS_ERROR
Lasse Collin [Fri, 12 Sep 2008 19:41:40 +0000 (22:41 +0300)]
Improved the Stream Flags handling API.
Lasse Collin [Thu, 11 Sep 2008 20:10:44 +0000 (23:10 +0300)]
Simplified debug/known_sizes.c to match the relaxed
requirements of Block encoder.
Lasse Collin [Thu, 11 Sep 2008 20:09:24 +0000 (23:09 +0300)]
Remove a check from Block encoder that should have already
been removed in
2ba01bfa755e47ff6af84a978e3c8d63d7d2775e.
Lasse Collin [Thu, 11 Sep 2008 17:02:38 +0000 (20:02 +0300)]
Remove bogus #includes.
Lasse Collin [Thu, 11 Sep 2008 07:49:14 +0000 (10:49 +0300)]
Updated THANKS.
Lasse Collin [Thu, 11 Sep 2008 07:48:12 +0000 (10:48 +0300)]
Fix a compiler error on big endian systems that don't
support unaligned memory access.
Lasse Collin [Thu, 11 Sep 2008 07:46:14 +0000 (10:46 +0300)]
Silence a compiler warning.
Lasse Collin [Wed, 10 Sep 2008 16:16:32 +0000 (19:16 +0300)]
Bumped version to 4.999.6alpha.
Lasse Collin [Wed, 10 Sep 2008 14:02:00 +0000 (17:02 +0300)]
Check for LZMA_FILTER_RESERVED_START in filter_flags_encoder.c.
Use LZMA_PROG_ERROR instead of LZMA_HEADER_ERROR if the Filter ID
is in the reserved range. This allows Block Header encoder to
detect unallowed Filter IDs, which is good for Stream encoder.
Lasse Collin [Wed, 10 Sep 2008 13:44:32 +0000 (16:44 +0300)]
Filter handling cleanups
Lasse Collin [Tue, 9 Sep 2008 21:33:00 +0000 (00:33 +0300)]
Comments
Lasse Collin [Tue, 9 Sep 2008 21:27:02 +0000 (00:27 +0300)]
Cleaned up Block encoder and moved the no longer shared
code from block_private.h to block_decoder.c. Now the Block
encoder doesn't need compressed_size and uncompressed_size
from lzma_block structure to be initialized.
Lasse Collin [Sun, 7 Sep 2008 07:23:13 +0000 (10:23 +0300)]
Changed Filter ID of LZMA to 0x20.
Lasse Collin [Sat, 6 Sep 2008 20:42:50 +0000 (23:42 +0300)]
Comments
Lasse Collin [Sat, 6 Sep 2008 12:14:30 +0000 (15:14 +0300)]
Some API cleanups
Lasse Collin [Thu, 4 Sep 2008 08:53:06 +0000 (11:53 +0300)]
Added support for raw encoding and decoding to the command
line tool, and made various cleanups. --lzma was renamed to
--lzma1 to prevent people from accidentally using LZMA when
they want LZMA2.
Lasse Collin [Thu, 4 Sep 2008 07:39:15 +0000 (10:39 +0300)]
Don't allow LZMA_SYNC_FLUSH with decoders anymore. There's
simply nothing that would use it. Allow LZMA_FINISH to the
decoders, which will usually ignore it (auto decoder and
Stream decoder being exceptions).
Lasse Collin [Wed, 3 Sep 2008 14:06:25 +0000 (17:06 +0300)]
Minor updates to the file format specification.
Lasse Collin [Tue, 2 Sep 2008 16:33:32 +0000 (19:33 +0300)]
Command line tool fixes
Lasse Collin [Tue, 2 Sep 2008 16:31:42 +0000 (19:31 +0300)]
Auto decoder cleanup
Lasse Collin [Tue, 2 Sep 2008 16:12:12 +0000 (19:12 +0300)]
Updated auto decoder to handle LZMA_CONCATENATED when decoding
LZMA_Alone files. Decoding of concatenated LZMA_Alone files is
intentionally not supported, so it is better to put this in
auto decoder than LZMA_Alone decoder.
Lasse Collin [Tue, 2 Sep 2008 11:56:52 +0000 (14:56 +0300)]
Stream decoder cleanups
Lasse Collin [Tue, 2 Sep 2008 08:45:39 +0000 (11:45 +0300)]
Some fixes to LZ encoder.
Lasse Collin [Sun, 31 Aug 2008 08:47:01 +0000 (11:47 +0300)]
Fix wrong pointer calculation in LZMA encoder.
Lasse Collin [Thu, 28 Aug 2008 19:53:15 +0000 (22:53 +0300)]
Sort of garbage collection commit. :-| Many things are still
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.
Lasse Collin [Fri, 20 Jun 2008 14:16:32 +0000 (17:16 +0300)]
Fix test_filter_flags to match the new restriction of lc+lp.
Lasse Collin [Fri, 20 Jun 2008 13:19:54 +0000 (16:19 +0300)]
Remove some redundant code from LZMA encoder.
Lasse Collin [Thu, 19 Jun 2008 13:35:08 +0000 (16:35 +0300)]
Add limit of lc + lp <= 4. Now we can allocate the
literal coder as part of the main LZMA encoder or
decoder structure.
Make the LZMA decoder to rely on the current internal API
to free the allocated memory in case an error occurs.
Lasse Collin [Wed, 18 Jun 2008 18:45:19 +0000 (21:45 +0300)]
Comments
Lasse Collin [Wed, 18 Jun 2008 16:19:02 +0000 (19:19 +0300)]
Delete old code that was supposed to be already deleted
from test_block_header.c.
Lasse Collin [Wed, 18 Jun 2008 15:02:10 +0000 (18:02 +0300)]
Update the code to mostly match the new simpler file format
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.
Lasse Collin [Tue, 17 Jun 2008 12:03:46 +0000 (15:03 +0300)]
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.
Lasse Collin [Wed, 11 Jun 2008 18:42:47 +0000 (21:42 +0300)]
Fix uninitialized variable in LZMA encoder. This was
introduced in
369f72fd656f537a9a8e06f13e6d0d4c242be22f.
Lasse Collin [Wed, 11 Jun 2008 12:08:44 +0000 (15:08 +0300)]
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.
Lasse Collin [Tue, 10 Jun 2008 17:36:12 +0000 (20:36 +0300)]
s/decompressed/compressed/ in the command line tool's
error message.
Lasse Collin [Sun, 1 Jun 2008 09:48:17 +0000 (12:48 +0300)]
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.
Lasse Collin [Fri, 30 May 2008 08:53:41 +0000 (11:53 +0300)]
Typo fixes from meyering.
Lasse Collin [Sun, 11 May 2008 11:24:42 +0000 (14:24 +0300)]
Remove support for pre-C89 libc versions that lack memcpy,
memmove, and memset.
Lasse Collin [Sun, 11 May 2008 11:17:21 +0000 (14:17 +0300)]
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().
Lasse Collin [Tue, 6 May 2008 12:15:07 +0000 (15:15 +0300)]
Bunch of grammar fixes from meyering.
Lasse Collin [Tue, 6 May 2008 10:41:05 +0000 (13:41 +0300)]
Typo fix
Lasse Collin [Sun, 4 May 2008 19:29:27 +0000 (22:29 +0300)]
Don't print an error message on broken pipe unless --verbose
is used.
Lasse Collin [Wed, 30 Apr 2008 19:16:17 +0000 (22:16 +0300)]
Fix a crash with --format=alone if other filters than LZMA
are specified on the command line.
Lasse Collin [Mon, 28 Apr 2008 14:08:27 +0000 (17:08 +0300)]
Updated THANKS.
Lasse Collin [Mon, 28 Apr 2008 14:06:34 +0000 (17:06 +0300)]
Fixed wrong spelling "limitter" to "limiter". This affects
liblzma's API.
Lasse Collin [Fri, 25 Apr 2008 12:39:50 +0000 (15:39 +0300)]
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.
Lasse Collin [Fri, 25 Apr 2008 10:58:56 +0000 (13:58 +0300)]
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.
Lasse Collin [Fri, 25 Apr 2008 10:41:29 +0000 (13:41 +0300)]
Added memusage.c to debug directory.
Lasse Collin [Fri, 25 Apr 2008 10:32:35 +0000 (13:32 +0300)]
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.
Lasse Collin [Thu, 24 Apr 2008 17:25:39 +0000 (20:25 +0300)]
Fix a memory leak by calling free(extra->data) in
lzma_extra_free().
Lasse Collin [Thu, 24 Apr 2008 17:23:05 +0000 (20:23 +0300)]
Make unlzma and lzcat symlinks.
Lasse Collin [Thu, 24 Apr 2008 17:20:27 +0000 (20:20 +0300)]
Fixed a bug in command line option parsing.
Lasse Collin [Thu, 24 Apr 2008 17:19:20 +0000 (20:19 +0300)]
Added two assert()s.
Lasse Collin [Thu, 24 Apr 2008 16:22:53 +0000 (19:22 +0300)]
Switch to uint16_t as the type of range coder probabilities.
Lasse Collin [Thu, 24 Apr 2008 15:39:57 +0000 (18:39 +0300)]
Fix wrong return type (uint32_t -> bool).
Lasse Collin [Thu, 24 Apr 2008 15:38:00 +0000 (18:38 +0300)]
Fix data corruption in LZ encoder with LZMA_SYNC_FLUSH.
Lasse Collin [Thu, 24 Apr 2008 14:33:01 +0000 (17:33 +0300)]
Fix fastpos problem in Makefile.am when built with --enable-small.
Lasse Collin [Thu, 24 Apr 2008 14:30:51 +0000 (17:30 +0300)]
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.
Lasse Collin [Mon, 24 Mar 2008 14:38:40 +0000 (16:38 +0200)]
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.
Lasse Collin [Sat, 22 Mar 2008 12:39:34 +0000 (14:39 +0200)]
Take advantage of arithmetic right shift in range decoder.
Lasse Collin [Sat, 22 Mar 2008 12:18:29 +0000 (14:18 +0200)]
Added autoconf check to detect if we can use arithmetic
right shift for optimizations.
Lasse Collin [Fri, 21 Mar 2008 23:26:36 +0000 (01:26 +0200)]
Update a comment to use the variable name rep_len_decoder.
(And BTW, the previous commit actually did change the
program logic slightly.)
Lasse Collin [Fri, 21 Mar 2008 22:57:33 +0000 (00:57 +0200)]
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.
Lasse Collin [Fri, 14 Mar 2008 21:16:11 +0000 (23:16 +0200)]
Fix data corruption in LZMA encoder. Note that this bug was
specific to liblzma and was *not* present in LZMA SDK.
Lasse Collin [Fri, 14 Mar 2008 19:32:37 +0000 (21:32 +0200)]
Fix a comment API header.
Lasse Collin [Wed, 12 Mar 2008 21:14:50 +0000 (23:14 +0200)]
Make lzma_stream.next_in const. Let's see if anyone complains.
Lasse Collin [Tue, 11 Mar 2008 13:35:34 +0000 (15:35 +0200)]
Apply a minor speed optimization to LZMA decoder.