]> granicus.if.org Git - xz/log
xz
11 years agoWindows: Add Windows support to tuklib_cpucores().
Lasse Collin [Sat, 3 Aug 2013 10:52:58 +0000 (13:52 +0300)]
Windows: Add Windows support to tuklib_cpucores().

It is used for Cygwin too. I'm not sure if that is
a good or bad idea.

Thanks to Vincent Torri.

11 years agomacosx: separate liblzma package
Anders F Bjorklund [Fri, 2 Aug 2013 13:59:46 +0000 (15:59 +0200)]
macosx: separate liblzma package

11 years agomacosx: set minimum to leopard
Anders F Bjorklund [Fri, 2 Aug 2013 13:58:44 +0000 (15:58 +0200)]
macosx: set minimum to leopard

11 years agomove configurables into variables
Anders F Bjorklund [Sun, 7 Aug 2011 11:13:30 +0000 (13:13 +0200)]
move configurables into variables

11 years agoUpdate THANKS.
Lasse Collin [Mon, 15 Jul 2013 11:08:41 +0000 (14:08 +0300)]
Update THANKS.

11 years agoBuild: Fix the detection of missing CRC32.
Lasse Collin [Mon, 15 Jul 2013 11:08:02 +0000 (14:08 +0300)]
Build: Fix the detection of missing CRC32.

Thanks to Vincent Torri.

11 years agoxz: Add preliminary support for --flush-timeout=TIMEOUT.
Lasse Collin [Thu, 4 Jul 2013 11:18:46 +0000 (14:18 +0300)]
xz: Add preliminary support for --flush-timeout=TIMEOUT.

When --flush-timeout=TIMEOUT is used, xz will use
LZMA_SYNC_FLUSH if read() would block and at least
TIMEOUT milliseconds has elapsed since the previous flush.

This can be useful in realtime-like use cases where the
data is simultanously decompressed by another process
(possibly on a different computer). If new uncompressed
input data is produced slowly, without this option xz could
buffer the data for a long time until it would become
decompressible from the output.

If TIMEOUT is 0, the feature is disabled. This is the default.

This commit affects the compression side. Using xz for
the decompression side for the above purpose doesn't work
yet so well because there is quite a bit of input and
output buffering when decompressing.

The --long-help or man page were not updated yet.
The details of this feature may change.

11 years agoxz: Don't set src_eof=true after an I/O error because it's useless.
Lasse Collin [Thu, 4 Jul 2013 10:41:03 +0000 (13:41 +0300)]
xz: Don't set src_eof=true after an I/O error because it's useless.

11 years agoxz: Fix the test when to read more input.
Lasse Collin [Thu, 4 Jul 2013 10:25:11 +0000 (13:25 +0300)]
xz: Fix the test when to read more input.

Testing for end of file was no longer correct after full flushing
became possible with --block-size=SIZE and --block-list=SIZES.
There was no bug in practice though because xz just made a few
unneeded zero-byte reads.

11 years agoxz: Move some of the timing code into mytime.[hc].
Lasse Collin [Thu, 4 Jul 2013 09:51:57 +0000 (12:51 +0300)]
xz: Move some of the timing code into mytime.[hc].

This switches units from microseconds to milliseconds.

New clock_gettime(CLOCK_MONOTONIC) will be used if available.
There is still a fallback to gettimeofday().

11 years agoUpdate THANKS.
Lasse Collin [Mon, 1 Jul 2013 11:35:03 +0000 (14:35 +0300)]
Update THANKS.

11 years agoxz: Silence a warning seen with _FORTIFY_SOURCE=2.
Lasse Collin [Mon, 1 Jul 2013 11:34:11 +0000 (14:34 +0300)]
xz: Silence a warning seen with _FORTIFY_SOURCE=2.

Thanks to Christian Hesse.

11 years agoUpdate NEWS for 5.0.5.
Lasse Collin [Sun, 30 Jun 2013 16:40:11 +0000 (19:40 +0300)]
Update NEWS for 5.0.5.

11 years agoMan pages: Use similar syntax for synopsis as in xz.
Lasse Collin [Sun, 30 Jun 2013 15:02:27 +0000 (18:02 +0300)]
Man pages: Use similar syntax for synopsis as in xz.

The man pages of lzmainfo, xzmore, and xzdec had similar
constructs as the man page of xz had before the commit
eb6ca9854b8eb9fbf72497c1cf608d6b19d2d494. Eric S. Raymond
didn't mention these man pages in his bug report, but
it's nice to be consistent.

11 years agoxz: Use non-blocking I/O for the output file.
Lasse Collin [Sat, 29 Jun 2013 12:59:13 +0000 (15:59 +0300)]
xz: Use non-blocking I/O for the output file.

Now both reading and writing should be without
race conditions with signals.

They might still be signal handling issues left.
Signals are blocked during many operations to avoid
EINTR but it may cause problems e.g. if writing to
stderr blocks when trying to display an error message.

11 years agoxz: Fix return value type in io_write_buf().
Lasse Collin [Fri, 28 Jun 2013 20:56:17 +0000 (23:56 +0300)]
xz: Fix return value type in io_write_buf().

It didn't affect the behavior of the code since -1
becomes true anyway.

11 years agoxz: Use the self-pipe trick to avoid a race condition with signals.
Lasse Collin [Fri, 28 Jun 2013 20:48:05 +0000 (23:48 +0300)]
xz: Use the self-pipe trick to avoid a race condition with signals.

It is possible that a signal to set user_abort arrives right
before a blocking system call is made. In this case the call
may block until another signal arrives, while the wanted
behavior is to make xz clean up and exit as soon as possible.

After this commit, the race condition is avoided with the
input side which already uses non-blocking I/O. The output
side still uses blocking I/O and thus has the race condition.

11 years agoxz: Use non-blocking I/O for the input file.
Lasse Collin [Fri, 28 Jun 2013 19:51:02 +0000 (22:51 +0300)]
xz: Use non-blocking I/O for the input file.

11 years agoxz: Remove an outdated NetBSD-specific comment.
Lasse Collin [Fri, 28 Jun 2013 15:46:13 +0000 (18:46 +0300)]
xz: Remove an outdated NetBSD-specific comment.

Nowadays errno == EFTYPE is documented in open(2).

11 years agoxz: Fix error detection of fcntl(fd, F_SETFL, flags) calls.
Lasse Collin [Fri, 28 Jun 2013 15:09:47 +0000 (18:09 +0300)]
xz: Fix error detection of fcntl(fd, F_SETFL, flags) calls.

POSIX says that fcntl(fd, F_SETFL, flags) returns -1 on
error and "other than -1" on success. This is how it is
documented e.g. on OpenBSD too. On Linux, success with
F_SETFL is always 0 (at least accorinding to fcntl(2)
from man-pages 3.51).

11 years agoxz: Fix use of wrong variable in a fcntl() call.
Lasse Collin [Fri, 28 Jun 2013 14:36:47 +0000 (17:36 +0300)]
xz: Fix use of wrong variable in a fcntl() call.

Due to a wrong variable name, when writing a sparse file
to standard output, *all* file status flags were cleared
(to the extent the operating system allowed it) instead of
only clearing the O_APPEND flag. In practice this worked
fine in the common situations on GNU/Linux, but I didn't
check how it behaved elsewhere.

The original flags were still restored correctly. I still
changed the code to use a separate boolean variable to
indicate when the flags should be restored instead of
relying on a special value in stdout_flags.

11 years agoxz: Fix assertion related to posix_fadvise().
Lasse Collin [Fri, 28 Jun 2013 11:55:37 +0000 (14:55 +0300)]
xz: Fix assertion related to posix_fadvise().

Input file can be a FIFO or something else that doesn't
support posix_fadvise() so don't check the return value
even with an assertion. Nothing bad happens if the call
to posix_fadvise() fails.

11 years agoxz: Check the value of lzma_stream_flags.version in --list.
Lasse Collin [Wed, 26 Jun 2013 10:30:57 +0000 (13:30 +0300)]
xz: Check the value of lzma_stream_flags.version in --list.

It is a no-op for now, but if an old xz version is used
together with a newer liblzma that supports something new,
then this check becomes important and will stop the old xz
from trying to parse files that it won't understand.

11 years agoBuild: Require Automake 1.12 and use serial-tests option.
Lasse Collin [Wed, 26 Jun 2013 09:17:00 +0000 (12:17 +0300)]
Build: Require Automake 1.12 and use serial-tests option.

It should actually still work with Automake 1.10 if
the serial-tests option is removed. Automake 1.13 started
using parallel tests by default and the option to get
the old behavior isn't supported before 1.12.

At least for now, parallel tests don't improve anything
in XZ Utils but they hide the progress output from
test_compress.sh.

11 years agoUpdate THANKS.
Lasse Collin [Sun, 23 Jun 2013 15:59:13 +0000 (18:59 +0300)]
Update THANKS.

11 years agoliblzma: Avoid a warning about a shadowed variable.
Lasse Collin [Sun, 23 Jun 2013 15:57:23 +0000 (18:57 +0300)]
liblzma: Avoid a warning about a shadowed variable.

On Mac OS X wait() is declared in <sys/wait.h> that
we include one way or other so don't use "wait" as
a variable name.

Thanks to Christian Kujau.

11 years agoxz: Validate Uncompressed Size from Block Header in list.c.
Lasse Collin [Sun, 23 Jun 2013 14:36:47 +0000 (17:36 +0300)]
xz: Validate Uncompressed Size from Block Header in list.c.

This affects only "xz -lvv". Normal decompression with xz
already detected if Block Header and Index had mismatched
Uncompressed Size fields. So this just makes "xz -lvv"
show such files as corrupt instead of showing the
Uncompressed Size from Index.

11 years agoUpdate THANKS.
Lasse Collin [Fri, 21 Jun 2013 19:08:11 +0000 (22:08 +0300)]
Update THANKS.

11 years agoxz: Make the man page more friendly to doclifter.
Lasse Collin [Fri, 21 Jun 2013 19:04:45 +0000 (22:04 +0300)]
xz: Make the man page more friendly to doclifter.

Thanks to Eric S. Raymond.

11 years agoxz: A couple of man page fixes.
Lasse Collin [Fri, 21 Jun 2013 18:54:59 +0000 (21:54 +0300)]
xz: A couple of man page fixes.

Now the interaction of presets and custom filter chains
is described correctly. Earlier it contradicted itself.

Thanks to DevHC who reported these issues on IRC to me
on 2012-12-14.

11 years agoxz: Fix interaction between preset and custom filter chains.
Lasse Collin [Fri, 21 Jun 2013 18:50:26 +0000 (21:50 +0300)]
xz: Fix interaction between preset and custom filter chains.

There was somewhat illogical behavior when --extreme was
specified and mixed with custom filter chains.

Before this commit, "xz -9 --lzma2 -e" was equivalent
to "xz --lzma2". After it is equivalent to "xz -6e"
(all earlier preset options get forgotten when a custom
filter chain is specified and the default preset is 6
to which -e is applied). I find this less illogical.

This also affects the meaning of "xz -9e --lzma2 -7".
Earlier it was equivalent to "xz -7e" (the -e specified
before a custom filter chain wasn't forgotten). Now it
is "xz -7". Note that "xz -7e" still is the same as "xz -e7".

Hopefully very few cared about this in the first place,
so pretty much no one should even notice this change.

Thanks to Conley Moorhous.

11 years agoBuild: Use -Wvla with GCC if supported.
Lasse Collin [Sat, 27 Apr 2013 19:07:46 +0000 (22:07 +0300)]
Build: Use -Wvla with GCC if supported.

Variable-length arrays are mandatory in C99 but optional in C11.
The code doesn't currently use any VLAs and it shouldn't in the
future either to stay compatible with C11 without requiring any
optional C11 features.

11 years agoxzdec: Improve the --help message.
Lasse Collin [Mon, 15 Apr 2013 16:29:09 +0000 (19:29 +0300)]
xzdec: Improve the --help message.

The options are now ordered in the same order as in xz's help
message.

Descriptions were added to the options that are ignored.
I left them in parenthesis even if it looks a bit weird
because I find it easier to spot the ignored vs. non-ignored
options from the list that way.

11 years agoUpdate THANKS.
Lasse Collin [Fri, 5 Apr 2013 16:25:40 +0000 (19:25 +0300)]
Update THANKS.

11 years agoxzgrep: make the '-h' option to be --no-filename equivalent
Jeff Bastian [Wed, 3 Apr 2013 11:59:17 +0000 (13:59 +0200)]
xzgrep: make the '-h' option to be --no-filename equivalent

* src/scripts/xzgrep.in: Accept the '-h' option in argument parsing.

11 years agoliblzma: Be less picky in lzma_alone_decoder().
Lasse Collin [Sat, 23 Mar 2013 20:25:15 +0000 (22:25 +0200)]
liblzma: Be less picky in lzma_alone_decoder().

To avoid false positives when detecting .lzma files,
rare values in dictionary size and uncompressed size fields
were rejected. They will still be rejected if .lzma files
are decoded with lzma_auto_decoder(), but when using
lzma_alone_decoder() directly, such files will now be accepted.
Hopefully this is an OK compromise.

This doesn't affect xz because xz still has its own file
format detection code. This does affect lzmadec though.
So after this commit lzmadec will accept files that xz or
xz-emulating-lzma doesn't.

NOTE: lzma_alone_decoder() still won't decode all .lzma files
because liblzma's LZMA decoder doesn't support lc + lp > 4.

Reported here:
http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/7068827

11 years agoliblzma: Use lzma_block_buffer_bound64() in threaded encoder.
Lasse Collin [Sat, 23 Mar 2013 19:55:13 +0000 (21:55 +0200)]
liblzma: Use lzma_block_buffer_bound64() in threaded encoder.

Now it uses lzma_block_uncomp_encode() if the data doesn't
fit into the space calculated by lzma_block_buffer_bound64().

11 years agoliblzma: Fix another deadlock in the threaded encoder.
Lasse Collin [Sat, 23 Mar 2013 19:51:38 +0000 (21:51 +0200)]
liblzma: Fix another deadlock in the threaded encoder.

This race condition could cause a deadlock if lzma_end() was
called before finishing the encoding. This can happen with
xz with debugging enabled (non-debugging version doesn't
call lzma_end() before exiting).

11 years agoliblzma: Add lzma_block_uncomp_encode().
Lasse Collin [Sat, 23 Mar 2013 17:17:33 +0000 (19:17 +0200)]
liblzma: Add lzma_block_uncomp_encode().

This also adds a new internal function
lzma_block_buffer_bound64() which is similar to
lzma_block_buffer_bound() but uses uint64_t instead
of size_t.

11 years agoAvoid unneeded use of awk in xzless.
Lasse Collin [Tue, 5 Mar 2013 17:14:50 +0000 (19:14 +0200)]
Avoid unneeded use of awk in xzless.

Use "read" instead of "awk" in xzless to get the version
number of "less". The need for awk was introduced in
the commit db5c1817fabf7cbb9e4087b1576eb26f0747338e.

Thanks to Ariel P for the patch.

11 years agoMake the progress indicator smooth in threaded mode.
Lasse Collin [Fri, 14 Dec 2012 18:13:32 +0000 (20:13 +0200)]
Make the progress indicator smooth in threaded mode.

This adds lzma_get_progress() to liblzma and takes advantage
of it in xz.

lzma_get_progress() collects progress information from
the thread-specific structures so that fairly accurate
progress information is available to applications. Adding
a new function seemed to be a better way than making the
information directly available in lzma_stream (like total_in
and total_out are) because collecting the information requires
locking mutexes. It's waste of time to do it more often than
the up to date information is actually needed by an application.

11 years agoliblzma: Fix mythread_sync for nested locking.
Lasse Collin [Fri, 14 Dec 2012 09:01:41 +0000 (11:01 +0200)]
liblzma: Fix mythread_sync for nested locking.

11 years agoxz: Mention --threads in --help.
Lasse Collin [Thu, 13 Dec 2012 19:05:36 +0000 (21:05 +0200)]
xz: Mention --threads in --help.

Thanks to Olivier Delhomme for pointing out that this
was still missing.

11 years agoxzless: Make "less -V" parsing more robust
Jonathan Nieder [Mon, 19 Nov 2012 08:10:10 +0000 (00:10 -0800)]
xzless: Make "less -V" parsing more robust

In v4.999.9beta~30 (xzless: Support compressed standard input,
2009-08-09), xzless learned to parse ‘less -V’ output to figure out
whether less is new enough to handle $LESSOPEN settings starting
with “|-”.  That worked well for a while, but the version string from
‘less’ versions 448 (June, 2012) is misparsed, producing a warning:

$ xzless /tmp/test.xz; echo $?
/usr/bin/xzless: line 49: test: 456 (GNU regular expressions): \
integer expression expected
0

More precisely, modern ‘less’ lists the regexp implementation along
with its version number, and xzless passes the entire version number
with attached parenthetical phrase as a number to "test $a -gt $b",
producing the above confusing message.

$ less-444 -V | head -1
less 444
$ less -V | head -1
less 456 (no regular expressions)

So relax the pattern matched --- instead of expecting "less <number>",
look for a line of the form "less <number>[ (extra parenthetical)]".
While at it, improve the behavior when no matching line is found ---
instead of producing a cryptic message, we can fall back on a LESSPIPE
setting that is supported by all versions of ‘less’.

The implementation uses "awk" for simplicity.  Hopefully that’s
portable enough.

Reported-by: Jörg-Volker Peetz <jvpeetz@web.de>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
12 years agoxz: Fix the note about --rsyncable on the man page.
Lasse Collin [Wed, 3 Oct 2012 12:54:24 +0000 (15:54 +0300)]
xz: Fix the note about --rsyncable on the man page.

12 years agoxz: Improve handling of failed realloc in xrealloc.
Lasse Collin [Fri, 28 Sep 2012 17:11:09 +0000 (20:11 +0300)]
xz: Improve handling of failed realloc in xrealloc.

Thanks to Jim Meyering.

12 years agoA few typo fixes to comments and the xz man page.
Lasse Collin [Fri, 24 Aug 2012 13:27:31 +0000 (16:27 +0300)]
A few typo fixes to comments and the xz man page.

Thanks to Jim Meyering.

12 years agoxz: Add a warning to --help about alpha and beta versions.
Lasse Collin [Mon, 13 Aug 2012 18:40:09 +0000 (21:40 +0300)]
xz: Add a warning to --help about alpha and beta versions.

12 years agoBuild: Bump gettext version requirement to 0.18.
Lasse Collin [Thu, 2 Aug 2012 14:13:30 +0000 (17:13 +0300)]
Build: Bump gettext version requirement to 0.18.

Otherwise too old version of m4/lib-link.m4 gets included
when autoreconf -fi is run.

12 years agoUpdate THANKS.
Lasse Collin [Tue, 17 Jul 2012 15:29:08 +0000 (18:29 +0300)]
Update THANKS.

12 years agoliblzma: Make the use of lzma_allocator const-correct.
Lasse Collin [Tue, 17 Jul 2012 15:19:59 +0000 (18:19 +0300)]
liblzma: Make the use of lzma_allocator const-correct.

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.

12 years agoTests: Remove tests/test_block.c that had gotten committed accidentally.
Lasse Collin [Thu, 5 Jul 2012 04:36:28 +0000 (07:36 +0300)]
Tests: Remove tests/test_block.c that had gotten committed accidentally.

12 years agoBuild: Include macosx/build.sh in the distribution.
Lasse Collin [Thu, 5 Jul 2012 04:33:35 +0000 (07:33 +0300)]
Build: Include macosx/build.sh in the distribution.

It has been in the Git repository since 2010 but probably
few people have seen it since it hasn't been included in
the release tarballs. :-(

12 years agoBuild: Include validate_map.sh in the distribution.
Lasse Collin [Thu, 5 Jul 2012 04:28:53 +0000 (07:28 +0300)]
Build: Include validate_map.sh in the distribution.

It's required by "make mydist".

Fix also the location of EXTRA_DIST+= so that those files
get distributed also if symbol versioning isn't enabled.

12 years agoDocs: Fix the name LZMA Utils -> XZ Utils in debug/README.
Lasse Collin [Thu, 5 Jul 2012 04:24:45 +0000 (07:24 +0300)]
Docs: Fix the name LZMA Utils -> XZ Utils in debug/README.

12 years agoInclude debug/translation.bash in the distribution.
Lasse Collin [Thu, 5 Jul 2012 04:23:17 +0000 (07:23 +0300)]
Include debug/translation.bash in the distribution.

Also fix the script name mentioned in README.

12 years agoxz: Document --block-list better.
Lasse Collin [Wed, 4 Jul 2012 19:31:58 +0000 (22:31 +0300)]
xz: Document --block-list better.

Thanks to Jonathan Nieder.

12 years agoBump the version number to 5.1.2alpha. v5.1.2alpha
Lasse Collin [Wed, 4 Jul 2012 17:01:49 +0000 (20:01 +0300)]
Bump the version number to 5.1.2alpha.

12 years agoUpdate NEWS for 5.1.2alpha.
Lasse Collin [Wed, 4 Jul 2012 17:01:19 +0000 (20:01 +0300)]
Update NEWS for 5.1.2alpha.

12 years agoxz: Fix the version number printed by xz -lvv.
Lasse Collin [Wed, 4 Jul 2012 16:58:23 +0000 (19:58 +0300)]
xz: Fix the version number printed by xz -lvv.

The decoder bug was fixed in 5.0.2 instead of 5.0.3.

12 years agoBuild: Add a comment to configure.ac about symbol versioning.
Lasse Collin [Wed, 4 Jul 2012 14:11:31 +0000 (17:11 +0300)]
Build: Add a comment to configure.ac about symbol versioning.

12 years agoUpdate TODO.
Lasse Collin [Wed, 4 Jul 2012 14:06:49 +0000 (17:06 +0300)]
Update TODO.

12 years agoDocument --enable-symbol-versions in INSTALL.
Lasse Collin [Wed, 4 Jul 2012 14:05:46 +0000 (17:05 +0300)]
Document --enable-symbol-versions in INSTALL.

12 years agoxz: Add incomplete support for --block-list.
Lasse Collin [Tue, 3 Jul 2012 18:16:39 +0000 (21:16 +0300)]
xz: Add incomplete support for --block-list.

It's broken with threads and when also --block-size is used.

12 years agoxz: Update the man page about the new field in --robot -lvv.
Lasse Collin [Sun, 1 Jul 2012 15:44:33 +0000 (18:44 +0300)]
xz: Update the man page about the new field in --robot -lvv.

12 years agoliblzma: Check that the first byte of range encoded data is 0x00.
Lasse Collin [Thu, 28 Jun 2012 07:47:49 +0000 (10:47 +0300)]
liblzma: Check that the first byte of range encoded data is 0x00.

It is just to be more pedantic and thus perhaps catch broken
files slightly earlier.

12 years agoUpdate NEWS from 5.0.4.
Lasse Collin [Fri, 22 Jun 2012 16:00:23 +0000 (19:00 +0300)]
Update NEWS from 5.0.4.

12 years agoxz: Update man page date to match the latest update.
Lasse Collin [Fri, 22 Jun 2012 11:34:03 +0000 (14:34 +0300)]
xz: Update man page date to match the latest update.

12 years agoDocs: Language fix to 01_compress_easy.c.
Lasse Collin [Mon, 18 Jun 2012 18:27:47 +0000 (21:27 +0300)]
Docs: Language fix to 01_compress_easy.c.

Thanks to Jonathan Nieder.

12 years agoFix the top-level Makefile.am for the new example programs.
Lasse Collin [Thu, 14 Jun 2012 17:15:30 +0000 (20:15 +0300)]
Fix the top-level Makefile.am for the new example programs.

12 years agoDocs: Add new example programs.
Lasse Collin [Thu, 14 Jun 2012 07:52:33 +0000 (10:52 +0300)]
Docs: Add new example programs.

These have more comments than the old examples and
human-readable error messages. More tutorial-like examples
are needed but these are a start.

12 years agoDocs: Move xz_pipe_comp.c and xz_pipe_decomp.c to doc/examples_old.
Lasse Collin [Thu, 14 Jun 2012 07:33:27 +0000 (10:33 +0300)]
Docs: Move xz_pipe_comp.c and xz_pipe_decomp.c to doc/examples_old.

It is good to keep these around to so that if someone has
copied the decompressor bug from xz_pipe_decomp.c he has
an example how to easily fix it.

12 years agoDocs: Fix a bug in xz_pipe_decomp.c example program.
Lasse Collin [Thu, 14 Jun 2012 07:33:01 +0000 (10:33 +0300)]
Docs: Fix a bug in xz_pipe_decomp.c example program.

12 years agoTranslations: Update the French translation.
Lasse Collin [Wed, 30 May 2012 20:14:33 +0000 (23:14 +0300)]
Translations: Update the French translation.

Thanks to Adrien Nader.

12 years agoTranslations: Update the German translation.
Lasse Collin [Tue, 29 May 2012 20:42:37 +0000 (23:42 +0300)]
Translations: Update the German translation.

The previous only included the new strings in v5.0.

12 years agoTranslations: Update the German translation.
Lasse Collin [Tue, 29 May 2012 19:26:27 +0000 (22:26 +0300)]
Translations: Update the German translation.

12 years agoTranslations: Update Polish translation.
Lasse Collin [Tue, 29 May 2012 19:14:21 +0000 (22:14 +0300)]
Translations: Update Polish translation.

12 years agoliblzma: Fix possibility of incorrect LZMA_BUF_ERROR.
Lasse Collin [Mon, 28 May 2012 17:42:11 +0000 (20:42 +0300)]
liblzma: Fix possibility of incorrect LZMA_BUF_ERROR.

lzma_code() could incorrectly return LZMA_BUF_ERROR if
all of the following was true:

  - The caller knows how many bytes of output to expect
    and only provides that much output space.

  - When the last output bytes are decoded, the
    caller-provided input buffer ends right before
    the LZMA2 end of payload marker. So LZMA2 won't
    provide more output anymore, but it won't know it
    yet and thus won't return LZMA_STREAM_END yet.

  - A BCJ filter is in use and it hasn't left any
    unfiltered bytes in the temp buffer. This can happen
    with any BCJ filter, but in practice it's more likely
    with filters other than the x86 BCJ.

Another situation where the bug can be triggered happens
if the uncompressed size is zero bytes and no output space
is provided. In this case the decompression can fail even
if the whole input file is given to lzma_code().

A similar bug was fixed in XZ Embedded on 2011-09-19.

12 years agoUpdate THANKS.
Lasse Collin [Mon, 28 May 2012 12:38:32 +0000 (15:38 +0300)]
Update THANKS.

12 years agoxz: Don't show a huge number in -vv when memory limit is disabled.
Lasse Collin [Mon, 28 May 2012 12:37:43 +0000 (15:37 +0300)]
xz: Don't show a huge number in -vv when memory limit is disabled.

12 years agoxz: Document the "summary" lines of --robot -lvv.
Lasse Collin [Sun, 27 May 2012 19:30:17 +0000 (22:30 +0300)]
xz: Document the "summary" lines of --robot -lvv.

This documents only the columns that are in v5.0.
The new columns added in the master branch aren't
necessarily stable yet.

12 years agoxz: Fix output of verbose --robot --list modes.
Lasse Collin [Sun, 27 May 2012 18:53:20 +0000 (21:53 +0300)]
xz: Fix output of verbose --robot --list modes.

It printed the filename in "filename (x/y)" format
which it obviously shouldn't do in robot mode.

12 years agoBuild: Upgrade m4/acx_pthread.m4 to the latest version.
Lasse Collin [Thu, 24 May 2012 15:33:54 +0000 (18:33 +0300)]
Build: Upgrade m4/acx_pthread.m4 to the latest version.

12 years agoUpdate THANKS.
Lasse Collin [Thu, 10 May 2012 18:15:17 +0000 (21:15 +0300)]
Update THANKS.

12 years agoDocs: Cleanup line wrapping a bit.
Lasse Collin [Thu, 10 May 2012 18:14:16 +0000 (21:14 +0300)]
Docs: Cleanup line wrapping a bit.

12 years agoFix a few typos and add some missing articles in some documents.
Benno Schulenberg [Tue, 13 Mar 2012 21:04:04 +0000 (22:04 +0100)]
Fix a few typos and add some missing articles in some documents.

Also hyphenate several compound adjectives.

Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
12 years agoWindows: Update notes about static linking with MSVC.
Lasse Collin [Sun, 29 Apr 2012 08:51:25 +0000 (11:51 +0300)]
Windows: Update notes about static linking with MSVC.

12 years agoliblzma: Remove outdated comments.
Lasse Collin [Thu, 19 Apr 2012 12:25:26 +0000 (15:25 +0300)]
liblzma: Remove outdated comments.

12 years agoDOS: Link against DJGPP's libemu to support FPU emulation.
Lasse Collin [Thu, 19 Apr 2012 11:17:52 +0000 (14:17 +0300)]
DOS: Link against DJGPP's libemu to support FPU emulation.

This way xz should work on 386SX and 486SX. Floating point
only is needed for verbose output in xz.

12 years agoliblzma: Fix Libs.private in liblzma.pc to include -lrt when needed.
Lasse Collin [Thu, 19 Apr 2012 11:02:25 +0000 (14:02 +0300)]
liblzma: Fix Libs.private in liblzma.pc to include -lrt when needed.

12 years agoDocs: Update MINIX 3 information in INSTALL.
Lasse Collin [Thu, 19 Apr 2012 10:58:55 +0000 (13:58 +0300)]
Docs: Update MINIX 3 information in INSTALL.

12 years agoUpdate THANKS.
Lasse Collin [Wed, 22 Feb 2012 12:23:13 +0000 (14:23 +0200)]
Update THANKS.

12 years agoFix exit status of xzgrep when grepping binary files.
Lasse Collin [Wed, 22 Feb 2012 12:02:34 +0000 (14:02 +0200)]
Fix exit status of xzgrep when grepping binary files.

When grepping binary files, grep may exit before it has
read all the input. In this case, gzip -q returns 2 (eating
SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status
(e.g. 141). This causes wrong exit status when grepping
xz- or bzip2-compressed binary files.

The fix checks for the special exit status that indicates SIGPIPE.
It uses kill -l which should be supported everywhere since it
is in both SUSv2 (1997) and POSIX.1-2008.

Thanks to James Buren for the bug report.

12 years agoUpdate THANKS.
Lasse Collin [Wed, 22 Feb 2012 10:08:43 +0000 (12:08 +0200)]
Update THANKS.

12 years agoFix compiling with IBM XL C on AIX.
Lasse Collin [Wed, 22 Feb 2012 10:00:16 +0000 (12:00 +0200)]
Fix compiling with IBM XL C on AIX.

12 years agoTests: Fix a compiler warning with _FORTIFY_SOURCE.
Lasse Collin [Tue, 10 Jan 2012 15:13:03 +0000 (17:13 +0200)]
Tests: Fix a compiler warning with _FORTIFY_SOURCE.

Reported here:
http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/4927385

12 years agoDocs: Explain the stable releases better in README.
Lasse Collin [Mon, 19 Dec 2011 19:21:29 +0000 (21:21 +0200)]
Docs: Explain the stable releases better in README.

13 years agoxz: Show minimum required XZ Utils version in xz -lvv.
Lasse Collin [Mon, 7 Nov 2011 11:07:52 +0000 (13:07 +0200)]
xz: Show minimum required XZ Utils version in xz -lvv.

Man page wasn't updated yet.

13 years agoxz: Fix a typo in a comment.
Lasse Collin [Fri, 4 Nov 2011 15:57:16 +0000 (17:57 +0200)]
xz: Fix a typo in a comment.

Thanks to Bela Lubkin.

13 years agoUpdate THANKS.
Lasse Collin [Thu, 3 Nov 2011 15:08:02 +0000 (17:08 +0200)]
Update THANKS.