commit d24a57b7fc7e5e9267b84367cb0788d3acf7f569
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-30 16:41:03 +0300

    Bump version and soname for 5.2.7.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit d2003362dd42004355a5550ee7a60ace3b3ea2d8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-30 16:40:39 +0300

    Add NEWS for 5.2.7.

 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

commit 369afb51991e91a5c3a23c4ae3872329a403eb31
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-30 12:06:13 +0300

    liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug.
    
    The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98.

 src/liblzma/api/lzma/base.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 166431e9951613481b8136f52b570d7bc30b5a03
Author: Jia Tan <jiat0218@gmail.com>
Date:   2022-09-21 16:15:50 +0800

    liblzma: Add dest and src NULL checks to lzma_index_cat.
    
    The documentation states LZMA_PROG_ERROR can be returned from
    lzma_index_cat. Previously, lzma_index_cat could not return
    LZMA_PROG_ERROR. Now, the validation is similar to
    lzma_index_append, which does a NULL check on the index
    parameter.

 src/liblzma/common/index.c | 3 +++
 1 file changed, 3 insertions(+)

commit 5e53a6c28b87a0bb9b0cfeaf708cc99ef8e9bc66
Author: Jia Tan <jiat0218@gmail.com>
Date:   2022-09-21 20:29:28 +0800

    Tests: Create a test for the lzma_index_cat bug.

 tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

commit 4ed5fd54c676b735e3f58158f214af68755d59b5
Author: Jia Tan <jiat0218@gmail.com>
Date:   2022-09-21 19:28:53 +0800

    liblzma: Fix copying of check type statistics in lzma_index_cat().
    
    The check type of the last Stream in dest was never copied to
    dest->checks (the code tried to copy it but it was done too late).
    This meant that the value returned by lzma_index_checks() would
    only include the check type of the last Stream when multiple
    lzma_indexes had been concatenated.
    
    In xz --list this meant that the summary would only list the
    check type of the last Stream, so in this sense this was only
    a visual bug. However, it's possible that some applications
    use this information for purposes other than merely showing
    it to the users in an informational message. I'm not aware of
    such applications though and it's quite possible that such
    applications don't exist.
    
    Regular streamed decompression in xz or any other application
    doesn't use lzma_index_cat() and so this bug cannot affect them.

 src/liblzma/common/index.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit c4476f695291a2d7376d5fa406d32e354f858858
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-28 12:20:41 +0300

    tuklib_physmem: Fix Unicode builds on Windows.
    
    Thanks to ArSaCiA Game.

 src/common/tuklib_physmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 976f897bbba9890a99f01a8d59c6d59c230142e6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-28 11:05:15 +0300

    liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR.
    
    If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible
    to use lzma_memlimit_set() to increase the limit and continue
    decoding. This was supposed to work from the beginning but
    there was a bug. With other decoders (.lzma or threaded .xz)
    this already worked correctly.

 src/liblzma/common/stream_decoder.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

commit 2caa9580e5f7c5cc6668e9427a2c21f3f63bb684
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-28 11:00:23 +0300

    liblzma: Stream decoder: Fix comments.

 src/liblzma/common/stream_decoder.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

commit 51882fec5b96cf7760389b670d86c1e7a5a0ced2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-16 14:09:07 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 974186f7cd839f1dbf937b98e112dff670d2bd5c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-16 14:07:03 +0300

    xzgrep: Fix compatibility with old shells.
    
    Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15:
    
        xzgrep: line 231: syntax error near unexpected token `;;'
    
    On SCO OpenServer 5.0.7 with Korn Shell 93r:
    
        syntax error at line 231 : `;;' unexpected
    
    Turns out that some old shells don't like apostrophes (') inside
    command substitutions. For example, the following fails:
    
        x=$(echo foo
        # asdf'zxcv
        echo bar)
        printf '%s\n' "$x"
    
    The problem was introduced by commits
    69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29),
    bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and
    a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19).
    5.2.6 is the only stable release that included
    this problem.
    
    Thanks to Kevin R. Bulgrien for reporting the problem
    on SCO OpenServer 5.0.7 and for providing the fix.

 src/scripts/xzgrep.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit f94da15120c3d3c363ca12c2262ac6cb9f321f4f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-09 13:51:57 +0300

    liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs.
    
    lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed
    this. Before this patch, failing lzma_filters_copy() could result
    in free(invalid_pointer) or invalid memory reads in stream_encoder.c
    or stream_encoder_mt.c.
    
    To trigger this, allocating memory for a filter options structure
    has to fail. These are tiny allocations so in practice they very
    rarely fail.
    
    Certain badness in the filter chain array could also make
    lzma_filters_copy() fail but both stream_encoder.c and
    stream_encoder_mt.c validate the filter chain before
    trying to copy it, so the crash cannot occur this way.

 src/liblzma/api/lzma/filter.h      |  4 +++-
 src/liblzma/common/filter_common.c | 18 ++++++++++++------
 2 files changed, 15 insertions(+), 7 deletions(-)

commit ea57b9aa2c3e1cdb667f8dd698314b1c36047018
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-16 17:08:53 +0300

    Tests: Add a test file for lzma_index_append() integer overflow bug.
    
    This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136.
    
    test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz
    because only then the previously-buggy code path gets tested.
    Normal decompression doesn't use lzma_index_append() at all.
    Instead, lzma_index_hash functions are used and those already
    did the overflow check.

 tests/files/README                         |  10 ++++++++++
 tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes
 tests/test_files.sh                        |   8 ++++++++
 3 files changed, 18 insertions(+)

commit 72e1645a439a999638a63ec9abb7210671ea5415
Author: Jia Tan <jiat0218@gmail.com>
Date:   2022-09-02 20:18:55 +0800

    liblzma: lzma_index_append: Add missing integer overflow check.
    
    The documentation in src/liblzma/api/lzma/index.h suggests that
    both the unpadded (compressed) size and the uncompressed size
    are checked for overflow, but only the unpadded size was checked.
    The uncompressed check is done first since that is more likely to
    occur than the unpadded or index field size overflows.

 src/liblzma/common/index.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 20d82bc90781aa9d2373efe872d90ba64dc7dc62
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-08 15:11:08 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 31d80c6b261b24220776dfaeb8a04f80f80e0a24
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-04 23:23:00 +0300

    liblzma: Vaccinate against an ill patch from RHEL/CentOS 7.
    
    RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded
    encoder that is behind #ifdef LZMA_UNSTABLE in the API headers.
    In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map.
    API/ABI compatibility tracking isn't done between development
    releases so newer releases didn't have XZ_5.1.2alpha anymore.
    
    Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep
    the exported symbols compatible with 5.1.2alpha. After checking
    the ABI changes it turned out that >= 5.2.0 ABI is backward
    compatible with the threaded encoder functions from 5.1.2alpha
    (but not vice versa as fixes and extensions to these functions
    were made between 5.1.2alpha and 5.2.0).
    
    In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with
    xz-5.2.2-compat-libs.patch to modify liblzma.map:
    
      - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and
        lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha.
    
      - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was
        an error; the intention was to keep using XZ_5.2 (XZ_5.2.2
        has never been used in XZ Utils). So XZ_5.2.2 lists all
        symbols that were listed under XZ_5.2 before the patch.
        lzma_stream_encoder_mt and _mt_memusage are included too so
        they are listed both here and under XZ_5.1.2alpha.
    
    The patch didn't add any __asm__(".symver ...") lines to the .c
    files. Thus the resulting liblzma.so exports the threaded encoder
    functions under XZ_5.1.2alpha only. Listing the two functions
    also under XZ_5.2.2 in liblzma.map has no effect without
    matching .symver lines.
    
    The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked
    against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7.
    This is unfortunate but this alone isn't too bad as the problem
    is contained within RHEL/CentOS 7 and doesn't affect users
    of other distributions. It could also be fixed internally in
    RHEL/CentOS 7.
    
    The second problem is more serious: In XZ Utils 5.2.2 the API
    headers don't have #ifdef LZMA_UNSTABLE for obvious reasons.
    This is true in RHEL/CentOS 7 version too. Thus now programs
    using new APIs can be compiled without an extra #define. However,
    the programs end up depending on symbol version XZ_5.1.2alpha
    (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would
    with an unpatched XZ Utils 5.2.2. This means that such binaries
    won't run on other distributions shipping XZ Utils >= 5.2.0 as
    they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide
    XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch
    luckily isn't included there anymore with XZ Utils 5.2.4.)
    
    Binaries built by RHEL/CentOS 7 users get distributed and then
    people wonder why they don't run on some other distribution.
    Seems that people have found out about the patch and been copying
    it to some build scripts, seemingly curing the symptoms but
    actually spreading the illness further and outside RHEL/CentOS 7.
    
    The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it
    had spread at least to EasyBuild. I heard about the events only
    recently. :-(
    
    This commit splits liblzma.map into two versions: one for
    GNU/Linux and another for other OSes that can use symbol versioning
    (FreeBSD, Solaris, maybe others). The Linux-specific file and the
    matching additions to .c files add full compatibility with binaries
    that have been built against a RHEL/CentOS-patched liblzma. Builds
    for OSes other than GNU/Linux won't get the vaccine as they should
    be immune to the problem (I really hope that no build script uses
    the RHEL/CentOS 7 patch outside GNU/Linux).
    
    The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2
    are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way
    if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building,
    the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2
    since XZ_5.2 {...} is the first one that lists that function.
    Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2
    will be missing but that's still a minor problem compared to
    only having lzma_stream_encoder_mt@@XZ_5.1.2alpha!
    
    The "local: *;" line was moved to XZ_5.0 so that it doesn't need
    to be moved around. It doesn't matter where it is put.
    
    Having two similar liblzma_*.map files is a bit silly as it is,
    at least for now, easily possible to generate the generic one
    from the Linux-specific file. But that adds extra steps and
    increases the risk of mistakes when supporting more than one
    build system. So I rather maintain two files in parallel and let
    validate_map.sh check that they are in sync when "make mydist"
    is run.
    
    This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and
    lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these
    weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was
    for these two). I added these anyway because someone might
    misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2
    (@@XZ_5.2.2) versions were exported too.
    
    At glance one could suggest using __typeof__ to copy the function
    prototypes when making aliases. However, this doesn't work trivially
    because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure)
    and it won't change symbol visibility from hidden to default (done
    by LZMA_API()). Attributes could be copied with __copy__ attribute
    but that needs GCC 9 and a fallback method would be needed anyway.
    
    This uses __symver__ attribute with GCC >= 10 and
    __asm__(".symver ...") with everything else. The attribute method
    is required for LTO (-flto) support with GCC. Using -flto with
    GCC older than 10 is now broken on GNU/Linux and will not be fixed
    (can silently result in a broken liblzma build that has dangerously
    incorrect symbol versions). LTO builds with Clang seem to work
    with the traditional __asm__(".symver ...") method.
    
    Thanks to Boud Roukema for reporting the problem and discussing
    the details and testing the fix.

 configure.ac                                     |  23 ++++-
 src/liblzma/Makefile.am                          |  10 +-
 src/liblzma/common/block_buffer_encoder.c        |  18 ++++
 src/liblzma/common/common.c                      |  14 +++
 src/liblzma/common/common.h                      |  28 ++++++
 src/liblzma/common/hardware_cputhreads.c         |  12 +++
 src/liblzma/common/stream_encoder_mt.c           |  42 ++++++++
 src/liblzma/{liblzma.map => liblzma_generic.map} |   6 +-
 src/liblzma/liblzma_linux.map                    | 123 +++++++++++++++++++++++
 src/liblzma/validate_map.sh                      | 113 +++++++++++++++++++--
 10 files changed, 374 insertions(+), 15 deletions(-)

commit e7a7ac744eb0f890ef52388de838596ef566c73f
Author: Jia Tan <jiat0218@gmail.com>
Date:   2022-09-08 15:07:00 +0300

    CMake: Clarify a comment about Windows symlinks without file extension.

 CMakeLists.txt | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit a273a0cb77c6000e4da627b07f28c5af41f0908c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-08 15:02:41 +0300

    CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep.
    
    The previous commit split liblzma.map into liblzma_linux.map and
    liblzma_generic.map. This commit updates the CMake build for those.
    
    common_w32res.rc dependency was listed under Linux/FreeBSD while
    obviously it belongs to Windows when building a DLL.

 CMakeLists.txt | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

commit 5875a45be0ab399e37acc31165725a9b5291f67e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-08-31 16:42:04 +0300

    CMake: Add xz symlinks.
    
    These are a minor thing especially since the xz build has
    some real problems still like lack of large file support
    on 32-bit systems but I'll commit this since the code exists.
    
    Thanks to Jia Tan.

 CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

commit 3523b6ebb56c447f21736f01bfe91602741aa3e7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-08-31 16:29:38 +0300

    CMake: Put xz man page install under if(UNIX) like is for xzdec.
    
    Thanks to Jia Tan.

 CMakeLists.txt | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 5af9e8759f748a11a408bfc5aef829df3811fc23
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-09-16 15:10:07 +0300

    Translations: Add Turkish translation.

 po/LINGUAS |   1 +
 po/tr.po   | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 978 insertions(+)

commit f05a69685e9c7f7157d751abfbd2d8ea6e3bacc7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-08-18 17:49:16 +0300

    Build: Include the CMake files in the distribution.
    
    This was supposed to be done in 2020 with 5.2.5 release
    already but it was noticed only today. 5.2.5 and 5.2.6
    even mention experiemental CMake support in the NEWS entries.
    
    Thanks to Olivier B. for reporting the problem.

 Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit ad5ef6d3c30bb749113c51aa0bbe8bcb5e193fbe
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-08-18 17:38:05 +0300

    Windows: Fix broken liblzma.dll build with Visual Studio project files.
    
    The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616
    "Windows: Fix building of resource files when config.h isn't used."
    
    That commit fixed liblzma.dll build with CMake while keeping it
    working with Autotools on Windows but the VS project files were
    forgotten.
    
    I haven't tested these changes.
    
    Thanks to Olivier B. for reporting the bug and for the initial patch.

 windows/vs2013/liblzma_dll.vcxproj | 6 ++++++
 windows/vs2017/liblzma_dll.vcxproj | 6 ++++++
 windows/vs2019/liblzma_dll.vcxproj | 6 ++++++
 3 files changed, 18 insertions(+)

commit 8dfed05bdaa4873833ba24279f02ad2db25effea
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-08-12 14:30:13 +0300

    Bump version and soname for 5.2.6.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 09b4af4e04def5777b06124200b64b0b941eea7f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-08-12 14:29:28 +0300

    Add NEWS for 5.2.6.

 NEWS | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 226 insertions(+)

commit 692de534fae6c38f92416793addcf5f60ffe2bf6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-08-12 14:28:41 +0300

    Add Jia Tan to AUTHORS.

 AUTHORS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 275de376a645f406be7c453bb68427aa9466cf83
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-25 19:11:05 +0300

    Translations: Change the copyright comment string to use with po4a.
    
    This affects the second line in po4a/xz-man.pot. The man pages of
    xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+
    while the rest of the man pages are in the public domain.

 po4a/update-po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 76a5a752b8467ff591dd028deb61e9bf2c274c7e
Author: Jia Tan <jiat0218@gmail.com>
Date:   2022-07-25 18:30:05 +0300

    liblzma: Refactor lzma_mf_is_supported() to use a switch-statement.

 src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------
 1 file changed, 14 insertions(+), 18 deletions(-)

commit 749b86c2c18ab61a07f19ec8fefc67325da97397
Author: Jia Tan <jiat0218@gmail.com>
Date:   2022-07-25 18:20:01 +0300

    Build: Don't allow empty LIST in --enable-match-finders=LIST.
    
    It's enforced only when a match finder is needed, that is,
    when LZMA1 or LZMA2 encoder is enabled.

 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)

commit 63e3cdef805a4d9ea94c76c36cbabe4dc76abe36
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-11 23:41:16 +0200

    xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky.
    
    Previously this required using --force but that has other
    effects too which might be undesirable. Changing the behavior
    of --keep has a small risk of breaking existing scripts but
    since this is a fairly special corner case I expect the
    likehood of breakage to be low enough.
    
    I think the new behavior is more logical. The only reason for
    the old behavior was to be consistent with gzip and bzip2.
    
    Thanks to Vincent Lefevre and Sebastian Andrzej Siewior.

 src/xz/file_io.c |  9 +++++----
 src/xz/xz.1      | 16 +++++++++++++++-
 2 files changed, 20 insertions(+), 5 deletions(-)

commit 9055584be0ae47032b7fb3ba8531aa56b9ed572a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-19 23:19:49 +0300

    xzgrep man page: Document exit statuses.

 src/scripts/xzgrep.1 | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

commit 57e1ccbb7ce30e5298ea7ec3934e462fa8d32237
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-19 23:13:24 +0300

    xzgrep: Improve error handling, especially signals.
    
    xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly
    should have. It's quite possible that it's not perfect still
    but at least it's much better.
    
    If multiple exit statuses compete, now it tries to pick
    the largest of value.
    
    Some comments were added.
    
    The exit status handling of signals is still broken if the shell
    uses values larger than 255 in $? to indicate that a process
    died due to a signal ***and*** their "exit" command doesn't take
    this into account. This seems to work well with the ksh and yash
    versions I tried. However, there is a report in gzip/zgrep that
    OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating
    the argument to 8 bits:
    
        https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25
    
    Such a bug would break xzgrep but I didn't add a workaround
    at least for now. 5.11 is old and I don't know if the problem
    exists in modern descendants, or if the problem exists in other
    ksh implementations in use.

 src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 53 insertions(+), 19 deletions(-)

commit 6351ea1afb261ec9be95f808bcbe724e0da4ae09
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-19 00:10:55 +0300

    xzgrep: Make the fix for ZDI-CAN-16587 more robust.
    
    I don't know if this can make a difference in the real world
    but it looked kind of suspicious (what happens with sed
    implementations that cannot process very long lines?).
    At least this commit shouldn't make it worse.

 src/scripts/xzgrep.in | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 2c1ff2ed6b9f17b3913866a15d776ebbbeb824d2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-18 21:52:31 +0300

    xzgrep: Use grep -H --label when available (GNU, *BSDs).
    
    It avoids the use of sed for prefixing filenames to output lines.
    Using sed for that is slower and prone to security bugs so now
    the sed method is only used as a fallback.
    
    This also fixes an actual bug: When grepping a binary file,
    GNU grep nowadays prints its diagnostics to stderr instead of
    stdout and thus the sed-method for prefixing the filename doesn't
    work. So with this commit grepping binary files gives reasonable
    output with GNU grep now.
    
    This was inspired by zgrep but the implementation is different.

 src/scripts/xzgrep.in | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 8b0be38a795fa1cdffdada64341a34209e630060
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-18 21:10:25 +0300

    xzgrep: Use -e to specify the pattern to grep.
    
    Now we don't need the separate test for adding the -q option
    as it can be added directly in the two places where it's needed.

 src/scripts/xzgrep.in | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

commit 4a61867a874c60b31448d2d4f3c276efba85a243
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-18 19:18:48 +0300

    Scripts: Use printf instead of echo in a few places.
    
    It's a good habbit as echo has some portability corner cases
    when the string contents can be anything.

 src/scripts/xzdiff.in | 6 +++---
 src/scripts/xzgrep.in | 4 ++--
 src/scripts/xzless.in | 4 ++--
 src/scripts/xzmore.in | 8 ++++----
 4 files changed, 11 insertions(+), 11 deletions(-)

commit 0e222bf7d79a9792025c5ffeaa66c8e14eb47615
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-17 21:36:25 +0300

    xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters.
    
    Also replace one use of expr with printf.
    
    The rationale for LC_ALL=C was already mentioned in
    69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security
    issue. However, unrelated uses weren't changed in that commit yet.
    
    POSIX says that with sed and such tools one should use LC_ALL=C
    to ensure predictable behavior when strings contain byte sequences
    that aren't valid multibyte characters in the current locale. See
    under "Application usage" in here:
    
    https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
    
    With GNU sed invalid multibyte strings would work without this;
    it's documented in its Texinfo manual. Some other implementations
    aren't so forgiving.

 src/scripts/xzgrep.in | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit 62c1d2bc2da66e182c52bb1e3aa791f6d8a9e099
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-17 20:55:16 +0300

    xzgrep: Fix parsing of certain options.
    
    Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is
    an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename
    instead of as a pattern. This bug was fixed in zgrep in gzip in 2012.
    
    Add -E, -F, -G, and -P to the "no argument required" list.
    
    Add -X to "argument required" list. It is an
    intentionally-undocumented GNU grep option so this isn't
    an important option for xzgrep but it seems that other grep
    implementations (well, those that I checked) don't support -X
    so I hope this change is an improvement still.
    
    grep -d (grep --directories=ACTION) requires an argument. In
    contrast to zgrep, I kept -d in the "no argument required" list
    because it's not supported in xzgrep (or zgrep). This way
    "xzgrep -d" gives an error about option being unsupported instead
    of telling that it requires an argument. Both zgrep and xzgrep
    tell that it's unsupported if an argument is specified.
    
    Add comments.

 src/scripts/xzgrep.in | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

commit 372a0d12c95fad5e5477b4f79646bf66d28e0c31
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-14 20:33:05 +0300

    Tests: Add the .lzma files to test_files.sh.

 tests/test_files.sh | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit b8e3d0c45b62c81dfc6b350556d77cf2c7401edd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-14 19:37:42 +0300

    Tests: Add .lzma test files.

 tests/files/README                                 |  63 ++++++++++++++++-----
 tests/files/bad-too_big_size-with_eopm.lzma        | Bin 0 -> 37 bytes
 tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes
 tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes
 tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes
 tests/files/bad-unknown_size-without_eopm.lzma     | Bin 0 -> 31 bytes
 tests/files/good-known_size-with_eopm.lzma         | Bin 0 -> 37 bytes
 tests/files/good-known_size-without_eopm.lzma      | Bin 0 -> 31 bytes
 tests/files/good-unknown_size-with_eopm.lzma       | Bin 0 -> 37 bytes
 9 files changed, 50 insertions(+), 13 deletions(-)

commit e96bdf7189916bffec0dcc933cd809fac898587c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-14 18:12:38 +0300

    liblzma: Rename a variable and improve a comment.

 src/liblzma/lzma/lzma_decoder.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 2d54fdf58e80bb2b0852633838576fd1ae7961c5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-13 22:24:41 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit ff54b557fe3b06b59a24e4028c1464c35dd5b142
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-13 22:24:07 +0300

    liblzma: Add optional autodetection of LZMA end marker.
    
    Turns out that this is needed for .lzma files as the spec in
    LZMA SDK says that end marker may be present even if the size
    is stored in the header. Such files are rare but exist in the
    real world. The code in liblzma is so old that the spec didn't
    exist in LZMA SDK back then and I had understood that such
    files weren't possible (the lzma tool in LZMA SDK didn't
    create such files).
    
    This modifies the internal API so that LZMA decoder can be told
    if EOPM is allowed even when the uncompressed size is known.
    It's allowed with .lzma and not with other uses.
    
    Thanks to Karl Beldan for reporting the problem.

 doc/lzma-file-format.txt           | 11 ++++-
 src/liblzma/common/alone_decoder.c |  2 +-
 src/liblzma/lz/lz_decoder.c        | 10 +++-
 src/liblzma/lz/lz_decoder.h        |  8 +--
 src/liblzma/lzma/lzma2_decoder.c   |  2 +-
 src/liblzma/lzma/lzma_decoder.c    | 99 +++++++++++++++++++++++++++-----------
 6 files changed, 94 insertions(+), 38 deletions(-)

commit bb795fe835cf2b3ae7ed68b155784fbfc14e2faf
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-06-14 17:20:49 +0300

    Tests: Add test file good-1-empty-bcj-lzma2.xz.
    
    This is from test_bcj_exact_size.c.
    It's good to have it as a standalone file.

 tests/files/README                    |   5 +++++
 tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes
 2 files changed, 5 insertions(+)

commit dbd8b0bf45c10f991635f585a2ea59fb5ae28ff3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-03-31 00:05:07 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit bb66a98ded39c40df202da17cb2055356dcd4168
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-03-29 19:19:12 +0300

    xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587).
    
    Malicious filenames can make xzgrep to write to arbitrary files
    or (with a GNU sed extension) lead to arbitrary code execution.
    
    xzgrep from XZ Utils versions up to and including 5.2.5 are
    affected. 5.3.1alpha and 5.3.2alpha are affected as well.
    This patch works for all of them.
    
    This bug was inherited from gzip's zgrep. gzip 1.12 includes
    a fix for zgrep.
    
    The issue with the old sed script is that with multiple newlines,
    the N-command will read the second line of input, then the
    s-commands will be skipped because it's not the end of the
    file yet, then a new sed cycle starts and the pattern space
    is printed and emptied. So only the last line or two get escaped.
    
    One way to fix this would be to read all lines into the pattern
    space first. However, the included fix is even simpler: All lines
    except the last line get a backslash appended at the end. To ensure
    that shell command substitution doesn't eat a possible trailing
    newline, a colon is appended to the filename before escaping.
    The colon is later used to separate the filename from the grep
    output so it is fine to add it here instead of a few lines later.
    
    The old code also wasn't POSIX compliant as it used \n in the
    replacement section of the s-command. Using \<newline> is the
    POSIX compatible method.
    
    LC_ALL=C was added to the two critical sed commands. POSIX sed
    manual recommends it when using sed to manipulate pathnames
    because in other locales invalid multibyte sequences might
    cause issues with some sed implementations. In case of GNU sed,
    these particular sed scripts wouldn't have such problems but some
    other scripts could have, see:
    
        info '(sed)Locale Considerations'
    
    This vulnerability was discovered by:
    cleemy desu wayo working with Trend Micro Zero Day Initiative
    
    Thanks to Jim Meyering and Paul Eggert discussing the different
    ways to fix this and for coordinating the patch release schedule
    with gzip.

 src/scripts/xzgrep.in | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

commit fa3af4e4c6a8f692785b87ba0f165f34d154ae0f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-03-23 16:34:00 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit f12ce0f23a0496daebc77e8359309bf724ad5e8a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-03-06 16:54:23 +0200

    liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK.
    
    If Check is unsupported, it will be silently ignored.
    It's the caller's job to handle it.

 src/liblzma/api/lzma/block.h | 3 ---
 1 file changed, 3 deletions(-)

commit 412566731111edc28f0b68bc966d01ab24d17082
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-03-06 15:18:58 +0200

    liblzma: Index hash: Change return value type of hash_append() to void.

 src/liblzma/common/index_hash.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

commit 7c3ce02df001701a26c2fa41b2dc8b530743f454
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-02-22 03:42:57 +0200

    liblzma: Minor addition to lzma_vli_size() API doc.
    
    Thanks to Jia Tan.

 src/liblzma/api/lzma/vli.h | 2 ++
 1 file changed, 2 insertions(+)

commit b8f667fe0c3e17fd2c559901d2aaf19b1dfd51f2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-02-22 02:04:18 +0200

    liblzma: Check the return value of lzma_index_append() in threaded encoder.
    
    If lzma_index_append() failed (most likely memory allocation failure)
    it could have gone unnoticed and the resulting .xz file would have
    an incorrect Index. Decompressing such a file would produce the
    correct uncompressed data but then an error would occur when
    verifying the Index field.

 src/liblzma/common/stream_encoder_mt.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 2356d53edd8f44ff8f411972ca62d63079ff59af
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-02-22 01:37:39 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 748ef0833821f1ea4ff5d57abc3cab1ae76266d3
Author: Ed Maste <emaste@FreeBSD.org>
Date:   2022-02-11 15:25:46 +0000

    liblzma: Use non-executable stack on FreeBSD as on Linux

 src/liblzma/check/crc32_x86.S | 4 ++--
 src/liblzma/check/crc64_x86.S | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 068a6e3286c9ca7d67f13f4c78646c4f4a3c3c5b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-02-20 20:36:27 +0200

    liblzma: Make Block decoder catch certain types of errors better.
    
    Now it limits the input and output buffer sizes that are
    passed to a raw decoder. This way there's no need to check
    if the sizes can grow too big or overflow when updating
    Compressed Size and Uncompressed Size counts. This also means
    that a corrupt file cannot cause the raw decoder to process
    useless extra input or output that would exceed the size info
    in Block Header (and thus cause LZMA_DATA_ERROR anyway).
    
    More importantly, now the size information is verified more
    carefully in case raw decoder returns LZMA_OK. This doesn't
    really matter with the current single-threaded .xz decoder
    as the errors would be detected slightly later anyway. But
    this helps avoiding corner cases in the upcoming threaded
    decompressor, and it might help other Block decoder uses
    outside liblzma too.
    
    The test files bad-1-lzma2-{9,10,11}.xz test these conditions.
    With the single-threaded .xz decoder the only difference is
    that LZMA_DATA_ERROR is detected in a difference place now.

 src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------
 1 file changed, 54 insertions(+), 25 deletions(-)

commit 766df4f62c165ba96d60af8fadbada51349fd140
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-02-20 19:38:55 +0200

    Tests: Add bad-1-lzma2-11.xz.

 tests/files/README            |   5 +++++
 tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes
 2 files changed, 5 insertions(+)

commit 12a6d6ce2a9850e32140e542decfd9c8a33c87fc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-02-18 18:51:10 +0200

    Translations: Fix po4a failure with the French man page translations.
    
    Thanks to Mario Blättermann for the patch.

 po4a/fr_FR.po | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 00e6aad836cf301e95575ea53790f5ab96fe8ed6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-02-07 01:14:37 +0200

    Translations: Add French translation of man pages.
    
    This matches xz-utils 5.2.5-2 in Debian.
    
    The translation was done by "bubu", proofread by the debian-l10n-french
    mailing list contributors, and submitted to me on the xz-devel mailing
    list by Jean-Pierre Giraud. Thanks to everyone!

 po4a/fr_FR.po  | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 po4a/po4a.conf |    2 +-
 2 files changed, 3542 insertions(+), 1 deletion(-)

commit e20ce2b12251a246c50fb5b7fa2204c11611b407
Author: jiat75 <jiat0218@gmail.com>
Date:   2022-01-28 20:47:55 +0800

    liblzma: Add NULL checks to LZMA and LZMA2 properties encoders.
    
    Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode()
    assumed that the options pointers must be non-NULL because the
    with these filters the API says it must never be NULL. It is
    good to do these checks anyway.

 src/liblzma/lzma/lzma2_encoder.c | 3 +++
 src/liblzma/lzma/lzma_encoder.c  | 3 +++
 2 files changed, 6 insertions(+)

commit feb80ace866c3033cefbc39f6b07ada83e316e6a
Author: huangqinjin <huangqinjin@gmail.com>
Date:   2021-12-13 20:49:21 +0800

    CMake: Keep compatible with Windows 95 for 32-bit build.

 CMakeLists.txt | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 725f2e0522c4ef8dc5fdd69b5017bac6322ebce2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-11-13 21:04:05 +0200

    xzgrep: Update man page timestamp.

 src/scripts/xzgrep.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7955669d423724e69a7f2dae1173dae248f7a596
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-11-13 18:23:24 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 671673a7a209e6131491e6a424758bbc13fb7aa1
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   2021-11-13 10:11:57 +0200

    xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep`
    
    `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in
    current post 3.7 Git they have been made to emit obsolescence warnings:
    https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1

 src/scripts/xzgrep.1  | 8 ++++----
 src/scripts/xzgrep.in | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 45e538257e85050f67a6d363961e31b71e3ec565
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-10-27 23:27:48 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit ca21733d24a4f65b46a5efa124a89c859ac5592e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-10-27 23:23:11 +0300

    xz: Change the coding style of the previous commit.
    
    It isn't any better now but it's consistent with
    the rest of the code base.

 src/xz/file_io.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 906b990b151b93750958371e39ad00e8d1daada9
Author: Alexander Bluhm <alexander.bluhm@gmx.net>
Date:   2021-10-05 23:33:16 +0200

    xz: Avoid fchown(2) failure.
    
    OpenBSD does not allow to change the group of a file if the user
    does not belong to this group.  In contrast to Linux, OpenBSD also
    fails if the new group is the same as the old one.  Do not call
    fchown(2) in this case, it would change nothing anyway.
    
    This fixes an issue with Perl Alien::Build module.
    https://github.com/PerlAlien/Alien-Build/issues/62

 src/xz/file_io.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit ca83df96c48371ce0094c73c6f4582899ae4b62b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-09-09 22:21:07 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit d8b294af03840c7c47d6b7b0d4c0d6d2f6357dfa
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-09-09 21:41:51 +0300

    liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC.
    
    By default, MSVC always sets __cplusplus to 199711L. The real
    C++ standard version is available in _MSVC_LANG (or one could
    use /Zc:__cplusplus to set __cplusplus correctly).
    
    Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>.
    
    Thanks to Dan Weiss.

 src/liblzma/api/lzma.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit c2fde22befe1f5256ad3d7c4cb35794aa8e64c67
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-06-04 19:02:38 +0300

    xzdiff: Update the man page about the exit status.
    
    This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca.

 src/scripts/xzdiff.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8d0fd42fbedd01fd3c847b56d19841e603500dea
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-06-04 18:52:48 +0300

    xzless: Fix less(1) version detection when it contains a dot.
    
    Sometimes the version number from "less -V" contains a dot,
    sometimes not. xzless failed detect the version number when
    it does contain a dot. This fixes it.
    
    Thanks to nick87720z for reporting this. Apparently it had been
    reported here <https://bugs.gentoo.org/489362> in 2013.

 src/scripts/xzless.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6e2cab8579fc6f832b5954510b27fd7e74563436
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-12 18:53:04 +0300

    xz: Document the special memlimit case of 2000 MiB on MIPS32.
    
    See commit 95806a8a52ae57bddf6c77dfd19cf7938a92e040.

 src/xz/xz.1 | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 38b311462bd8974888ba3cd9312de132c76ec2e0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-04-11 19:58:10 +0300

    Update THANKS.

 THANKS | 2 ++
 1 file changed, 2 insertions(+)

commit 95806a8a52ae57bddf6c77dfd19cf7938a92e040
Author: Ivan A. Melnikov <iv@altlinux.org>
Date:   2021-04-09 11:45:10 +0300

    Reduce maximum possible memory limit on MIPS32
    
    Due to architectural limitations, address space available to a single
    userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems
    that have more physical RAM -- e.g. 64-bit systems with 32-bit
    userspace, or systems that use XPA (an extension similar to x86's PAE).
    
    So, for MIPS32, we have to impose stronger memory limits. I've chosen
    2000MiB to give the process some headroom.

 src/xz/hardware.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit a79bd30a6fbfe614f47ad77498c46e218dbe2b1d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-02-13 23:31:27 +0200

    CMake: Use interface library for better FindLibLZMA compatibility.
    
    https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html
    
    Thanks to Markus Rickert.

 CMakeLists.txt | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit 64d98147616c48f2df37fb46b49350f3d5febd34
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-30 18:36:04 +0200

    CMake: Try to improve compatibility with the FindLibLZMA module.
    
    The naming conflict with FindLibLZMA module gets worse.
    Not avoiding it in the first place was stupid.
    
    Normally find_package(LibLZMA) will use the module and
    find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config
    file even with a case insensitive file system. However, if
    CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system
    is case insensitive, find_package(LibLZMA) will find our liblzma
    config file instead of using FindLibLZMA module.
    
    One big problem with this is that FindLibLZMA uses
    LibLZMA::LibLZMA and we use liblzma::liblzma as the target
    name. With target names CMake happens to be case sensitive.
    To workaround this, this commit adds
    
        add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma)
    
    to the config file. Then both spellings work.
    
    To make the behavior consistent between case sensitive and
    insensitive file systems, the config and related files are
    renamed from liblzmaConfig.cmake to liblzma-config.cmake style.
    With this style CMake looks for lowercase version of the package
    name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work
    to find our config file.
    
    There are other differences between our config file and
    FindLibLZMA so it's still possible that things break for
    reasons other than the spelling of the target name. Hopefully
    those situations aren't too common.
    
    When the config file is available, it should always give as good or
    better results as FindLibLZMA so this commit doesn't affect the
    recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG)
    which explicitly avoids FindLibLZMA.
    
    Thanks to Markus Rickert.

 CMakeLists.txt | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

commit 9e2f9e2d0841dd0417125ca3c7a05418541fb230
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-24 22:32:41 +0200

    Tests: Add bad-1-lzma2-10.xz and also modify -9.xz.

 tests/files/README            |  11 +++++++++--
 tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes
 tests/files/bad-1-lzma2-9.xz  | Bin 72 -> 72 bytes
 3 files changed, 9 insertions(+), 2 deletions(-)

commit 00a4c69bbbf302dd6323fd6970890ee22ddd4f96
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-24 18:51:51 +0200

    Tests: Add bad-1-lzma2-9.xz.

 tests/files/README           |   4 ++++
 tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes
 2 files changed, 4 insertions(+)

commit 1da2269b2e9b952d165ad7bec823de9dfe9a9e9e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-24 17:02:00 +0200

    Tests: Add bad-1-check-crc32-2.xz.

 tests/files/README                 |   7 +++++++
 tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes
 2 files changed, 7 insertions(+)

commit 11ceecb5e2999ff96989915120e63a2e7e130057
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-11 23:57:11 +0200

    Scripts: Add zstd support to xzdiff.

 src/scripts/xzdiff.1  |  6 ++++--
 src/scripts/xzdiff.in | 16 +++++++++++-----
 2 files changed, 15 insertions(+), 7 deletions(-)

commit d655b8c9cb5a4e596c0fa2290fa91e995b734f97
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-11 23:28:52 +0200

    Scripts: Fix exit status of xzgrep.
    
    Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't
    matter. With gzip it's important because -q makes gzip replace SIGPIPE
    with exit status 2. With bzip2 it's important because with -q bzip2
    is completely silent if input is corrupt while other decompressors
    still give an error message.
    
    Avoiding exit status 2 from gzip is important because bzip2 uses
    exit status 2 to indicate corrupt input. Before this commit xzgrep
    didn't recognize corrupt .bz2 files because xzgrep was treating
    exit status 2 as SIGPIPE for gzip compatibility.
    
    zstd still needs -q because otherwise it is noisy in normal
    operation.
    
    The code to detect real SIGPIPE didn't check if the exit status
    was due to a signal (>= 128) and so could ignore some other exit
    status too.

 src/scripts/xzgrep.in | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

commit 09c331b03c801414d547fc25711daf099cef6fb5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2021-01-11 22:01:51 +0200

    Scripts: Fix exit status of xzdiff/xzcmp.
    
    This is a minor fix since this affects only the situation when
    the files differ and the exit status is something else than 0.
    In such case there could be SIGPIPE from a decompression tool
    and that would result in exit status of 2 from xzdiff/xzcmp
    while the correct behavior would be to return 1 or whatever
    else diff or cmp may have returned.
    
    This commit omits the -q option from xz/gzip/bzip2/lzop arguments.
    I'm not sure why the -q was used in the first place, perhaps it
    hides warnings in some situation that I cannot see at the moment.
    Hopefully the removal won't introduce a new bug.
    
    With gzip the -q option was harmful because it made gzip return 2
    instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning
    from gzip) isn't practical because bzip2 uses exit status 2 to
    indicate corrupt input file. It's better if SIGPIPE results in
    exit status >= 128.
    
    With bzip2 the removal of -q seems to be good because with -q
    it prints nothing if input is corrupt. The other tools aren't
    silent in this situation even with -q. On the other hand, if
    zstd support is added, it will need -q since otherwise it's
    noisy in normal situations.
    
    Thanks to Étienne Mollier and Sebastian Andrzej Siewior.

 src/scripts/xzdiff.in | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

commit b33a345cbab90e18b601d26cc3a0dea083b7d8d9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-12-23 17:15:49 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit c01e29a933baba737217a3549eaaced7e499edf5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   2020-12-23 06:49:04 -0800

    liblzma: Enable Intel CET in x86 CRC assembly codes
    
    When Intel CET is enabled, we need to include <cet.h> in assembly codes
    to mark Intel CET support and add _CET_ENDBR to indirect jump targets.
    
    Tested on Intel Tiger Lake under CET enabled Linux.

 src/liblzma/check/crc32_x86.S | 9 +++++++++
 src/liblzma/check/crc64_x86.S | 9 +++++++++
 2 files changed, 18 insertions(+)

commit 0983682f87ae1a9efcbe4e45579d53c9bca16500
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-12-16 18:33:29 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 880596e4b8731b24f6c19cb737ed7d06fe92dda2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-12-16 18:30:14 +0200

    Build: Don't build bundles on Apple OSes.
    
    Thanks to Daniel Packard.

 CMakeLists.txt | 3 +++
 1 file changed, 3 insertions(+)

commit 29050c79f1f83bf73714146a44dfbb4d26e27920
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-12-05 22:44:03 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 94fd72474973978f8369be7c23f77c3b741953a6
Author: Adam Borowski <kilobyte@angband.pl>
Date:   2020-09-25 03:35:18 +0200

    Scripts: Add zstd support to xzgrep.
    
    Thanks to Adam Borowski.

 src/scripts/xzgrep.1  | 9 ++++++---
 src/scripts/xzgrep.in | 1 +
 2 files changed, 7 insertions(+), 3 deletions(-)

commit 13c58ac13e1a84c30de24191931af425286d0550
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-11-17 20:51:48 +0200

    CMake: Fix compatibility with CMake 3.13.
    
    The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14.
    In some other places the code treats the cache variables
    like normal variables already (${FOO} or if(FOO) is used,
    not ${CACHE{FOO}).
    
    Thanks to ygrek for reporting the bug on IRC.

 CMakeLists.txt              | 2 +-
 cmake/tuklib_cpucores.cmake | 4 ++--
 cmake/tuklib_physmem.cmake  | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 8f7d3345a7c31a20a544dc04232715b1bcdc91f7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-11-01 22:56:43 +0200

    Update THANKS.

 THANKS | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit ca7bcdb30f14e7cd66fe357d10046442eee648a0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-11-01 22:34:25 +0200

    xz: Avoid unneeded \f escapes on the man page.
    
    I don't want to use \c in macro arguments but groff_man(7)
    suggests that \f has better portability. \f would be needed
    for the .TP strings for portability reasons anyway.
    
    Thanks to Bjarni Ingi Gislason.

 src/xz/xz.1 | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

commit 3b40a0792ee5ba0dd4d9ab129b4443585bbfdd14
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-11-01 19:09:53 +0200

    xz: Use non-breaking spaces when intentionally using more than one space.
    
    This silences some style checker warnings. Seems that spaces
    in the beginning of a line don't need this treatment.
    
    Thanks to Bjarni Ingi Gislason.

 src/xz/xz.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d85699c36df5f839b82800a6e63151eff25677eb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-11-01 18:49:37 +0200

    xz: Protect the ellipsis (...) on the man page with \&.
    
    This does it only when ... appears outside macro calls.
    
    Thanks to Bjarni Ingi Gislason.

 src/xz/xz.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d996ae66176206de9b4d485b250a88b2d9ded151
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-11-01 18:41:21 +0200

    xz: Avoid the abbreviation "e.g." on the man page.
    
    A few are simply omitted, most are converted to "for example"
    and surrounded with commas. Sounds like that this is better
    style, for example, man-pages(7) recommends avoiding such
    abbreviations except in parenthesis.
    
    Thanks to Bjarni Ingi Gislason.

 src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 33 insertions(+), 33 deletions(-)

commit d16d0d198ade6820ed9d39ba6a7068b55b8bf6dc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-07-12 23:10:03 +0300

    xz man page: Change \- (minus) to \(en (en-dash) for a numeric range.
    
    Docs of ancient troff/nroff mention \(em (em-dash) but not \(en
    and \- was used for both minus and en-dash. I don't know how
    portable \(en is nowadays but it can be changed back if someone
    complains. At least GNU groff and OpenBSD's mandoc support it.
    
    Thanks to Bjarni Ingi Gislason for the patch.

 src/xz/xz.1 | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 3acf1adfc768c7d2290e138bcb1109145e4d8160
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-07-12 20:46:24 +0300

    Windows: Fix building of resource files when config.h isn't used.
    
    Now CMake + Visual Studio works for building liblzma.dll.
    
    Thanks to Markus Rickert.

 src/common/common_w32res.rc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit adba06e649875b45b5b671f5ab45f694144938d4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-04-06 19:31:50 +0300

    src/scripts/xzgrep.1: Filenames to xzgrep are optional.
    
    xzgrep --help was correct already.

 src/scripts/xzgrep.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7be1dcf8585e150bffb57a6ad499a63edd0d3494
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-12 17:59:41 +0300

    Translations: Add Portuguese translation.
    
    Jia Tan made white-space changes and also changed "Language: pt_BR\n"
    to pt. The translator wasn't reached so I'm hoping these changes
    are OK and will commit it without translator's approval.
    
    Thanks to Pedro Albuquerque and Jia Tan.

 po/LINGUAS |    1 +
 po/pt.po   | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1002 insertions(+)

commit 3f94d2a568290bf770a762ee69403955fdb0a228
Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Date:   2020-03-26 22:17:31 +0000

    src/script/xzgrep.1: Remove superfluous '.RB'
    
    Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
    
      [ "test-groff" is a developmental version of "groff" ]
    
    Input file is ./src/scripts/xzgrep.1
    
    <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected
    <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected
    <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected
    <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected
    <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected
    
     "abc..." does not mean the same as "abc ...".
    
      The output from nroff and troff is unchanged except for the space
    between "file" and "...".
    
    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>

 src/scripts/xzgrep.1 | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 725d9791c90b7cef19a3ab4d7469b567101c2a87
Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Date:   2020-03-30 21:56:36 +0000

    xzgrep.1: Delete superfluous '.PP'
    
    Summary:
    
    mandoc -T lint xzgrep.1 :
    mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty
    
      There is no change in the output of "nroff" and "troff".
    
    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>

 src/scripts/xzgrep.1 | 1 -
 1 file changed, 1 deletion(-)

commit 55c2555c5d420e9251a97828022e5c8c4d786dac
Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Date:   2020-03-26 21:16:18 +0000

    src/xz/xz.1: Correct misused two-fonts macros
    
    Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
    
      [ "test-groff" is a developmental version of "groff" ]
    
    Input file is ./src/xz/xz.1
    
    <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected
    <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected
    <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected
    <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected
    <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected
    
      Output from nroff and troff is unchanged, except for a font change of a
    full stop (.).
    
    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>

 src/xz/xz.1 | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 55e3a8e0e437279223c108085dccddc60b06036c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-10 21:16:40 +0300

    Translations: Add Serbian translation.
    
    Quite a few white-space changes were made by Jia Tan to make
    this look good. Contacting the translator didn't succeed so
    I'm committing this without getting translator's approval.
    
    Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan.

 po/LINGUAS |   1 +
 po/sr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 988 insertions(+)

commit 4e04279cbe8c1af25dde42ebf740722deded27a0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-04 23:51:36 +0300

    Translations: Add Swedish translation.
    
    Thanks to Sebastian Rasmussen and Jia Tan.

 po/LINGUAS |   1 +
 po/sv.po   | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 984 insertions(+)

commit 27f55e96b0cdae3fc51b409663b6c017a88ea8bc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-04 23:40:27 +0300

    Translations: Add Esperanto translation.
    
    Thanks to Keith Bowes and Jia Tan.

 po/LINGUAS |   1 +
 po/eo.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 985 insertions(+)

commit be31be9e8f12cf6fce4be1ab822660ad411e803b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-07-01 00:22:33 +0300

    Translations: Add Catalan translation.
    
    Thanks to Jordi Mas and Jia Tan.

 po/LINGUAS |    1 +
 po/ca.po   | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1077 insertions(+)

commit 30e3ad040f4e7ba1a0e97179d6fd62a1201c863b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-06-30 17:47:08 +0300

    Translations: Add Ukrainian translation.
    
    Thanks to Yuri Chornoivan and Jia Tan.

 po/LINGUAS |   1 +
 po/uk.po   | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 997 insertions(+)

commit f2e2cce49f7b07e8985ba6add4b4ca79b22eddd0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-06-30 17:45:26 +0300

    Translators: Add Romanian translation.
    
    Thanks to Remus-Gabriel Chelu and Jia Tan.

 po/LINGUAS |    1 +
 po/ro.po   | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1017 insertions(+)

commit a12fd5bad2aa922c9b4cf96d16632696f3e0584e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-06-29 18:33:32 +0300

    Translations: Update Brazilian Portuguese translation.
    
    One msgstr was changed. The diff is long due to changes
    in the source code line numbers in the comments.
    
    Thanks to Rafael Fontenelle.

 po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------
 1 file changed, 92 insertions(+), 94 deletions(-)

commit dd713288d27a0d64426d74effe9187087496333c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-06-29 18:04:44 +0300

    Translations: Add Croatian translation.
    
    Thanks to Božidar Putanec and Jia Tan.

 po/LINGUAS |   1 +
 po/hr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 988 insertions(+)

commit 016980f26974623a4bcd889b6ba5a0caa4b2f57f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-06-29 17:58:48 +0300

    Translations: Add Spanish translation.
    
    Thanks to Cristian Othón Martínez Vera and Jia Tan.

 po/LINGUAS |   1 +
 po/es.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 985 insertions(+)

commit 4fe9578c3aab21e6ceb8f0ea470bc87821f5907f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2022-06-29 17:49:43 +0300

    Translations: Add Korean translation.
    
    Thanks to Seong-ho Cho and Jia Tan.

 po/LINGUAS |   1 +
 po/ko.po   | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 973 insertions(+)

commit cf1ec5518e6e3d89f57685ac83b81ab228e48bcd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-23 18:09:40 +0200

    v5.2-specific typo fix from fossies.org.

 README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 968bbfea09447a4f52e856bb97301aca80e40dcb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-23 18:07:50 +0200

    Typo fixes from fossies.org.
    
    https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html

 Makefile.am                     | 2 +-
 doc/examples/01_compress_easy.c | 2 +-
 src/liblzma/api/lzma/base.h     | 2 +-
 src/liblzma/check/crc32_x86.S   | 2 +-
 src/liblzma/common/index.c      | 2 +-
 src/xz/xz.1                     | 4 ++--
 6 files changed, 7 insertions(+), 7 deletions(-)

commit 2327a461e1afce862c22269b80d3517801103c1b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-17 16:27:42 +0200

    Bump version and soname for 5.2.5.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 3be82d2f7dc882258caf0f0a69214e5916b2bdda
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-17 16:26:04 +0200

    Update NEWS for 5.2.5.

 NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)

commit ab3e57539c7337f0653b13b75dbc5d03ade9700e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-16 21:57:21 +0200

    Translations: Rebuild cs.po to avoid incorrect fuzzy strings.
    
    "make dist" updates the .po files and the fuzzy strings would
    result in multiple very wrong translations.

 po/cs.po | 592 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 322 insertions(+), 270 deletions(-)

commit 3a6f38309dc5d44d8a63ebb337b6b2028561c93e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-16 20:01:37 +0200

    README: Update outdated sections.

 README | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

commit 9cc0901798217e258e91c13cf6fda7ad42ba108c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-16 19:46:27 +0200

    README: Mention that translatable strings will change after 5.2.x.

 README | 74 +++---------------------------------------------------------------
 1 file changed, 3 insertions(+), 71 deletions(-)

commit cc163574249f6a4a66f3dc09d6fe5a71bee24fab
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-16 19:39:45 +0200

    README: Mention that man pages can be translated.

 README | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit ca261994edc3f2d03d5589c037171c63471ee9dc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-16 17:30:39 +0200

    Translations: Add partial Danish translation.
    
    I made a few minor white space changes without getting them
    approved by the Danish translation team.

 po/LINGUAS |   1 +
 po/da.po   | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 897 insertions(+)

commit 51cd5d051fc730d61411dee292e863582784e189
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-16 16:43:29 +0200

    Update INSTALL.generic from Automake 1.16.1.

 INSTALL.generic | 321 ++++++++++++++++++++++++++++----------------------------
 1 file changed, 162 insertions(+), 159 deletions(-)

commit 69d694e5f1beae2bbfa3b6c348ec0ec5f14b5cd0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-15 15:27:22 +0200

    Update INSTALL for Windows and DOS and add preliminary info for z/OS.

 INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 41 insertions(+), 10 deletions(-)

commit 2c3b1bb80a3ca7e09728fe4d7a1d8648a5cb9bca
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-15 15:26:20 +0200

    Build: Update m4/ax_pthread.m4 from Autoconf Archive (again).

 m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++--------------------------
 1 file changed, 117 insertions(+), 102 deletions(-)

commit 74a5af180a6a6c4b8c90cefb37ee900d3fea7dc6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 21:15:35 +0200

    xz: Never use thousand separators in DJGPP builds.
    
    DJGPP 2.05 added support for thousands separators but it's
    broken at least under WinXP with Finnish locale that uses
    a non-breaking space as the thousands separator. Workaround
    by disabling thousands separators for DJGPP builds.

 src/xz/util.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit ceba0d25e826bcdbf64bb4cb03385a2a66f8cbcb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 19:38:08 +0200

    DOS: Update dos/Makefile for DJGPP 2.05.
    
    It doesn't need -fgnu89-inline like 2.04beta did.

 dos/Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 29e5bd71612253281fb22bbaa0a566990a74dcc3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 19:36:07 +0200

    DOS: Update instructions in dos/INSTALL.txt.

 dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++-----------------------------
 1 file changed, 29 insertions(+), 30 deletions(-)

commit 00a037ee9c8ee5a03cf9744e05570ae93d56b875
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 17:58:51 +0200

    DOS: Update config.h.
    
    The added defines assume GCC >= 4.8.

 dos/config.h | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 4ec2feaefa310b4249eb41893caf526e5c51ee39
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 22:37:54 +0200

    Translations: Add hu, zh_CN, and zh_TW.
    
    I made a few white space changes to these without getting them
    approved by the translation teams. (I tried to contact the hu and
    zh_TW teams but didn't succeed. I didn't contact the zh_CN team.)

 po/LINGUAS  |   3 +
 po/hu.po    | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 2907 insertions(+)

commit b6ed09729ae408be4533a0ddbc7df3d6f566846a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 14:33:30 +0200

    Translations: Update vi.po to match the file from the TP.
    
    The translated strings haven't been updated but word wrapping
    is different.

 po/vi.po | 407 ++++++++++++++++++++++++++++-----------------------------------
 1 file changed, 179 insertions(+), 228 deletions(-)

commit 7c85e8953ced204c858101872a15183e4639e9fb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 14:18:03 +0200

    Translations: Add fi and pt_BR, and update de, fr, it, and pl.
    
    The German translation isn't identical to the file in
    the Translation Project but the changes (white space changes
    only) were approved by the translator Mario Blättermann.

 po/LINGUAS  |    2 +
 po/de.po    |  476 ++++++++++++++--------------
 po/fi.po    |  974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 po/fr.po    |  272 ++++++++--------
 po/it.po    |  479 ++++++++++++----------------
 po/pl.po    |  239 +++++++-------
 po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 2697 insertions(+), 746 deletions(-)

commit 7da3ebc67fb5414034685ec16c7a29dad03dfa9b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-25 21:35:14 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 1acc48794364606c9091cae6fa56db75a1325114
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-03-11 13:05:29 +0200

    Build: Add very limited experimental CMake support.
    
    This version matches CMake files in the master branch (commit
    265daa873c0d871f5f23f9b56e133a6f20045a0a) except that this omits
    two source files that aren't in v5.2 and in the beginning of
    CMakeLists.txt the first paragraph in the comment is slightly
    different to point out possible issues in building shared liblzma.

 CMakeLists.txt              | 659 ++++++++++++++++++++++++++++++++++++++++++++
 cmake/tuklib_common.cmake   |  49 ++++
 cmake/tuklib_cpucores.cmake | 175 ++++++++++++
 cmake/tuklib_integer.cmake  | 102 +++++++
 cmake/tuklib_mbstr.cmake    |  20 ++
 cmake/tuklib_physmem.cmake  | 150 ++++++++++
 cmake/tuklib_progname.cmake |  19 ++
 7 files changed, 1174 insertions(+)

commit 9acc6abea1552803c74c1486fbb10af119550772
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-27 20:24:27 +0200

    Build: Add support for --no-po4a option to autogen.sh.
    
    Normally, if po4a isn't available, autogen.sh will return
    with non-zero exit status. The option --no-po4a can be useful
    when one knows that po4a isn't available but wants autogen.sh
    to still return with zero exit status.

 autogen.sh | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit c8853b31545db7bd0551be85949624b1261efd47
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-24 23:37:07 +0200

    Update m4/.gitignore.

 m4/.gitignore | 1 +
 1 file changed, 1 insertion(+)

commit 901eb4a8c992354c3ea482f5bad60a1f8ad6fcc8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-24 23:01:00 +0200

    liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c.
    
    This file only generates fastpos_table.c.
    It isn't built as a part of liblzma.

 src/liblzma/lzma/fastpos_tablegen.c | 1 -
 1 file changed, 1 deletion(-)

commit ac35c9585fb734b7a19785d490c152e0b8cd4663
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-22 14:15:07 +0200

    Use defined(__GNUC__) before __GNUC__ in preprocessor lines.
    
    This should silence the equivalent of -Wundef in compilers that
    don't define __GNUC__.

 src/common/sysdefs.h   | 3 ++-
 src/liblzma/api/lzma.h | 5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)

commit fb9cada7cfade1156d6277717280e05b5cd342d6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-21 17:40:02 +0200

    liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA.
    
    This gives a tiny encoder speed improvement. This could have been done
    in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but
    it was forgotten.

 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit 6117955af0b9cef5acde7859e86f773692b5f43c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-21 17:01:15 +0200

    Build: Add visibility.m4 from gnulib.
    
    Appears that this file used to get included as a side effect of
    gettext. After the change to gettext version requirements this file
    no longer got copied to the package and so the build was broken.

 m4/.gitignore    |  1 -
 m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+), 1 deletion(-)

commit c2cc64d78c098834231f9cfd7d852c9cd8950d74
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-21 16:10:44 +0200

    xz: Silence a warning when sig_atomic_t is long int.
    
    It can be true at least on z/OS.

 src/xz/signals.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b6314aa275b35c714e0a191d0b2e9b6106129ea9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-21 15:59:26 +0200

    xz: Avoid unneeded access of a volatile variable.

 src/xz/signals.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f772a1572f723e5dc7d2d32e1d4287ac7a0da55e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-21 01:24:18 +0200

    tuklib_integer.m4: Optimize the check order.
    
    The __builtin byteswapping is the preferred one so check for it first.

 m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++-------------------------
 1 file changed, 29 insertions(+), 27 deletions(-)

commit 641042e63f665f3231c2fd1241fd3dddda3fb313
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-20 18:54:04 +0200

    tuklib_exit: Add missing header.
    
    strerror() needs <string.h> which happened to be included via
    tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H
    was defined. This wasn't tested without config.h before so it
    had worked fine.

 src/common/tuklib_exit.c | 1 +
 1 file changed, 1 insertion(+)

commit dbd55a69e530fec9ae866aaf6c3ccc0b4daf1f1f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-16 11:18:28 +0200

    sysdefs.h: Omit the conditionals around string.h and limits.h.
    
    string.h is used unconditionally elsewhere in the project and
    configure has always stopped if limits.h is missing, so these
    headers must have been always available even on the weirdest
    systems.

 src/common/sysdefs.h | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

commit 9294909861e6d22b32418467e0e988f953a82264
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-15 15:07:11 +0200

    Build: Bump Autoconf and Libtool version requirements.
    
    There is no specific reason for this other than blocking
    the most ancient versions. These are still old:
    
    Autoconf 2.69 (2012)
    Automake 1.12 (2012)
    gettext 0.19.6 (2015)
    Libtool 2.4 (2010)

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit bd09081bbdf552f730030d2fd0e5e39ccb3936af
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-15 03:08:32 +0200

    Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6.
    
    This bumps the version requirement from 0.19 (from 2014) to
    0.19.6 (2015).
    
    Using only the old AM_GNU_GETTEXT_VERSION results in old
    gettext infrastructure being placed in the package. By using
    both macros we get the latest gettext files while the other
    programs in the Autotools family can still see the old macro.

 configure.ac | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 1e5e08d86534aec7ca957982c7f6e90203c19e9f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-14 20:42:06 +0200

    Translations: Add German translation of the man pages.
    
    Thanks to Mario Blättermann.

 po4a/de.po     | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 po4a/po4a.conf |    2 +-
 2 files changed, 5533 insertions(+), 1 deletion(-)

commit 4b1447809ffbc0d77c0ad456bd6b3afcf0b8623e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-07 15:32:21 +0200

    Build: Add support for translated man pages using po4a.
    
    The dependency on po4a is optional. It's never required to install
    the translated man pages when xz is built from a release tarball.
    If po4a is missing when building from xz.git, the translated man
    pages won't be generated but otherwise the build will work normally.
    
    The translations are only updated automatically by autogen.sh and
    by "make mydist". This makes it easy to keep po4a as an optional
    dependency and ensures that I won't forget to put updated
    translations to a release tarball.
    
    The translated man pages aren't installed if --disable-nls is used.
    
    The installation of translated man pages abuses Automake internals
    by calling "install-man" with redefined dist_man_MANS and man_MANS.
    This makes the hairy script code slightly less hairy. If it breaks
    some day, this code needs to be fixed; don't blame Automake developers.
    
    Also, this adds more quotes to the existing shell script code in
    the Makefile.am "-hook"s.

 Makefile.am             |  4 ++++
 autogen.sh              |  8 ++++---
 po4a/.gitignore         |  2 ++
 po4a/po4a.conf          | 14 +++++++++++
 po4a/update-po          | 45 ++++++++++++++++++++++++++++++++++
 src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------
 src/xz/Makefile.am      | 50 +++++++++++++++++++++++++++-----------
 src/xzdec/Makefile.am   | 55 ++++++++++++++++++++++++++++++++----------
 8 files changed, 197 insertions(+), 45 deletions(-)

commit 882fcfdcd86525cc5c6f6d0bf0230d0089206d13
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-06 00:04:42 +0200

    Update THANKS (sync with the master branch).

 THANKS | 3 +++
 1 file changed, 3 insertions(+)

commit 134bb7765815d5f265eb0bc9e6ebacd9ae4a52bc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-05 22:35:06 +0200

    Update tests/.gitignore.

 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)

commit 6912472fafb656be8f4c5b4ac9ea28fea3065de4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-05 22:28:51 +0200

    Update m4/.gitignore.

 m4/.gitignore | 1 +
 1 file changed, 1 insertion(+)

commit 68c60735bbb6e51d4205ba8a9fde307bcfb22f8c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-05 20:47:38 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit e1beaa74bc7cb5a409d59b55870e01ae7784ce3a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-05 20:33:50 +0200

    xz: Comment out annoying sandboxing messages.

 src/xz/file_io.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit 8238192652290df78bd728b20e3f6542d1a2819e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-05 19:33:37 +0200

    Build: Workaround a POSIX shell detection problem on Solaris.
    
    I don't know if the problem is in gnulib's gl_POSIX_SHELL macro
    or if xzgrep does something that isn't in POSIX. The workaround
    adds a special case for Solaris: if /usr/xpg4/bin/sh exists and
    gl_cv_posix_shell wasn't overriden on the configure command line,
    use that shell for xzgrep and other scripts. That shell is known
    to work and exists on most Solaris systems.

 configure.ac | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 93a1f61e892e145607dd938e3b30098af19a1672
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-03 22:03:50 +0200

    Build: Update m4/ax_pthread.m4 from Autoconf Archive.

 m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 279 insertions(+), 119 deletions(-)

commit d0daa21792ff861e5423bbd82aaa6c8ba9fa0462
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-01 19:56:18 +0200

    xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz.
    
    See the code comment for reasoning. It's far from perfect but
    hopefully good enough for certain cases while hopefully doing
    nothing bad in other situations.
    
    At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference
    on how xz scales down the number of threads.
    
    The limit has to be a few MiB below 4096 MiB because otherwise
    things like "xz --lzma2=dict=500MiB" won't scale down the dict
    size enough and xz cannot allocate enough memory. With
    "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had
    to be no more than 4085 MiB. Some safety margin is good though.
    
    This is hack but it should be useful when running 32-bit xz on
    a 64-bit kernel that gives full 4 GiB address space to xz.
    Hopefully this is enough to solve this:
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1196786
    
    FreeBSD has a patch that limits the result in tuklib_physmem()
    to SIZE_MAX on 32-bit systems. While I think it's not the way
    to do it, the results on --memlimit-compress have been good. This
    commit should achieve practically identical results for compression
    while leaving decompression and tuklib_physmem() and thus
    lzma_physmem() unaffected.

 src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++-
 src/xz/xz.1       | 21 ++++++++++++++++++++-
 2 files changed, 51 insertions(+), 2 deletions(-)

commit 4433c2dc5727ee6aef570e001a5a024e0d94e609
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-01-26 20:53:25 +0200

    xz: Set the --flush-timeout deadline when the first input byte arrives.
    
    xz --flush-timeout=2000, old version:
    
      1. xz is started. The next flush will happen after two seconds.
      2. No input for one second.
      3. A burst of a few kilobytes of input.
      4. No input for one second.
      5. Two seconds have passed and flushing starts.
    
    The first second counted towards the flush-timeout even though
    there was no pending data. This can cause flushing to occur more
    often than needed.
    
    xz --flush-timeout=2000, after this commit:
    
      1. xz is started.
      2. No input for one second.
      3. A burst of a few kilobytes of input. The next flush will
         happen after two seconds counted from the time when the
         first bytes of the burst were read.
      4. No input for one second.
      5. No input for another second.
      6. Two seconds have passed and flushing starts.

 src/xz/coder.c   | 6 +-----
 src/xz/file_io.c | 6 +++++-
 src/xz/mytime.c  | 1 -
 3 files changed, 6 insertions(+), 7 deletions(-)

commit acc0ef3ac80f18e349c6d0252177707105c0a29c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-01-26 20:19:19 +0200

    xz: Move flush_needed from mytime.h to file_pair struct in file_io.h.

 src/xz/coder.c   | 3 ++-
 src/xz/file_io.c | 3 ++-
 src/xz/file_io.h | 3 +++
 src/xz/mytime.c  | 3 ---
 src/xz/mytime.h  | 4 ----
 5 files changed, 7 insertions(+), 9 deletions(-)

commit 4afe69d30b66812682a2016ee18441958019cbb2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-01-26 14:49:22 +0200

    xz: coder.c: Make writing output a separate function.
    
    The same code sequence repeats so it's nicer as a separate function.
    Note that in one case there was no test for opt_mode != MODE_TEST,
    but that was only because that condition would always be true, so
    this commit doesn't change the behavior there.

 src/xz/coder.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

commit ec26f3ace5f9b260ca91508030f07465ae2f9f78
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-01-26 14:13:42 +0200

    xz: Fix semi-busy-waiting in xz --flush-timeout.
    
    When input blocked, xz --flush-timeout=1 would wake up every
    millisecond and initiate flushing which would have nothing to
    flush and thus would just waste CPU time. The fix disables the
    timeout when no input has been seen since the previous flush.

 src/xz/coder.c   |  4 ++++
 src/xz/file_io.c | 15 +++++++++++----
 src/xz/file_io.h |  4 ++++
 3 files changed, 19 insertions(+), 4 deletions(-)

commit 38915703241e69a64f133ff9a02ec9100c6019c6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-01-26 13:47:31 +0200

    xz: Refactor io_read() a bit.

 src/xz/file_io.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

commit f6d24245349cecfae6ec0d2366fa80716c9f6d37
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-01-26 13:37:08 +0200

    xz: Update a comment in file_io.h.

 src/xz/file_io.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 15b55d5c63d27f81776edb1abc05872a751fc674
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-01-26 13:27:51 +0200

    xz: Move the setting of flush_needed in file_io.c to a nicer location.

 src/xz/file_io.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 609c7067859146ffc62ac655f6ba53599c891801
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2020-02-05 19:56:09 +0200

    xz: Enable Capsicum sandboxing by default if available.
    
    It has been enabled in FreeBSD for a while and reported to work fine.
    
    Thanks to Xin Li.

 INSTALL      | 6 ------
 configure.ac | 8 ++++----
 2 files changed, 4 insertions(+), 10 deletions(-)

commit 00517d125cc26ecece0eebb84c1c3975cd19bee0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-12-31 22:41:45 +0200

    Rename unaligned_read32ne to read32ne, and similarly for the others.

 src/common/tuklib_integer.h               | 64 +++++++++++++++----------------
 src/liblzma/common/alone_encoder.c        |  2 +-
 src/liblzma/common/block_header_decoder.c |  2 +-
 src/liblzma/common/block_header_encoder.c |  2 +-
 src/liblzma/common/memcmplen.h            |  9 ++---
 src/liblzma/common/stream_flags_decoder.c |  6 +--
 src/liblzma/common/stream_flags_encoder.c |  8 ++--
 src/liblzma/lz/lz_encoder_hash.h          |  2 +-
 src/liblzma/lzma/lzma_decoder.c           |  2 +-
 src/liblzma/lzma/lzma_encoder.c           |  2 +-
 src/liblzma/lzma/lzma_encoder_private.h   |  3 +-
 src/liblzma/simple/simple_decoder.c       |  2 +-
 src/liblzma/simple/simple_encoder.c       |  2 +-
 tests/test_block_header.c                 |  4 +-
 tests/test_stream_flags.c                 |  6 +--
 15 files changed, 54 insertions(+), 62 deletions(-)

commit 52d89d8443c4a31a69c0701062f2c7711d82bbed
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-12-31 00:29:48 +0200

    Rename read32ne to aligned_read32ne, and similarly for the others.
    
    Using the aligned methods requires more care to ensure that
    the address really is aligned, so it's nicer if the aligned
    methods are prefixed. The next commit will remove the unaligned_
    prefix from the unaligned methods which in liblzma are used in
    more places than the aligned ones.

 src/common/tuklib_integer.h    | 56 +++++++++++++++++++++---------------------
 src/liblzma/check/crc32_fast.c |  4 +--
 src/liblzma/check/crc64_fast.c |  4 +--
 3 files changed, 32 insertions(+), 32 deletions(-)

commit 850620468b57d49f16093e5870d1050886fcb37a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-12-31 00:18:24 +0200

    Revise tuklib_integer.h and .m4.
    
    Add a configure option --enable-unsafe-type-punning to get the
    old non-conforming memory access methods. It can be useful with
    old compilers or in some other less typical situations but
    shouldn't normally be used.
    
    Omit the packed struct trick for unaligned access. While it's
    best in some cases, this is simpler. If the memcpy trick doesn't
    work, one can request unsafe type punning from configure.
    
    Because CRC32/CRC64 code needs fast aligned reads, if no very
    safe way to do it is found, type punning is used as a fallback.
    This sucks but since it currently works in practice, it seems to
    be the least bad option. It's never needed with GCC >= 4.7 or
    Clang >= 3.6 since these support __builtin_assume_aligned and
    thus fast aligned access can be done with the memcpy trick.
    
    Other things:
      - Support GCC/Clang __builtin_bswapXX
      - Cleaner bswap fallback macros
      - Minor cleanups

 m4/tuklib_integer.m4        |  43 ++++
 src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++--------------------
 2 files changed, 314 insertions(+), 217 deletions(-)

commit a45badf0342666462cc6a7107a071418570ab773
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-12-29 22:51:58 +0200

    Tests: Hopefully fix test_check.c to work on EBCDIC systems.
    
    Thanks to Daniel Richard G.

 tests/test_check.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit c9a8071e6690a8db8a485c075920df254e7c70ea
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-09-24 23:02:40 +0300

    Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris.
    
    This adds a configure option --enable-path-for-scripts=PREFIX
    which defaults to empty except on Solaris it is /usr/xpg4/bin
    to make POSIX grep and others available. The Solaris case had
    been documented in INSTALL with a manual fix but it's better
    to do this automatically since it is needed on most Solaris
    systems anyway.
    
    Thanks to Daniel Richard G.

 INSTALL               | 43 +++++++++++++++++++++++++++++++++++--------
 configure.ac          | 26 ++++++++++++++++++++++++++
 src/scripts/xzdiff.in |  1 +
 src/scripts/xzgrep.in |  1 +
 src/scripts/xzless.in |  1 +
 src/scripts/xzmore.in |  1 +
 6 files changed, 65 insertions(+), 8 deletions(-)

commit aba140e2df3ff63ad124ae997de16d517b98ca50
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-07-12 18:57:43 +0300

    Fix comment typos in tuklib_mbstr* files.

 src/common/tuklib_mbstr.h       | 2 +-
 src/common/tuklib_mbstr_fw.c    | 2 +-
 src/common/tuklib_mbstr_width.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 710f5bd769a5d2bd8684256c2727d15350ee2ab8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-07-12 18:30:46 +0300

    Add missing include to tuklib_mbstr_width.c.
    
    It didn't matter in XZ Utils because sysdefs.h
    includes string.h anyway.

 src/common/tuklib_mbstr_width.c | 1 +
 1 file changed, 1 insertion(+)

commit 0e491aa8cd72e0100cd15c1b9469cd57fae500b0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-25 23:15:21 +0300

    liblzma: Fix a buggy comment.

 src/liblzma/lz/lz_encoder_mf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bfc245569f340a75bd71ad32a6beba786712683b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-25 00:16:06 +0300

    configure.ac: Fix a typo in a comment.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f18eee9d15a22c8449ef395a05f0eb637c4ad253
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-25 00:08:13 +0300

    Tests: Silence warnings from clang -Wassign-enum.
    
    Also changed 999 to 99 so it fits even if lzma_check happened
    to be 8 bits wide.

 tests/test_block_header.c | 3 ++-
 tests/test_stream_flags.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 25f74554723e8deabc66fed1abf0ec27a4ed19d5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-24 23:52:17 +0300

    liblzma: Add a comment.

 src/liblzma/common/stream_encoder_mt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 44eb961f2a51d02420d017bc5ff470360663650c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-24 23:45:21 +0300

    liblzma: Silence clang -Wmissing-variable-declarations.

 src/liblzma/check/crc32_table.c | 3 +++
 src/liblzma/check/crc64_table.c | 3 +++
 2 files changed, 6 insertions(+)

commit 267afcd9955e668c1532b069230c21c348eb4f82
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-24 22:57:43 +0300

    xz: Silence a warning from clang -Wsign-conversion in main.c.

 src/xz/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0e3c4002f809311ecef239b05e556d9c462b5703
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-24 22:47:39 +0300

    liblzma: Remove incorrect uses of lzma_attribute((__unused__)).
    
    Caught by clang -Wused-but-marked-unused.

 src/liblzma/common/alone_decoder.c | 3 +--
 src/liblzma/common/alone_encoder.c | 3 +--
 src/liblzma/lz/lz_decoder.c        | 3 +--
 3 files changed, 3 insertions(+), 6 deletions(-)

commit cb708e8fa3405ec13a0ebfebbbf2793f927deab1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-24 20:53:55 +0300

    Tests: Silence a warning from -Wsign-conversion.

 tests/create_compress_files.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit c8cace3d6e965c0fb537591372bf71b9357dd76c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-24 20:45:49 +0300

    xz: Fix an integer overflow with 32-bit off_t.
    
    Or any off_t which isn't very big (like signed 64 bit integer
    that most system have). A small off_t could overflow if the
    file being decompressed had long enough run of zero bytes,
    which would result in corrupt output.

 src/xz/file_io.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit 65a42741e290fbcd85dfc5db8a62c4bce5f7712c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-24 00:57:23 +0300

    Tests: Remove a duplicate branch from tests/tests.h.
    
    The duplication was introduced about eleven years ago and
    should have been cleaned up back then already.
    
    This was caught by -Wduplicated-branches.

 tests/tests.h | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

commit 5c4fb60e8df026e933afab0cfe0a8b55be20036c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-23 23:22:45 +0300

    tuklib_mbstr_width: Fix a warning from -Wsign-conversion.

 src/common/tuklib_mbstr_width.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 37df03ce52ce53710e1513387648763f8a744154
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-23 23:19:34 +0300

    xz: Fix some of the warnings from -Wsign-conversion.

 src/xz/args.c    | 4 ++--
 src/xz/coder.c   | 4 ++--
 src/xz/file_io.c | 5 +++--
 src/xz/message.c | 4 ++--
 src/xz/mytime.c  | 4 ++--
 src/xz/options.c | 2 +-
 src/xz/util.c    | 4 ++--
 7 files changed, 14 insertions(+), 13 deletions(-)

commit 7c65ae0f5f2e2431f88621e8fe6d1dc7907e30c1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-23 22:27:45 +0300

    tuklib_cpucores: Silence warnings from -Wsign-conversion.

 src/common/tuklib_cpucores.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit a502dd1d000b598406637d452f535f4bbd43e2a4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-23 21:40:47 +0300

    xzdec: Fix warnings from -Wsign-conversion.

 src/xzdec/xzdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a45d1a5374ceb22e23255b0b595b9e641e9860af
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-23 21:38:56 +0300

    liblzma: Fix warnings from -Wsign-conversion.
    
    Also, more parentheses were added to the literal_subcoder
    macro in lzma_comon.h (better style but no functional change
    in the current usage).

 src/liblzma/common/block_header_decoder.c |  2 +-
 src/liblzma/delta/delta_decoder.c         |  2 +-
 src/liblzma/lzma/fastpos.h                |  2 +-
 src/liblzma/lzma/lzma2_decoder.c          |  8 ++++----
 src/liblzma/lzma/lzma_common.h            |  3 ++-
 src/liblzma/lzma/lzma_decoder.c           | 16 ++++++++--------
 src/liblzma/simple/arm.c                  |  6 +++---
 src/liblzma/simple/armthumb.c             |  8 ++++----
 src/liblzma/simple/ia64.c                 |  2 +-
 src/liblzma/simple/powerpc.c              |  9 +++++----
 src/liblzma/simple/x86.c                  |  2 +-
 11 files changed, 31 insertions(+), 29 deletions(-)

commit 4ff87ddf80ed7cb233444cddd86ab1940b5b55ec
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-23 19:33:55 +0300

    tuklib_integer: Silence warnings from -Wsign-conversion.

 src/common/tuklib_integer.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit ed1a9d33984a3a37ae9a775a46859850d98ea4d0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-20 19:40:30 +0300

    tuklib_integer: Fix usage of conv macros.
    
    Use a temporary variable instead of e.g.
    conv32le(unaligned_read32ne(buf)) because the macro can
    evaluate its argument multiple times.

 src/common/tuklib_integer.h | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 612c88dfc08e2c572623954ecfde541d21c84882
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-03 20:44:19 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 85da31d8b882b8b9671ab3e3d74d88bd945cd0bb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-03 20:41:54 +0300

    liblzma: Fix comments.
    
    Thanks to Bruce Stark.

 src/liblzma/common/alone_encoder.c        | 4 ++--
 src/liblzma/common/block_util.c           | 2 +-
 src/liblzma/common/common.c               | 2 +-
 src/liblzma/common/filter_common.h        | 2 +-
 src/liblzma/common/filter_decoder.h       | 2 +-
 src/liblzma/common/filter_flags_encoder.c | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

commit 6a73a7889587aa394e236c7e9e4f870b44851036
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-02 00:50:59 +0300

    liblzma: Fix one more unaligned read to use unaligned_read16ne().

 src/liblzma/lz/lz_encoder_hash.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ce59b34ec9ac344d62a57cad5f94f695f42cdaee
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-01 21:41:55 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 94aa3fb568fe41dd4925a961966ed5cf8213bd1f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-01 21:36:13 +0300

    liblzma: memcmplen: Use ctz32() from tuklib_integer.h.
    
    The same compiler-specific #ifdefs are already in tuklib_integer.h

 src/liblzma/common/memcmplen.h | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

commit 412791486dfb430219d8e30bcbebbfc57a99484a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-01 21:30:03 +0300

    tuklib_integer: Cleanup MSVC-specific code.

 src/common/tuklib_integer.h | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

commit efbf6e5f0932e6c1a4250f91ee99059f449f2470
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-01 19:01:21 +0300

    liblzma: Use unaligned_readXXne functions instead of type punning.
    
    Now gcc -fsanitize=undefined should be clean.
    
    Thanks to Jeffrey Walton.

 src/liblzma/common/memcmplen.h          | 12 ++++++------
 src/liblzma/lzma/lzma_encoder_private.h |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

commit 29afef03486d461c23f57150ac5436684bff7811
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-06-01 18:41:16 +0300

    tuklib_integer: Improve unaligned memory access.
    
    Now memcpy() or GNU C packed structs for unaligned access instead
    of type punning. See the comment in this commit for details.
    
    Avoiding type punning with unaligned access is needed to
    silence gcc -fsanitize=undefined.
    
    New functions: unaliged_readXXne and unaligned_writeXXne where
    XX is 16, 32, or 64.

 src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 168 insertions(+), 12 deletions(-)

commit 596ed3de4485a4b1d83b5fe506ae9d0a172139b4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-05-13 20:05:17 +0300

    liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior.
    
    I should have always known this but I didn't. Here is an example
    as a reminder to myself:
    
        int mycopy(void *dest, void *src, size_t n)
        {
            memcpy(dest, src, n);
            return dest == NULL;
        }
    
    In the example, a compiler may assume that dest != NULL because
    passing NULL to memcpy() would be undefined behavior. Testing
    with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1.
    With -O2 the return value is 0 because the compiler infers that
    dest cannot be NULL because it was already used with memcpy()
    and thus the test for NULL gets optimized out.
    
    In liblzma, if a null-pointer was passed to memcpy(), there were
    no checks for NULL *after* the memcpy() call, so I cautiously
    suspect that it shouldn't have caused bad behavior in practice,
    but it's hard to be sure, and the problematic cases had to be
    fixed anyway.
    
    Thanks to Jeffrey Walton.

 src/liblzma/common/common.c       |  6 +++++-
 src/liblzma/lz/lz_decoder.c       | 12 +++++++++---
 src/liblzma/simple/simple_coder.c | 10 +++++++++-
 3 files changed, 23 insertions(+), 5 deletions(-)

commit b4b83555c576e1d845a2b98a193b23c021437804
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-05-11 20:56:08 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 8d4906262b45557ed164cd74adb270e6ef7f6f03
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-05-11 20:54:12 +0300

    xz: Update xz man page date.

 src/xz/xz.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0d318402f8a022f707622c72f8f1894ea476cf89
Author: Antoine Cœur <antoine.coeur@ef.com>
Date:   2019-05-08 13:30:57 +0800

    spelling

 Doxyfile.in                            | 2 +-
 NEWS                                   | 2 +-
 src/liblzma/api/lzma/block.h           | 2 +-
 src/liblzma/api/lzma/hardware.h        | 2 +-
 src/liblzma/api/lzma/lzma12.h          | 2 +-
 src/liblzma/api/lzma/vli.h             | 2 +-
 src/liblzma/common/hardware_physmem.c  | 2 +-
 src/liblzma/common/index.c             | 4 ++--
 src/liblzma/common/stream_encoder_mt.c | 2 +-
 src/liblzma/common/vli_decoder.c       | 2 +-
 src/liblzma/lz/lz_decoder.c            | 2 +-
 src/scripts/xzgrep.in                  | 2 +-
 src/xz/args.c                          | 2 +-
 src/xz/coder.c                         | 4 ++--
 src/xz/main.c                          | 2 +-
 src/xz/mytime.h                        | 2 +-
 src/xz/private.h                       | 2 +-
 src/xz/xz.1                            | 2 +-
 windows/build.bash                     | 2 +-
 19 files changed, 21 insertions(+), 21 deletions(-)

commit aeb3be8ac4c4b06a745c3799b80b38159fb78b1a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-03-04 22:49:04 +0200

    README: Update translation instructions.
    
    XZ Utils is now part of the Translation Project
    <https://translationproject.org/>.

 README | 32 +++++++++++++-------------------
 1 file changed, 13 insertions(+), 19 deletions(-)

commit 0c238dc3feb0a3eea1e713feb8d338c8dfba9f74
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-12-20 20:42:29 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 3ca432d9cce4bf7e793de173dd22025b68611c42
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-12-14 20:34:30 +0200

    xz: Fix a crash in progress indicator when in passthru mode.
    
    "xz -dcfv not_an_xz_file" crashed (all four options are
    required to trigger it). It caused xz to call
    lzma_get_progress(&strm, ...) when no coder was initialized
    in strm. In this situation strm.internal is NULL which leads
    to a crash in lzma_get_progress().
    
    The bug was introduced when xz started using lzma_get_progress()
    to get progress info for multi-threaded compression, so the
    bug is present in versions 5.1.3alpha and higher.
    
    Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for
    the bug report.

 src/xz/coder.c   | 11 +++++++----
 src/xz/message.c | 18 ++++++++++++++++--
 src/xz/message.h |  3 ++-
 3 files changed, 25 insertions(+), 7 deletions(-)

commit fcc419e3c3f77a8b6fc5056a86b1b8abbe266e62
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-11-22 17:20:31 +0200

    xz: Update man page timestamp.

 src/xz/xz.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5a2fc3cd0194e55df329dd29f805299aaca5f32f
Author: Pavel Raiskup <praiskup@redhat.com>
Date:   2018-11-22 15:14:34 +0100

    'have have' typos

 src/xz/signals.c | 2 +-
 src/xz/xz.1      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 7143b04fe49390807f355b1dad686a3d8c4dbdcf
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-07-27 18:10:44 +0300

    xzless: Rename unused variables to silence static analysers.
    
    In this particular case I don't see this affecting readability
    of the code.
    
    Thanks to Pavel Raiskup.

 src/scripts/xzless.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 273c33297bb69621045ed19665eaf8338bcf4a50
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-07-27 16:02:58 +0300

    liblzma: Remove an always-true condition from lzma_index_cat().
    
    This should help static analysis tools to see that newg
    isn't leaked.
    
    Thanks to Pavel Raiskup.

 src/liblzma/common/index.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 65b4aba6d06d2cd24ba9ad01fa389c238ad8f352
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-05-19 21:23:25 +0300

    liblzma: Improve lzma_properties_decode() API documentation.

 src/liblzma/api/lzma/filter.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 531e78e5a253a3e2c4d4dd1505acaccee48f4083
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-05-01 16:52:36 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 905de7e93528ca5a47039e7e1e5270163f9fc67e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-05-01 16:43:16 +0300

    Windows: Update VS version in windows/vs2019/config.h.

 windows/vs2019/config.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0ffd30e172fd18cc619823b2a86448bf56a67e22
Author: Julien Marrec <julien.marrec@gmail.com>
Date:   2019-04-25 17:44:06 +0200

    Windows: Upgrade solution itself

 windows/vs2019/xz_win.sln | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit c2ef96685fc7ca36311649eeb2284b9808292040
Author: Julien Marrec <julien.marrec@gmail.com>
Date:   2019-04-25 17:40:24 +0200

    Windows: Upgrade solution with VS2019

 windows/vs2019/liblzma.vcxproj     | 15 ++++++++-------
 windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++-------
 2 files changed, 16 insertions(+), 14 deletions(-)

commit 25fccaf00bea399d8aa026e5b8fa254ce196e6e0
Author: Julien Marrec <julien.marrec@gmail.com>
Date:   2019-04-25 17:39:32 +0200

    Windows: Duplicate windows/vs2017 before upgrading

 windows/vs2019/config.h            | 148 ++++++++++++++
 windows/vs2019/liblzma.vcxproj     | 354 ++++++++++++++++++++++++++++++++++
 windows/vs2019/liblzma_dll.vcxproj | 383 +++++++++++++++++++++++++++++++++++++
 windows/vs2019/xz_win.sln          |  48 +++++
 4 files changed, 933 insertions(+)

commit 1424078d6328291c7c524b64328ce9660617cb24
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2019-01-13 17:29:23 +0200

    Windows/VS2017: Omit WindowsTargetPlatformVersion from project files.
    
    I understood that if a WTPV is specified, it's often wrong
    because different VS installations have different SDK version
    installed. Omitting the WTPV tag makes VS2017 default to
    Windows SDK 8.1 which often is also missing, so in any case
    people may need to specify the WTPV before building. But some
    day in the future a missing WTPV tag will start to default to
    the latest installed SDK which sounds reasonable:
    
    https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html
    
    Thanks to "dom".

 windows/INSTALL-MSVC.txt           | 4 ++++
 windows/vs2017/liblzma.vcxproj     | 1 -
 windows/vs2017/liblzma_dll.vcxproj | 1 -
 3 files changed, 4 insertions(+), 2 deletions(-)

commit b5be61cc06088bb07f488f9baf7d447ff47b37c1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-04-29 19:00:06 +0300

    Bump version and soname for 5.2.4.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c47fa6d06745bb2e99866e76b81ac7a9c5a8bfec
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-04-29 18:48:00 +0300

    extra/scanlzma: Fix compiler warnings.

 extra/scanlzma/scanlzma.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 7b350fe21aa4fd6495a3b6188a40e3f1ae7c0edf
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-04-29 18:15:37 +0300

    Add NEWS for 5.2.4.

 NEWS | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit 5801591162a280aa52d156dfde42c531ec7fd8b6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-02-06 19:36:30 +0200

    Update THANKS.

 THANKS | 2 ++
 1 file changed, 2 insertions(+)

commit c4a616f4536146f8906e1b4412eefeec07b28fae
Author: Ben Boeckel <mathstuf@gmail.com>
Date:   2018-01-29 13:58:18 -0500

    nothrow: use noexcept for C++11 and newer
    
    In C++11, the `throw()` specifier is deprecated and `noexcept` is
    preffered instead.

 src/liblzma/api/lzma.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 0b8947782ff3c5ef830a7f85412e44dcf3cdeb77
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-02-06 18:02:48 +0200

    liblzma: Remove incorrect #ifdef from range_common.h.
    
    In most cases it was harmless but it could affect some
    custom build systems.
    
    Thanks to Pippijn van Steenhoven.

 src/liblzma/rangecoder/range_common.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 48f3b9f73ffea7f55d5678997aba0e79d2e82168
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-01-10 22:10:39 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit a3ce3e902342be37c626a561ce3d9ffcf27d0f94
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2018-01-10 21:54:27 +0200

    tuklib_integer: New Intel C compiler needs immintrin.h.
    
    Thanks to Melanie Blower (Intel) for the patch.

 src/common/tuklib_integer.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 4505ca483985f88c6923c05a43b4327feaab83b1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-09-24 20:04:24 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 1ef3cc226e3ce173575c218238b71a4eecabc470
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-09-16 20:36:20 +0300

    Windows: Fix paths in VS project files.
    
    Some paths use slashes instead of backslashes as directory
    separators... now it should work (I tested VS2013 version).

 windows/vs2013/liblzma.vcxproj     | 12 ++++++------
 windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------
 windows/vs2017/liblzma.vcxproj     | 12 ++++++------
 windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------
 4 files changed, 36 insertions(+), 36 deletions(-)

commit e775d2a8189d24f60470e6e49d8af881df3a1680
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-09-16 12:54:23 +0300

    Windows: Add project files for VS2017.
    
    These files match the v5.2 branch (no file info decoder).

 windows/vs2017/config.h            | 148 ++++++++++++++
 windows/vs2017/liblzma.vcxproj     | 355 ++++++++++++++++++++++++++++++++++
 windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++
 windows/vs2017/xz_win.sln          |  48 +++++
 4 files changed, 935 insertions(+)

commit 10e02e0fbb6e2173f8b41f6e39b7b570f47dd74d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-09-16 12:39:43 +0300

    Windows: Move VS2013 files into windows/vs2013 directory.

 windows/{ => vs2013}/config.h            |   0
 windows/{ => vs2013}/liblzma.vcxproj     | 278 +++++++++++++++---------------
 windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++----------------
 windows/{ => vs2013}/xz_win.sln          |   0
 4 files changed, 279 insertions(+), 279 deletions(-)

commit 06eebd4543196ded36fa9b8b9544195b38b24ef2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-08-14 20:08:33 +0300

    Fix or hide warnings from GCC 7's -Wimplicit-fallthrough.

 src/liblzma/lzma/lzma_decoder.c | 6 ++++++
 src/xz/list.c                   | 2 ++
 2 files changed, 8 insertions(+)

commit ea4ea1dffafebaa8b2770bf3eca46900e4dd22dc
Author: Alexey Tourbin <alexey.tourbin@gmail.com>
Date:   2017-05-16 23:56:35 +0300

    Docs: Fix a typo in a comment in doc/examples/02_decompress.c.

 doc/examples/02_decompress.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit eb2ef4c79bf405ea0d215f3b1df3d0eaf5e1d27b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-05-23 18:34:43 +0300

    xz: Fix "xz --list --robot missing_or_bad_file.xz".
    
    It ended up printing an uninitialized char-array when trying to
    print the check names (column 7) on the "totals" line.
    
    This also changes the column 12 (minimum xz version) to
    50000002 (xz 5.0.0) instead of 0 when there are no valid
    input files.
    
    Thanks to kidmin for the bug report.

 src/xz/list.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 3ea5dbd9b0d79048e336e40cef3b6d814fb74e13
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-04-24 19:48:47 +0300

    Build: Omit pre-5.0.0 entries from the generated ChangeLog.
    
    It makes ChangeLog significantly smaller.

 Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit bae24675936df99064de1502593c006bd902594b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-04-24 19:30:22 +0300

    Update the Git repository URL to HTTPS in ChangeLog.

 ChangeLog | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 70f479211973b5361f4d7cb08ba5be69b4266e7a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-04-19 22:17:35 +0300

    Update the home page URLs to HTTPS.

 COPYING                     | 2 +-
 README                      | 2 +-
 configure.ac                | 2 +-
 doc/faq.txt                 | 4 ++--
 dos/config.h                | 2 +-
 src/common/common_w32res.rc | 2 +-
 src/xz/xz.1                 | 6 +++---
 src/xzdec/xzdec.1           | 4 ++--
 windows/README-Windows.txt  | 2 +-
 windows/config.h            | 2 +-
 10 files changed, 14 insertions(+), 14 deletions(-)

commit 2a4b2fa75d06a097261a02ecd3cf2b6d449bf754
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-03-30 22:01:54 +0300

    xz: Use POSIX_FADV_RANDOM for in "xz --list" mode.
    
    xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly
    wrong.

 src/xz/file_io.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit eb25743ade39170cffd9566a1aae272098cce216
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-03-30 19:47:45 +0300

    liblzma: Fix lzma_memlimit_set(strm, 0).
    
    The 0 got treated specially in a buggy way and as a result
    the function did nothing. The API doc said that 0 was supposed
    to return LZMA_PROG_ERROR but it didn't.
    
    Now 0 is treated as if 1 had been specified. This is done because
    0 is already used to indicate an error from lzma_memlimit_get()
    and lzma_memusage().
    
    In addition, lzma_memlimit_set() no longer checks that the new
    limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive
    for the Index decoder and was actually needed only by the
    auto decoder. Auto decoder has now been modified to check for
    LZMA_MEMUSAGE_BASE.

 src/liblzma/api/lzma/base.h       | 7 ++++++-
 src/liblzma/common/auto_decoder.c | 3 +++
 src/liblzma/common/common.c       | 6 ++++--
 3 files changed, 13 insertions(+), 3 deletions(-)

commit ef36c6362f3f3853f21b8a6359bcd06576ebf207
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-03-30 19:16:55 +0300

    liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder.

 src/liblzma/api/lzma/container.h    | 21 +++++++++++++++++----
 src/liblzma/common/alone_decoder.c  |  5 +----
 src/liblzma/common/auto_decoder.c   |  5 +----
 src/liblzma/common/stream_decoder.c |  5 +----
 4 files changed, 20 insertions(+), 16 deletions(-)

commit 57616032650f03840480b696d7878acdd2065521
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2017-03-30 18:58:18 +0300

    liblzma: Fix handling of memlimit == 0 in lzma_index_decoder().
    
    It returned LZMA_PROG_ERROR, which was done to avoid zero as
    the limit (because it's a special value elsewhere), but using
    LZMA_PROG_ERROR is simply inconvenient and can cause bugs.
    
    The fix/workaround is to treat 0 as if it were 1 byte. It's
    effectively the same thing. The only weird consequence is
    that then lzma_memlimit_get() will return 1 even when 0 was
    specified as the limit.
    
    This fixes a very rare corner case in xz --list where a specific
    memory usage limit and a multi-stream file could print the
    error message "Internal error (bug)" instead of saying that
    the memory usage limit is too low.

 src/liblzma/api/lzma/index.h       | 18 +++++++++++-------
 src/liblzma/common/index_decoder.c |  4 ++--
 2 files changed, 13 insertions(+), 9 deletions(-)

commit 3d566cd519017eee1a400e7961ff14058dfaf33c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-12-30 13:26:36 +0200

    Bump version and soname for 5.2.3.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 053e624fe33795e779ff736f16ce44a129c829b5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-12-30 13:25:10 +0200

    Update NEWS for 5.2.3.

 NEWS | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit cae412b2b77d7fd88d187ed7659331709311f80d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-04-01 14:45:25 +0300

    xz: Fix the Capsicum rights on user_abort_pipe.

 src/xz/file_io.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 9ccbae41000572193b9a09e7102f9e84dc6d96de
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-12-28 21:05:22 +0200

    Mention potential sandboxing bugs in INSTALL.

 INSTALL | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit e013a337d3de77cce24360dffe956ea2339489b6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-11-21 20:24:50 +0200

    liblzma: Avoid multiple definitions of lzma_coder structures.
    
    Only one definition was visible in a translation unit.
    It avoided a few casts and temp variables but seems that
    this hack doesn't work with link-time optimizations in compilers
    as it's not C99/C11 compliant.
    
    Fixes:
    http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html

 src/liblzma/common/alone_decoder.c             |  44 +++++----
 src/liblzma/common/alone_encoder.c             |  34 ++++---
 src/liblzma/common/auto_decoder.c              |  35 ++++---
 src/liblzma/common/block_decoder.c             |  41 ++++----
 src/liblzma/common/block_encoder.c             |  40 ++++----
 src/liblzma/common/common.h                    |  18 ++--
 src/liblzma/common/index_decoder.c             |  33 ++++---
 src/liblzma/common/index_encoder.c             |  16 ++--
 src/liblzma/common/stream_decoder.c            |  50 +++++-----
 src/liblzma/common/stream_encoder.c            |  56 ++++++-----
 src/liblzma/common/stream_encoder_mt.c         | 124 ++++++++++++++-----------
 src/liblzma/delta/delta_common.c               |  25 ++---
 src/liblzma/delta/delta_decoder.c              |   6 +-
 src/liblzma/delta/delta_encoder.c              |  12 ++-
 src/liblzma/delta/delta_private.h              |   4 +-
 src/liblzma/lz/lz_decoder.c                    |  60 ++++++------
 src/liblzma/lz/lz_decoder.h                    |  13 ++-
 src/liblzma/lz/lz_encoder.c                    |  57 +++++++-----
 src/liblzma/lz/lz_encoder.h                    |   9 +-
 src/liblzma/lzma/lzma2_decoder.c               |  32 ++++---
 src/liblzma/lzma/lzma2_encoder.c               |  51 +++++-----
 src/liblzma/lzma/lzma_decoder.c                |  27 +++---
 src/liblzma/lzma/lzma_encoder.c                |  29 +++---
 src/liblzma/lzma/lzma_encoder.h                |   9 +-
 src/liblzma/lzma/lzma_encoder_optimum_fast.c   |   3 +-
 src/liblzma/lzma/lzma_encoder_optimum_normal.c |  23 ++---
 src/liblzma/lzma/lzma_encoder_private.h        |   6 +-
 src/liblzma/simple/arm.c                       |   2 +-
 src/liblzma/simple/armthumb.c                  |   2 +-
 src/liblzma/simple/ia64.c                      |   2 +-
 src/liblzma/simple/powerpc.c                   |   2 +-
 src/liblzma/simple/simple_coder.c              |  61 ++++++------
 src/liblzma/simple/simple_private.h            |  12 +--
 src/liblzma/simple/sparc.c                     |   2 +-
 src/liblzma/simple/x86.c                       |  15 +--
 35 files changed, 532 insertions(+), 423 deletions(-)

commit 8e0f1af3dcaec00a3879cce8ad7441edc6359d1c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-12-26 20:50:25 +0200

    Document --enable-sandbox configure option in INSTALL.

 INSTALL | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit ce2542d220de06acd618fd9f5c0a6683029fb4eb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-31 22:19:34 +0300

    xz: Add support for sandboxing with Capsicum (disabled by default).
    
    In the v5.2 branch this feature is considered experimental
    and thus disabled by default.
    
    The sandboxing is used conditionally as described in main.c.
    This isn't optimal but it was much easier to implement than
    a full sandboxing solution and it still covers the most common
    use cases where xz is writing to standard output. This should
    have practically no effect on performance even with small files
    as fork() isn't needed.
    
    C and locale libraries can open files as needed. This has been
    fine in the past, but it's a problem with things like Capsicum.
    io_sandbox_enter() tries to ensure that various locale-related
    files have been loaded before cap_enter() is called, but it's
    possible that there are other similar problems which haven't
    been seen yet.
    
    Currently Capsicum is available on FreeBSD 10 and later
    and there is a port to Linux too.
    
    Thanks to Loganaden Velvindron for help.

 configure.ac       | 41 +++++++++++++++++++++++++++
 src/xz/Makefile.am |  2 +-
 src/xz/file_io.c   | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/xz/file_io.h   |  6 ++++
 src/xz/main.c      | 18 ++++++++++++
 src/xz/private.h   |  4 +++
 6 files changed, 151 insertions(+), 1 deletion(-)

commit 3ca1d5e6320111043e19434da881065fadafa0e4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-31 21:12:30 +0300

    Fix bugs and otherwise improve ax_check_capsicum.m4.
    
    AU_ALIAS was removed because the new version is incompatible
    with the old version.
    
    It no longer checks for <sys/capability.h> separately.
    It's enough to test for it as part of AC_CHECK_DECL.
    The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and
    HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded.
    HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough.
    
    It no longer does a useless search for the Capsicum library
    if the header wasn't found.
    
    Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying
    the argument omitted the default action but the given action
    wasn't used instead.
    
    AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum
    support is found. Previously it was part of the default
    ACTION-IF-FOUND which a custom action would override. Now
    the default action only prepends ${CAPSICUM_LIB} to LIBS.
    
    The documentation was updated.
    
    Since there as no serial number, "#serial 2" was added.

 m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------
 1 file changed, 51 insertions(+), 52 deletions(-)

commit 5f3a742b64197fe8bedb6f05fc6ce5d177d11145
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-31 19:20:24 +0300

    Add m4/ax_check_capsicum.m4 for detecting Capsicum support.
    
    The file was loaded from this web page:
    https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4
    
    Thanks to Loganaden Velvindron for pointing it out for me.

 m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

commit d74377e62b4c649e40294dd441de72c0f092e67c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-10-12 20:29:09 +0300

    liblzma: Fix a memory leak in error path of lzma_index_dup().
    
    lzma_index_dup() calls index_dup_stream() which, in case of
    an error, calls index_stream_end() to free memory allocated
    by index_stream_init(). However, it illogically didn't
    actually free the memory. To make it logical, the tree
    handling code was modified a bit in addition to changing
    index_stream_end().
    
    Thanks to Evan Nemerson for the bug report.

 src/liblzma/common/index.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit f580732216dcf971f3f006fe8e01cd4979e1d964
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-10-24 18:53:25 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 88d7a7fd153bf1355cdf798ffdac7443d0169afc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-10-24 18:51:36 +0300

    tuklib_cpucores: Add support for sched_getaffinity().
    
    It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better
    than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity()
    gives the number of cores available to the process instead of
    the total number of cores online.
    
    As a side effect, this commit fixes a bug on GNU/kFreeBSD where
    configure would detect the FreeBSD-specific cpuset_getaffinity()
    but it wouldn't actually work because on GNU/kFreeBSD it requires
    using -lfreebsd-glue when linking. Now the glibc-specific function
    will be used instead.
    
    Thanks to Sebastian Andrzej Siewior for the original patch
    and testing.

 m4/tuklib_cpucores.m4        | 30 +++++++++++++++++++++++++++++-
 src/common/tuklib_cpucores.c |  9 +++++++++
 2 files changed, 38 insertions(+), 1 deletion(-)

commit 51baf684376903dbeddd840582bfdf9fa91b311b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-06-30 20:27:36 +0300

    xz: Fix copying of timestamps on Windows.
    
    xz used to call utime() on Windows, but its result gets lost
    on close(). Using _futime() seems to work.
    
    Thanks to Martok for reporting the bug:
    http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html

 configure.ac     |  2 +-
 src/xz/file_io.c | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

commit 1ddc479851139d6e8202e5835421bfe6578d9e07
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-06-16 22:46:02 +0300

    xz: Silence warnings from -Wlogical-op.
    
    Thanks to Evan Nemerson.

 src/xz/file_io.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit be647ff5ed5a1c244a65722af6ce250259f3b14a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-04-10 20:55:49 +0300

    Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am.
    
    Thanks to Christian Kujau.

 src/xz/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fb6d50c15343831f35305982cefa82053099191d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-04-10 20:54:17 +0300

    Build: Bump GNU Gettext version requirement to 0.19.
    
    It silences a few warnings and most people probably have
    0.19 even on stable distributions.
    
    Thanks to Christian Kujau.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 74f8dad9f912a2993768d93d108ea2b0b2c196e0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-03-13 20:21:49 +0200

    liblzma: Disable external SHA-256 by default.
    
    This is the sane thing to do. The conflict with OpenSSL
    on some OSes and especially that the OS-provided versions
    can be significantly slower makes it clear that it was
    a mistake to have the external SHA-256 support enabled by
    default.
    
    Those who want it can now pass --enable-external-sha256 to
    configure. INSTALL was updated with notes about OSes where
    this can be a bad idea.
    
    The SHA-256 detection code in configure.ac had some bugs that
    could lead to a build failure in some situations. These were
    fixed, although it doesn't matter that much now that the
    external SHA-256 is disabled by default.
    
    MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init
    in libc instead of libutil. Support for the libutil version
    was removed.

 INSTALL                   | 36 ++++++++++++++++++++++
 configure.ac              | 76 +++++++++++++++++++++++------------------------
 src/liblzma/check/check.h | 16 ++++------
 3 files changed, 79 insertions(+), 49 deletions(-)

commit ea7f6ff04cb5bb1498088eb09960a4c3f13dfe39
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-03-10 20:27:05 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit d0e018016b311232e82d9a98dc68f1e3dabce794
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2016-03-10 20:26:49 +0200

    Build: Avoid SHA256_Init on FreeBSD and MINIX 3.
    
    On FreeBSD 10 and older, SHA256_Init from libmd conflicts
    with libcrypto from OpenSSL. The OpenSSL version has
    different sizeof(SHA256_CTX) and it can cause weird
    problems if wrong SHA256_Init gets used.
    
    Looking at the source, MINIX 3 seems to have a similar issue but
    I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too.
    
    NetBSD has SHA256_Init in libc and they had a similar problem,
    but they already fixed it in 2009.
    
    Thanks to Jim Wilcoxson for the bug report that helped
    in finding the problem.

 configure.ac | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

commit 5daae123915f32a4ed6dc948b831533c2d1beec3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-08 20:16:10 +0200

    tuklib_physmem: Hopefully silence a warning on Windows.

 src/common/tuklib_physmem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 491acc406e098167ccb7fce0728b94c2f32cff9f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-04 23:17:43 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 8173ff8790ad3502d04e1c07d014cb84a3b8187b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-04 23:14:00 +0200

    liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.
    
    When optimizing, GCC can reorder code so that an uninitialized
    value gets used in a comparison, which makes Valgrind unhappy.
    It doesn't happen when compiled with -O0, which I tend to use
    when running Valgrind.
    
    Thanks to Rich Prohaska. I remember this being mentioned long
    ago by someone else but nothing was done back then.

 src/liblzma/lz/lz_encoder.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 013de2b5ab8094d2c82a2771f3d143eeb656eda9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 20:55:45 +0200

    liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c.
    
    It would be too annoying to update other build systems
    just because of this.

 src/liblzma/lzma/Makefile.inc                               | 2 +-
 src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit a322f70ad96de88968c2c36e6a36bc08ae30bd20
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 20:47:07 +0200

    Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built.
    
    They all need decoder support and if that isn't available,
    there's no point trying to build them.

 configure.ac | 3 +++
 1 file changed, 3 insertions(+)

commit 8ea49606cf6427e32319de7693eca9e43f1c8ad6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 20:35:19 +0200

    Build: Simplify $enable_{encoders,decoders} usage a bit.

 configure.ac | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 42131a25e52bfe400acfa7df93469a96bb78bb78
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 20:31:31 +0200

    Windows/MSVC: Update config.h.

 windows/config.h | 6 ++++++
 1 file changed, 6 insertions(+)

commit e9184e87cc989d14c7413e6adb3eca98f6ae0290
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 20:29:58 +0200

    DOS: Update config.h.

 dos/config.h | 6 ++++++
 1 file changed, 6 insertions(+)

commit 2296778f3c9a1e3a8699973b09dd3610b8baa402
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 20:29:33 +0200

    xz: Make xz buildable even when encoders or decoders are disabled.
    
    The patch is quite long but it's mostly about adding new #ifdefs
    to omit code when encoders or decoders have been disabled.
    
    This adds two new #defines to config.h: HAVE_ENCODERS and
    HAVE_DECODERS.

 configure.ac       |  4 ++++
 src/xz/Makefile.am |  8 ++++++--
 src/xz/args.c      | 16 ++++++++++++++++
 src/xz/coder.c     | 33 +++++++++++++++++++++++++--------
 src/xz/main.c      |  9 +++++++--
 src/xz/private.h   |  5 ++++-
 6 files changed, 62 insertions(+), 13 deletions(-)

commit 97a3109281e475d9cf1b5095237d672fa0ad25e5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 18:06:40 +0200

    Build: Build LZMA1/2 presets also when only decoder is wanted.
    
    People shouldn't rely on the presets when decoding raw streams,
    but xz uses the presets as the starting point for raw decoder
    options anyway.
    
    lzma_encocder_presets.c was renamed to lzma_presets.c to
    make it clear it's not used solely by the encoder code.

 src/liblzma/lzma/Makefile.inc                               | 6 +++++-
 src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

commit dc6b78d7f0f6fe43e9d4215146e8581feb8090e7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 17:54:48 +0200

    Build: Fix configure to handle LZMA1 dependency with LZMA2.
    
    Now it gives an error if LZMA1 encoder/decoder is missing
    when LZMA2 encoder/decoder was requested. Even better would
    be LZMA2 implicitly enabling LZMA1 but it would need more code.

 configure.ac | 5 -----
 1 file changed, 5 deletions(-)

commit 46d76c9cd3cb26a31f5ae6c3a8bbcf38e6da1add
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-03 17:41:54 +0200

    Build: Don't omit lzma_cputhreads() unless using --disable-threads.
    
    Previously it was omitted if encoders were disabled
    with --disable-encoders. It didn't make sense and
    it also broke the build.

 src/liblzma/common/Makefile.inc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 16d68f874d89f1e4a1919786a35bbaef7d71a077
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-02 18:16:51 +0200

    liblzma: Fix a build failure related to external SHA-256 support.
    
    If an appropriate header and structure were found by configure,
    but a library with a usable SHA-256 functions wasn't, the build
    failed.

 src/liblzma/check/check.h | 32 +++++++++++++++++++++++---------
 1 file changed, 23 insertions(+), 9 deletions(-)

commit d9311647fc1ab512a3394596221ab8039c00af6b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-11-02 15:19:10 +0200

    xz: Always close the file before trying to delete it.
    
    unlink() can return EBUSY in errno for open files on some
    operating systems and file systems.

 src/xz/file_io.c | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)

commit f59c4183f3c9066626ce45dc3db4642fa603fa21
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-10-12 21:08:42 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 35f189673e280c12e4c5129f9f97e54eef3bbc04
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-10-12 21:07:41 +0300

    Tests: Add tests for the two bugs fixed in index.c.

 tests/test_index.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit e10bfdb0fcaff12f3a6dadee51e0a022aadccb51
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-10-12 20:45:15 +0300

    liblzma: Fix lzma_index_dup() for empty Streams.
    
    Stream Flags and Stream Padding weren't copied from
    empty Streams.

 src/liblzma/common/index.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 06f434bd8980f25ca23232eb7bb7df7e37dc8448
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-10-12 20:31:44 +0300

    liblzma: Add a note to index.c for those using static analyzers.

 src/liblzma/common/index.c | 3 +++
 1 file changed, 3 insertions(+)

commit 9815cdf6987ef91a85493bfcfd1ce2aaf3b47a0a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-09-29 13:59:35 +0300

    Bump version and soname for 5.2.2.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit cbe0cec8476bdd0416c7ca9bc83895c9bea1cf78
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-09-29 13:57:28 +0300

    Update NEWS for 5.2.2.

 NEWS | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 49427ce7eececdd18bbd35dab23c81910d083e1c
Author: Andre Noll <maan@tuebingen.mpg.de>
Date:   2015-05-28 15:50:00 +0200

    Fix typo in German translation.
    
    As pointed out by Robert Pollak, there's a typo in the German
    translation of the compression preset option (-0 ... -9) help text.
    "The compressor" translates to "der Komprimierer", and the genitive
    form is "des Komprimierers". The old word makes no sense at all.

 po/de.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 608d6f06c940e7f28c25de005e8b99bdff42d27c
Author: Hauke Henningsen <sqrt@entless.org>
Date:   2015-08-17 04:59:54 +0200

    Update German translation, mostly wrt orthography
    
    Provide an update of the German translation.
    * A lot of compound words were previously written with spaces, while
      German orthography is relatively clear in that the components
      should not be separated.
    * When referring to the actual process of (de)compression rather than the
      concept, replace “(De-)Kompression” with “(De-)Komprimierung”.
      Previously, both forms were used in this context and are now used in a
      manner consistent with “Komprimierung” being more likely to refer to
      a process.
    * Consistently translate “standard input”/“output”
    * Use “Zeichen” instead of false friend “Charakter” for “character”
    * Insert commas around relative clauses (as required in German)
    * Some other minor corrections
    * Capitalize “ß” as “ẞ”
    * Consistently start option descriptions in --help with capital letters
    
    Acked-By: Andre Noll <maan@tuebingen.mpg.de>
    
    * Update after msgmerge

 po/de.po | 383 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 196 insertions(+), 187 deletions(-)

commit c8988414e5b67b8ef2fe0ba7b1ccdd0ec73c60d3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-08-11 13:23:04 +0300

    Build: Minor Cygwin cleanup.
    
    Some tests used "cygwin*" and some used "cygwin". I changed
    them all to use "cygwin". Shouldn't affect anything in practice.

 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 85a6dfed53477906bfe9a7c0123dd412e391cb48
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-08-11 13:21:52 +0300

    Build: Support building of MSYS2 binaries.

 configure.ac | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

commit 77f270be8432df2e4516a0c48814b6976d6618c5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-08-09 21:06:26 +0300

    Windows: Define DLL_EXPORT when building liblzma.dll with MSVC.
    
    src/liblzma/common/common.h uses it to set __declspec(dllexport)
    for the API symbols.
    
    Thanks to Adam Walling.

 windows/liblzma_dll.vcxproj | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 8c975446c5903090a5a8493b5b96b71003056a88
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-08-09 21:02:20 +0300

    Windows: Omit unneeded header files from MSVC project files.

 windows/liblzma.vcxproj     | 5 -----
 windows/liblzma_dll.vcxproj | 5 -----
 2 files changed, 10 deletions(-)

commit 119a00434954726ca58e4a578e6469f530fca30e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-07-12 20:48:19 +0300

    liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer.

 src/liblzma/api/lzma.h | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

commit d4e7c557fcab353539c9481a8d95cb04bcb15c7c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-06-19 20:38:55 +0300

    Update THANKS.

 THANKS | 2 ++
 1 file changed, 2 insertions(+)

commit 98001740ca56c894a7bd32eb47e9857a8a7d878d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-06-19 20:21:30 +0300

    Windows: Update the docs.

 INSTALL                                            | 29 ++++++++-----
 windows/INSTALL-MSVC.txt                           | 47 ++++++++++++++++++++++
 windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} |  2 +-
 3 files changed, 67 insertions(+), 11 deletions(-)

commit 28195e4c877007cc760ecea1d17f740693d66873
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-06-19 17:25:31 +0300

    Windows: Add MSVC project files for building liblzma.
    
    Thanks to Adam Walling for creating these files.

 windows/liblzma.vcxproj     | 359 ++++++++++++++++++++++++++++++++++++++++
 windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++
 windows/xz_win.sln          |  48 ++++++
 3 files changed, 795 insertions(+)

commit 960440f3230dc628f6966d9f7614fc1b28baf44e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-05-13 20:57:55 +0300

    Tests: Fix a memory leak in test_bcj_exact_size.
    
    Thanks to Cristian Rodríguez.

 tests/test_bcj_exact_size.c | 1 +
 1 file changed, 1 insertion(+)

commit 68cd35acafbdcdf4e8ea8b5bb843c736939d6f8b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-05-12 18:08:24 +0300

    Fix NEWS about threading in 5.2.0.
    
    Thanks to Andy Hochhaus.

 NEWS | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit ff96ed6d25786728356017a13baf8c14731b4f1e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-05-11 21:26:16 +0300

    xz: Document that threaded decompression hasn't been implemented yet.

 src/xz/xz.1 | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 00d37b64a64ea8597fd2422d5187afd761ab9531
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-04-20 20:20:29 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit db190a832c49ca3aed6d69cc992fa5583cae7b11
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-04-20 19:59:18 +0300

    Revert "xz: Use pipe2() if available."
    
    This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd.
    It is a problem when libc has pipe2() but the kernel is too
    old to have pipe2() and thus pipe2() fails. In xz it's pointless
    to have a fallback for non-functioning pipe2(); it's better to
    avoid pipe2() completely.
    
    Thanks to Michael Fox for the bug report.

 configure.ac     | 4 ++--
 src/xz/file_io.c | 9 +--------
 2 files changed, 3 insertions(+), 10 deletions(-)

commit eccd8155e107c5ada03d13e7730675cdf1a44ddc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-29 22:14:47 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-29 22:13:48 +0300

    Fix the detection of installed RAM on QNX.
    
    The earlier version compiled but didn't actually work
    since sysconf(_SC_PHYS_PAGES) always fails (or so I was told).
    
    Thanks to Ole André Vadla Ravnås for the patch and testing.

 m4/tuklib_physmem.m4        |  6 +++---
 src/common/tuklib_physmem.c | 14 +++++++++++++-
 2 files changed, 16 insertions(+), 4 deletions(-)

commit 4c544d2410903d38402221cb783ed85585b6a007
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-27 22:39:07 +0200

    Fix CPU core count detection on QNX.
    
    It tried to use sysctl() on QNX but
      - it broke the build because sysctl() needs -lsocket on QNX;
      - sysctl() doesn't work for detecting the core count on QNX
        even if it compiled.
    
    sysconf() works. An alternative would have been to use
    QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>.
    
    Thanks to Ole André Vadla Ravnås.

 m4/tuklib_cpucores.m4 | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-07 22:05:57 +0200

    xz: size_t/uint32_t cleanup in options.c.

 src/xz/options.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 8bcca29a65335fd679c13814b70b35b68fa5daed
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-07 22:04:23 +0200

    xz: Fix a comment and silence a warning in message.c.

 src/xz/message.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-07 22:01:00 +0200

    liblzma: Silence more uint32_t vs. size_t warnings.

 src/liblzma/lz/lz_encoder.c     | 2 +-
 src/liblzma/lzma/lzma_encoder.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-07 19:54:00 +0200

    xz: Make arg_count an unsigned int to silence a warning.
    
    Actually the value of arg_count cannot exceed INT_MAX
    but it's nicer as an unsigned int.

 src/xz/args.h | 2 +-
 src/xz/main.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit f6ec46801588b1be29c07c9db98558b521304002
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-03-07 19:33:17 +0200

    liblzma: Fix a warning in index.c.

 src/liblzma/common/index.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit a24518971cc621315af142dd3bb7614fab04ad27
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-26 20:46:14 +0200

    Build: Fix a CR+LF problem when running autoreconf -fi on OS/2.

 build-aux/version.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dec11497a71518423b5ff0e759100cf8aadf6c7b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-26 16:53:44 +0200

    Bump version and soname for 5.2.1.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 29e39c79975ab89ee5dd671e97064534a9f3a649
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-26 13:01:09 +0200

    Update NEWS for 5.2.1.

 NEWS | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-22 19:38:48 +0200

    xz: Use pipe2() if available.

 configure.ac     | 4 ++--
 src/xz/file_io.c | 9 ++++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

commit 117d962685c72682c63edc9bb765367189800202
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-21 23:40:26 +0200

    liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode.
    
    The bug was added in the commit
    f48fce093b07aeda95c18850f5e086d9f2383380 and thus
    affected 5.1.4beta and 5.2.0. Luckily the bug cannot
    cause data corruption or other nasty things.

 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-21 23:00:19 +0200

    xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick.
    
    Now it reads the old flags instead of blindly setting O_NONBLOCK.
    The old code may have worked correctly, but this is better.

 src/xz/file_io.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

commit 2205bb5853098aea36a56df6f5747037175f66b4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-10 15:29:34 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit d935b0cdf3db440269b9d952b2b281b18f8c7b08
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-10 15:28:30 +0200

    tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available.
    
    In FreeBSD, cpuset_getaffinity() is the preferred way to get
    the number of available cores.
    
    Thanks to Rui Paulo for the patch. I edited it slightly, but
    hopefully I didn't break anything.

 m4/tuklib_cpucores.m4        | 23 ++++++++++++++++++++++-
 src/common/tuklib_cpucores.c | 18 ++++++++++++++++++
 2 files changed, 40 insertions(+), 1 deletion(-)

commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-09 22:08:37 +0200

    xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp.
    
    Thanks to Rui Paulo for the fix.

 src/scripts/xzdiff.in | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit b9a5b6b7a29029680af733082b6a46e0fc01623a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-02-03 21:45:53 +0200

    Add a few casts to tuklib_integer.h to silence possible warnings.
    
    I heard that Visual Studio 2013 gave warnings without the casts.
    
    Thanks to Gabi Davar.

 src/common/tuklib_integer.h | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit c45757135f40e4a0de730ba5fff0100219493982
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-26 21:24:39 +0200

    liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method.

 src/liblzma/common/memcmplen.h | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit 3c500174ed5485f550972a2a6109c361e875f069
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-26 20:40:16 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit fec88d41e672d9e197c9442aecf02bd0dfa6d516
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-26 20:39:28 +0200

    liblzma: Silence harmless Valgrind errors.
    
    Thanks to Torsten Rupp for reporting this. I had
    forgotten to run Valgrind before the 5.2.0 release.

 src/liblzma/lz/lz_encoder.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit a9b45badfec0928d20a27c7176c005fa637f7d1e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-09 21:50:19 +0200

    xz: Fix comments.

 src/xz/file_io.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 541aee6dd4aa97a809aba281475a21b641bb89e2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-09 21:35:06 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 4170edc914655310d2363baccf5e615e09b04911
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-09 21:34:06 +0200

    xz: Don't fail if stdout doesn't support O_NONBLOCK.
    
    This is similar to the case with stdin.
    
    Thanks to Brad Smith for the bug report and testing
    on OpenBSD.

 src/xz/file_io.c | 36 +++++++++++++++---------------------
 1 file changed, 15 insertions(+), 21 deletions(-)

commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-07 19:18:20 +0200

    xz: Fix a memory leak in DOS-specific code.

 src/xz/file_io.c | 2 ++
 1 file changed, 2 insertions(+)

commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-07 19:08:06 +0200

    xz: Don't fail if stdin doesn't support O_NONBLOCK.
    
    It's a problem at least on OpenBSD which doesn't support
    O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's
    a problem on other OSes too since this behavior is allowed
    in POSIX-1.2008.
    
    The code relying on this behavior was committed in June 2013
    and included in 5.1.3alpha released on 2013-10-26. Clearly
    the development releases only get limited testing.

 src/xz/file_io.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

commit d2d484647d9d9d679f03c75abb0404f67069271c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2015-01-06 20:30:15 +0200

    Tests: Don't hide unexpected error messages in test_files.sh.
    
    Hiding them makes no sense since normally there's no error
    when testing the "good" files. With "bad" files errors are
    expected and then it makes sense to keep the messages hidden.

 tests/test_files.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit aae6a6aeda51cf94a47e39ad624728f9bee75e30
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-30 11:17:16 +0200

    Update Solaris notes in INSTALL.
    
    Mention the possible "make check" failure on Solaris in the
    Solaris-specific section of INSTALL. It was already in
    section 4.5 but it is better mention it in the OS-specific
    section too.

 INSTALL | 4 ++++
 1 file changed, 4 insertions(+)

commit 7815112153178800a3521b9f31960e7cdc26cfba
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-26 12:00:05 +0200

    Build: POSIX shell isn't required if scripts are disabled.

 INSTALL      | 3 ++-
 configure.ac | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 20:48:37 +0200

    DOS: Update Makefile.

 dos/Makefile | 1 +
 1 file changed, 1 insertion(+)

commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 19:50:38 +0200

    Windows: Fix bin_i486 to bin_i686 in build.bash.

 windows/build.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cbafa710918195dbba3db02c3fab4f0538235206
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 18:58:44 +0200

    Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c.

 doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++----
 1 file changed, 26 insertions(+), 4 deletions(-)

commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 18:56:44 +0200

    Docs: Update docs/examples/00_README.txt.

 doc/examples/00_README.txt | 4 ++++
 1 file changed, 4 insertions(+)

commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 18:11:17 +0200

    Bump version and soname for 5.2.0.
    
    I know that soname != app version, but I skip AGE=1
    in -version-info to make the soname match the liblzma
    version anyway. It doesn't hurt anything as long as
    it doesn't conflict with library versioning rules.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 6 +++---
 src/liblzma/liblzma.map        | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 3e8bd1d15e417f2d588e9be50ce027ee3d48b2da
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 18:05:03 +0200

    Avoid variable-length arrays in the debug programs.

 debug/full_flush.c | 3 ++-
 debug/sync_flush.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 72f7307cfdceb941aeb2bf30d424cc0d13621786
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 18:01:45 +0200

    Build: Include 04_compress_easy_mt.c in the tarball.

 Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 2cb82ff21c62def11f3683a8bb0aaf363102aaa0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 18:00:38 +0200

    Fix build when --disable-threads is used.

 src/common/mythread.h | 2 ++
 1 file changed, 2 insertions(+)

commit 9b9e3536e458ef958f66b0e8982efc9d36de4d17
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-21 15:56:15 +0100

    po/fr: improve wording for help for --lzma1/--lzma2.

 po/fr.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a8b6b569e7fadbf5b5b9139d53bc764015c15027
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-21 15:55:48 +0100

    po/fr: missing line in translation of --extreme.

 po/fr.po | 1 +
 1 file changed, 1 insertion(+)

commit f168a6fd1a888cf4f0caaddcafcb21dadc6ab6e9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 14:32:33 +0200

    Update NEWS for 5.2.0.

 NEWS | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

commit cec2ee863b3a88f4bf039cb00f73c4a4fc93a429
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 14:32:22 +0200

    Update NEWS for 5.0.8.

 NEWS | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 42e97a32649bf53ce43be2258b902a417c6e7fa1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-21 14:07:54 +0200

    xz: Fix a comment.

 src/xz/options.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 29b95d5d6665cedffa6a9d6d3d914f981e852182
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-20 20:43:14 +0200

    Update INSTALL about the dependencies of the scripts.

 INSTALL | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit 3af91040bb42c21afbb81f5568c3313125e61192
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-20 20:42:33 +0200

    Windows: Update build instructions.

 INSTALL                     | 15 +++++++++------
 windows/INSTALL-Windows.txt | 44 +++++++++++++++++++++-----------------------
 2 files changed, 30 insertions(+), 29 deletions(-)

commit 0152f72bf6289d744823dc6c849538f3a139ad70
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-20 20:41:48 +0200

    Windows: Update the build script and README-Windows.txt.
    
    The 32-bit build is now for i686 or newer because the
    prebuilt MinGW-w64 toolchains include i686 code in the
    executables even if one uses -march=i486.
    
    The build script builds 32-bit SSE2 enabled version too.
    Run-time detection of SSE2 support would be nice (on any OS)
    but it's not implemented in XZ Utils yet.

 windows/README-Windows.txt | 30 ++++++++++++++++--------------
 windows/build.bash         | 23 ++++++++++++++---------
 2 files changed, 30 insertions(+), 23 deletions(-)

commit 4a1f6133ee5533cee8d91e06fcc22443e5f1881a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-19 15:51:50 +0200

    Windows: Define TUKLIB_SYMBOL_PREFIX in config.h.
    
    It is to keep all symbols in the lzma_ namespace.

 windows/config.h | 3 +++
 1 file changed, 3 insertions(+)

commit 7f7d093de79eee0c7dbfd7433647e46302f19f82
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-16 21:00:09 +0200

    xz: Update the man page about --threads.

 src/xz/xz.1 | 5 -----
 1 file changed, 5 deletions(-)

commit 009823448b82aa5f465668878a544c5842885407
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-16 20:57:43 +0200

    xz: Update the man page about --block-size.

 src/xz/xz.1 | 41 +++++++++++++++++++++++++++++++++--------
 1 file changed, 33 insertions(+), 8 deletions(-)

commit 7dddfbeb499e528940bc12047355c184644aafe9
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-10 22:26:57 +0100

    po/fr: several more translation updates: reword and handle --ignore-check.

 po/fr.po | 50 ++++++++++++++++++++++++++------------------------
 1 file changed, 26 insertions(+), 24 deletions(-)

commit 6eca5be40e04ddc4b738d493e4e56835956d8b69
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-10 22:23:01 +0100

    po/fr: yet another place where my email address had to be updated.

 po/fr.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d1003673e92ba47edd6aeeb3dbea05c18269d0e7
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-10 22:22:20 +0100

    po/fr: fix several typos that have been around since the beginning.

 po/fr.po | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit 4c5aa911a0df027e46171e368debc543d2fa72b2
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-03 20:02:31 +0100

    po/fr: last batch of new translations for now.
    
    Four new error messages.

 po/fr.po | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 3e3099e36d27059499e7996fb38a62e8ab01d356
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-03 20:01:32 +0100

    po/fr: translations for --threads, --block-size and --block-list.

 po/fr.po | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit e7d96a5933eec4e9d4a62569ee88df0ebb0f1d53
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-03 20:00:53 +0100

    po/fr: remove fuzzy marker for error messages that will be kept in English.
    
    The following is a copy of a comment inside fr.po:
    
    Note from translator on "file status flags".
    The following entry is kept un-translated on purpose. It is difficult to
    translate and should only happen in exceptional circumstances which means
    that translating would:
    - lose some of the meaning
    - make it more difficult to look up in search engines; it might happen one
    in
    a million times, if we dilute the error message in 20 languages, it will be
    almost impossible to find an explanation and support for the error.

 po/fr.po | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

commit 46cbb9033af8a21fafe543302d6919746e0d72af
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-03 19:58:25 +0100

    po/fr: several minor updates and better wording.
    
    Meaning doesn't change at all: it's only for better wording and/or
    formatting of a few strings.

 po/fr.po | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 7ce49d444f04e73145f79c832eb4d510594b074a
Author: Adrien Nader <adrien@notk.org>
Date:   2014-12-03 19:56:12 +0100

    po/fr: update my email address and copyright years.

 po/fr.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 214c553ebc3047cd720da1ce5c80cf7c38118d3c
Author: Adrien Nader <adrien@notk.org>
Date:   2014-11-26 10:08:26 +0100

    fr.po: commit file after only "update-po" so actual is readable.

 po/fr.po | 311 ++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 199 insertions(+), 112 deletions(-)

commit 1190c641af09cde85f8bd0fbe5c4906f4a29431b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-12-02 20:04:07 +0200

    liblzma: Document how lzma_mt.block_size affects memory usage.

 src/liblzma/api/lzma/container.h | 4 ++++
 1 file changed, 4 insertions(+)

commit e4fc1d2f9571fba79ce383595be2ea2a9257def0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-28 20:07:18 +0200

    Update INSTALL about a "make check" failure in test_scripts.sh.

 INSTALL | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

commit 34f9e40a0a0c3bd2c2730cdb9cd550bbb8a3f2fe
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-26 20:12:27 +0200

    Remove LZMA_UNSTABLE macro.

 src/liblzma/api/lzma/container.h | 4 ----
 src/liblzma/common/common.h      | 2 --
 src/xz/private.h                 | 1 -
 3 files changed, 7 deletions(-)

commit 6d9c0ce9f2677b159e32b224aba5b535b304a705
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-26 20:10:33 +0200

    liblzma: Update lzma_stream_encoder_mt() API docs.

 src/liblzma/api/lzma/container.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 2301f3f05dd9742f42cda8f0f318864f5dc39ab3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-25 12:32:05 +0200

    liblzma: Verify the filter chain in threaded encoder initialization.
    
    This way an invalid filter chain is detected at the Stream
    encoder initialization instead of delaying it to the first
    call to lzma_code() which triggers the initialization of
    the actual filter encoder(s).

 src/liblzma/common/stream_encoder_mt.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 107a263d5bb63cd3593fd6a5c938706539f84523
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-17 19:11:49 +0200

    Build: Update m4/ax_pthread.m4 from Autoconf Archive.

 m4/ax_pthread.m4 | 71 +++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 47 insertions(+), 24 deletions(-)

commit b13a781833399ff5726cfc997f3cb2f0acbdbf31
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-17 18:52:21 +0200

    Build: Replace obsolete AC_HELP_STRING with AS_HELP_STRING.

 configure.ac         | 36 ++++++++++++++++++------------------
 m4/tuklib_integer.m4 |  2 +-
 2 files changed, 19 insertions(+), 19 deletions(-)

commit 542cac122ed3550148a2af0033af22b757491378
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-17 18:43:19 +0200

    Build: Fix Autoconf warnings about escaped backquotes.
    
    Thanks to Daniel Richard G. for pointing out that it's
    good to sometimes run autoreconf -fi with -Wall.

 configure.ac | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 7b03a15cea8cd4f19ed680b51c4bcbae3ce4142f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-10 18:54:40 +0200

    xzdiff: Use mkdir if mktemp isn't available.

 src/scripts/xzdiff.in | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

commit f8c13e5e3609581d5dd9f8777985ca07f2390ad7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-10 18:45:01 +0200

    xzdiff: Create a temporary directory to hold a temporary file.
    
    This avoids the possibility of "File name too long" when
    creating a temp file when the input file name is very long.
    
    This also means that other users on the system can no longer
    see the input file names in /tmp (or whatever $TMPDIR is)
    since the temporary directory will have a generic name. This
    usually doesn't matter since on many systems one can see
    the arguments given to all processes anyway.
    
    The number X chars to mktemp where increased from 6 to 10.
    
    Note that with some shells temp files or dirs won't be used at all.

 src/scripts/xzdiff.in | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 7716dcf9df7f457500cb657314e7a9aea5fedb06
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-10 15:38:47 +0200

    liblzma: Fix lzma_mt.preset in lzma_stream_encoder_mt_memusage().
    
    It read the filter chain from a wrong variable. This is a similar
    bug that was fixed in 9494fb6d0ff41c585326f00aa8f7fe58f8106a5e.

 src/liblzma/common/stream_encoder_mt.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 230fa4a605542c84b4178a57381695a0af4e779b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-11-10 14:49:55 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 4e4ae08bc7c1711e399c9f2d26eb375d39d08101
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-10-29 21:28:25 +0200

    Update .gitignore files.

 .gitignore    | 2 ++
 m4/.gitignore | 3 +++
 2 files changed, 5 insertions(+)

commit c923b140b27d1a055db6284e10fd546ad1a7fcdb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-10-29 21:15:35 +0200

    Build: Prepare to support Automake's subdir-objects.
    
    Due to a bug in Automake, subdir-objects won't be enabled
    for now.
    
    http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17354
    
    Thanks to Daniel Richard G. for the original patches.

 configure.ac             |  7 ++++++-
 src/Makefile.am          | 22 +++++++++++++++++++++-
 src/liblzma/Makefile.am  |  4 ++--
 src/lzmainfo/Makefile.am |  4 ++--
 src/xz/Makefile.am       | 10 +++++-----
 src/xzdec/Makefile.am    |  8 ++++----
 6 files changed, 40 insertions(+), 15 deletions(-)

commit 08c2aa16bea0df82828f665d51fba2e0a5e8997f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-10-24 20:09:29 +0300

    Translations: Update the Italian translation.
    
    Thanks to Milo Casagrande.

 po/it.po | 452 ++++++++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 275 insertions(+), 177 deletions(-)

commit 2f9f61aa83539c54ff6c118a2693890f0519b3dd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-10-18 18:51:45 +0300

    Translations: Update the Polish translation.
    
    Thanks to Jakub Bogusz.

 po/pl.po | 332 ++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 214 insertions(+), 118 deletions(-)

commit 4f9d233f67aea25e532824d11b7642cf7dee7a76
Author: Andre Noll <maan@tuebingen.mpg.de>
Date:   2014-10-14 17:30:30 +0200

    l10n: de.po: Change translator email address.
    
    Although the old address is still working, the new one should
    be preferred. So this commit changes all three places in de.po
    accordingly.
    
    Signed-off-by: Andre Noll <maan@tuebingen.mpg.de>

 po/de.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 00502b2bedad43f0cc167ac17ae0608837ee196b
Author: Andre Noll <maan@tuebingen.mpg.de>
Date:   2014-10-14 17:30:29 +0200

    l10n: de.po: Update German translation
    
    Signed-off-by: Andre Noll <maan@systemlinux.org>

 po/de.po | 531 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 281 insertions(+), 250 deletions(-)

commit 706b0496753fb609e69f1570ec603f11162189d1
Author: Andre Noll <maan@tuebingen.mpg.de>
Date:   2014-10-14 17:30:28 +0200

    l10n: de.po: Fix typo: Schießen -> Schließen.
    
    That's a funny one since "schießen" means to shoot :)
    
    Signed-off-by: Andre Noll <maan@systemlinux.org>

 po/de.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7c32e6a935c3d7ee366abad1679bd5f322f0c7d4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-10-09 19:42:26 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 076258cc458f1e705041ac7a729b15ffe8c5214a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-10-09 19:41:51 +0300

    Add support for AmigaOS/AROS to tuklib_physmem().
    
    Thanks to Fredrik Wikstrom.

 m4/tuklib_physmem.m4        | 3 ++-
 src/common/tuklib_physmem.c | 7 +++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

commit efa7b0a210e1baa8e128fc98c5443a944c39ad24
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-10-09 18:42:14 +0300

    xzgrep: Avoid passing both -q and -l to grep.
    
    The behavior of grep -ql varies:
      - GNU grep behaves like grep -q.
      - OpenBSD grep behaves like grep -l.
    
    POSIX doesn't make it 100 % clear what behavior is expected.
    Anyway, using both -q and -l at the same time makes no sense
    so both options simply should never be used at the same time.
    
    Thanks to Christian Weisgerber.

 src/scripts/xzgrep.in | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 9c5f76098c9986b48d2fc574a0b764f4cde0c538
Author: Trần Ngọc Quân <vnwildman@gmail.com>
Date:   2014-09-25 09:22:45 +0700

    l10n: vi.po: Update Vietnamese translation
    
    Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>

 po/vi.po | 136 +++++++++++++++++++++++++++++++++++++++------------------------
 1 file changed, 84 insertions(+), 52 deletions(-)

commit c4911f2db36d811896c73c008b4218d8fa9a4730
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-09-25 18:38:48 +0300

    Build: Detect supported compiler warning flags better.
    
    Clang and nowadays also GCC accept any -Wfoobar option
    but then may give a warning that an unknown warning option
    was specified. To avoid adding unsupported warning options,
    the options are now tested with -Werror.
    
    Thanks to Charles Diza.

 configure.ac | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 76e75522ed6f5c228d55587dee5a997893f6e474
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-09-20 21:01:21 +0300

    Update NEWS for 5.0.7.

 NEWS | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit d62028b4c1174fc67b6929f126f5eb24c018c700
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-09-20 19:42:56 +0300

    liblzma: Fix a portability problem in Makefile.am.
    
    POSIX supports $< only in inference rules (suffix rules).
    Using it elsewhere is a GNU make extension and doesn't
    work e.g. with OpenBSD make.
    
    Thanks to Christian Weisgerber for the patch.

 src/liblzma/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c35de31d4283edad3e57d37ffe939406542cb7bb
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-09-14 21:54:09 +0300

    Bump the version number to 5.1.4beta.

 src/liblzma/api/lzma/version.h | 4 ++--
 src/liblzma/liblzma.map        | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit e9e097e22cacdaa23e5414fea7913535449cb340
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-09-14 21:50:13 +0300

    Update NEWS for 5.0.6 and 5.1.4beta.

 NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

commit 642f856bb8562ab66704b1e01ac7bc08b6d0a663
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-09-14 21:02:41 +0300

    Update TODO.

 TODO | 38 ++++++++++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)

commit 6b5e3b9eff5b8cedb2aac5f524d4d60fc8a48124
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-05 22:32:36 +0300

    xz: Add --ignore-check.

 src/xz/args.c    |  7 +++++++
 src/xz/args.h    |  1 +
 src/xz/coder.c   | 10 +++++++++-
 src/xz/message.c |  2 ++
 src/xz/xz.1      | 19 +++++++++++++++++++
 5 files changed, 38 insertions(+), 1 deletion(-)

commit 9adbc2ff373f979c917cdfd3679ce0ebd59f1040
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-05 22:15:07 +0300

    liblzma: Add support for LZMA_IGNORE_CHECK.

 src/liblzma/api/lzma/container.h    | 24 ++++++++++++++++++++++++
 src/liblzma/common/common.h         |  1 +
 src/liblzma/common/stream_decoder.c | 14 ++++++++++++--
 3 files changed, 37 insertions(+), 2 deletions(-)

commit 0e0f34b8e4f1c60ecaec15c2105982381cc9c3e6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-05 22:03:30 +0300

    liblzma: Add support for lzma_block.ignore_check.
    
    Note that this slightly changes how lzma_block_header_decode()
    has been documented. Earlier it said that the .version is set
    to the lowest required value, but now it says that the .version
    field is kept unchanged if possible. In practice this doesn't
    affect any old code, because before this commit the only
    possible .version was 0.

 src/liblzma/api/lzma/block.h              | 50 ++++++++++++++++++++++++-------
 src/liblzma/common/block_buffer_encoder.c |  2 +-
 src/liblzma/common/block_decoder.c        | 18 ++++++++---
 src/liblzma/common/block_encoder.c        |  2 +-
 src/liblzma/common/block_header_decoder.c | 12 ++++++--
 src/liblzma/common/block_header_encoder.c |  2 +-
 src/liblzma/common/block_util.c           |  2 +-
 7 files changed, 68 insertions(+), 20 deletions(-)

commit 71e1437ab585b46f7a25f5a131557d3d1c0cbaa2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-04 19:25:58 +0300

    liblzma: Use lzma_memcmplen() in the BT3 match finder.
    
    I had missed this when writing the commit
    5db75054e900fa06ef5ade5f2c21dffdd5d16141.
    
    Thanks to Jun I Jin.

 src/liblzma/lz/lz_encoder_mf.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 41dc9ea06e1414ebe8ef52afc8fc15b6e3282b04
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-04 00:25:44 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 5dcffdbcc23a68abc3ac3539b30be71bc9b5af84
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-03 21:32:25 +0300

    liblzma: SHA-256: Optimize the Maj macro slightly.
    
    The Maj macro is used where multiple things are added
    together, so making Maj a sum of two expressions allows
    some extra freedom for the compiler to schedule the
    instructions.
    
    I learned this trick from
    <http://www.hackersdelight.org/corres.txt>.

 src/liblzma/check/sha256.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a9477d1e0c6fd0e47e637d051e7b9e2a5d9af517
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-03 21:08:12 +0300

    liblzma: SHA-256: Optimize the way rotations are done.
    
    This looks weird because the rotations become sequential,
    but it helps quite a bit on both 32-bit and 64-bit x86:
    
      - It requires fewer instructions on two-operand
        instruction sets like x86.
    
      - It requires one register less which matters especially
        on 32-bit x86.
    
    I hope this doesn't hurt other archs.
    
    I didn't invent this idea myself, but I don't remember where
    I saw it first.

 src/liblzma/check/sha256.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 5a76c7c8ee9a0afbeedb1c211db9224260404347
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-03 20:38:13 +0300

    liblzma: SHA-256: Remove the GCC #pragma that became unneeded.
    
    The unrolling in the previous commit should avoid the
    situation where a compiler may think that an uninitialized
    variable might be accessed.

 src/liblzma/check/sha256.c | 5 -----
 1 file changed, 5 deletions(-)

commit 9a096f8e57509775c331950b8351bbca77bdcfa8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-03 20:33:38 +0300

    liblzma: SHA-256: Unroll a little more.
    
    This way a branch isn't needed for each operation
    to choose between blk0 and blk2, and still the code
    doesn't grow as much as it would with full unrolling.

 src/liblzma/check/sha256.c | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

commit bc7650d87bf27f85f1a2a806dc2db1780e09e6a5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-08-03 19:56:43 +0300

    liblzma: SHA-256: Do the byteswapping without a temporary buffer.

 src/liblzma/check/sha256.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

commit 544aaa3d13554e8640f9caf7db717a96360ec0f6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-25 22:38:28 +0300

    liblzma: Use lzma_memcmplen() in normal mode of LZMA.
    
    Two locations were not changed yet because the simplest change
    assumes that the initial "len" may be greater than "limit".

 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

commit f48fce093b07aeda95c18850f5e086d9f2383380
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-25 22:30:38 +0300

    liblzma: Simplify LZMA fast mode code by using memcmp().

 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

commit 6bf5308e34e23dede5b301b1b9b4f131dacd9218
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-25 22:29:49 +0300

    liblzma: Use lzma_memcmplen() in fast mode of LZMA.

 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 353212137e51e45b105a3a3fc2e6879f1cf0d492
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-25 21:16:23 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 5db75054e900fa06ef5ade5f2c21dffdd5d16141
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-25 21:15:07 +0300

    liblzma: Use lzma_memcmplen() in the match finders.
    
    This doesn't change the match finder output.

 src/liblzma/lz/lz_encoder.c    | 13 ++++++++++++-
 src/liblzma/lz/lz_encoder_mf.c | 33 +++++++++++----------------------
 2 files changed, 23 insertions(+), 23 deletions(-)

commit e1c8f1d01f4a4e2136173edab2dc63c71ef038f4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-25 20:57:20 +0300

    liblzma: Add lzma_memcmplen() for fast memory comparison.
    
    This commit just adds the function. Its uses will be in
    separate commits.
    
    This hasn't been tested much yet and it's perhaps a bit early
    to commit it but if there are bugs they should get found quite
    quickly.
    
    Thanks to Jun I Jin from Intel for help and for pointing out
    that string comparison needs to be optimized in liblzma.

 configure.ac                    |  13 +++
 src/liblzma/common/Makefile.inc |   1 +
 src/liblzma/common/memcmplen.h  | 170 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 184 insertions(+)

commit 765735cf52e5123586e74a51b9c073b5257f631f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-12 21:10:09 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 59da01785ef66c7e62f36e70ca808fd2824bb995
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-07-12 20:06:08 +0300

    Translations: Add Vietnamese translation.
    
    Thanks to Trần Ngọc Quân.

 po/LINGUAS |    1 +
 po/vi.po   | 1007 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1008 insertions(+)

commit 17215f751c354852700e7f8592ccf319570a0721
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-29 20:54:14 +0300

    xz: Update the help message of a few options.
    
    Updated: --threads, --block-size, and --block-list
    Added: --flush-timeout

 src/xz/message.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

commit 96864a6ddf91ad693d102ea165f3d7918744d582
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-18 22:07:06 +0300

    xz: Use lzma_cputhreads() instead of own copy of tuklib_cpucores().

 src/xz/Makefile.am |  1 -
 src/xz/hardware.c  | 12 +++++++++---
 2 files changed, 9 insertions(+), 4 deletions(-)

commit a115cc3748482e277f42a968baa3cd266f031dba
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-18 22:04:24 +0300

    liblzma: Add lzma_cputhreads().

 src/liblzma/Makefile.am                  |  8 +++++++-
 src/liblzma/api/lzma/hardware.h          | 14 ++++++++++++++
 src/liblzma/common/Makefile.inc          |  1 +
 src/liblzma/common/hardware_cputhreads.c | 22 ++++++++++++++++++++++
 src/liblzma/liblzma.map                  |  1 +
 5 files changed, 45 insertions(+), 1 deletion(-)

commit 3ce3e7976904fbab4e6482bafa442856f77a51fa
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-18 19:11:52 +0300

    xz: Check for filter chain compatibility for --flush-timeout.
    
    This avoids LZMA_PROG_ERROR from lzma_code() with filter chains
    that don't support LZMA_SYNC_FLUSH.

 src/xz/coder.c | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

commit 381ac14ed79e5d38809f251705be8b3193bba417
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-13 19:21:54 +0300

    xzgrep: List xzgrep_expected_output in tests/Makefile.am.

 tests/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 4244b65b06d5ecaf6f9dd0387ac7e3166bd2364e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-13 18:58:22 +0300

    xzgrep: Improve the test script.
    
    Now it should be close to the functionality of the original
    version by Pavel Raiskup.

 tests/Makefile.am            |  3 ++-
 tests/test_scripts.sh        | 24 ++++++++++++++----------
 tests/xzgrep_expected_output | 39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+), 11 deletions(-)

commit 1e60f2c0a0ee6c18b02943ce56214799a70aac26
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-11 21:03:25 +0300

    xzgrep: Add a test for the previous fix.
    
    This is a simplified version of Pavel Raiskup's
    original patch.

 tests/test_scripts.sh | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

commit ceca37901783988204caaf40dff4623d535cc789
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-11 20:43:28 +0300

    xzgrep: exit 0 when at least one file matches.
    
    Mimic the original grep behavior and return exit_success when
    at least one xz compressed file matches given pattern.
    
    Original bugreport:
    https://bugzilla.redhat.com/show_bug.cgi?id=1108085
    
    Thanks to Pavel Raiskup for the patch.

 src/scripts/xzgrep.in | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

commit 8c19216baccb92d011694590df8a1262da2e980c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-06-09 21:21:24 +0300

    xz: Force single-threaded mode when --flush-timeout is used.

 src/xz/coder.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 87f1a24810805187d7bbc8ac5512e7eec307ddf5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-05-25 22:05:39 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit da1718f266fcfc091e7bf08aae1bc986d0e6cc6b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-05-25 21:45:56 +0300

    liblzma: Use lzma_alloc_zero() in LZ encoder initialization.
    
    This avoids a memzero() call for a newly-allocated memory,
    which can be expensive when encoding small streams with
    an over-sized dictionary.
    
    To avoid using lzma_alloc_zero() for memory that doesn't
    need to be zeroed, lzma_mf.son is now allocated separately,
    which requires handling it separately in normalize() too.
    
    Thanks to Vincenzo Innocente for reporting the problem.

 src/liblzma/lz/lz_encoder.c    | 84 ++++++++++++++++++++++--------------------
 src/liblzma/lz/lz_encoder.h    |  2 +-
 src/liblzma/lz/lz_encoder_mf.c | 31 +++++++++-------
 3 files changed, 62 insertions(+), 55 deletions(-)

commit 28af24e9cf2eb259997c85dce13d4c97b3daa47a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-05-25 19:25:57 +0300

    liblzma: Add the internal function lzma_alloc_zero().

 src/liblzma/common/common.c | 21 +++++++++++++++++++++
 src/liblzma/common/common.h |  6 ++++++
 2 files changed, 27 insertions(+)

commit ed9ac85822c490e34b68c259afa0b385d21d1c40
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-05-08 18:03:09 +0300

    xz: Fix uint64_t vs. size_t which broke 32-bit build.
    
    Thanks to Christian Hesse.

 src/xz/coder.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d716acdae3fa7996f9e68a7bac012e6d8d13dd02
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-05-04 11:09:11 +0300

    Docs: Update comments to refer to lzma/lzma12.h in example programs.

 doc/examples/03_compress_custom.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 4d5b7b3fda31241ca86ed35e08e73f776ee916e0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-05-04 11:07:17 +0300

    liblzma: Rename the private API header lzma/lzma.h to lzma/lzma12.h.
    
    It can be confusing that two header files have the same name.
    The public API file is still lzma.h.

 src/liblzma/api/Makefile.am               | 2 +-
 src/liblzma/api/lzma.h                    | 2 +-
 src/liblzma/api/lzma/{lzma.h => lzma12.h} | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 1555a9c5664afc7893a2b75e9970105437f01ef1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-04-25 17:53:42 +0300

    Build: Fix the combination of --disable-xzdec --enable-lzmadec.
    
    In this case "make install" could fail if the man page directory
    didn't already exist at the destination. If it did exist, a
    dangling symlink was created there. Now the link is omitted
    instead. This isn't the best fix but it's better than the old
    behavior.

 src/xzdec/Makefile.am | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 56056571df3377eaa6ae6233b3ccc5d72e81d43d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-04-25 17:44:26 +0300

    Build: Add --disable-doc to configure.

 INSTALL      | 6 ++++++
 Makefile.am  | 2 ++
 configure.ac | 6 ++++++
 3 files changed, 14 insertions(+)

commit 6de61d8721097a6214810841aa85b08e303ac538
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-04-24 18:06:24 +0300

    Update INSTALL.
    
    Add a note about failing "make check". The source of
    the problem should be fixed in libtool (if it really is
    a libtool bug and not mine) but I'm unable to spend time
    on that for now. Thanks to Nelson H. F. Beebe for reporting
    the issue.
    
    Add a note about a possible need to run "ldconfig" after
    "make install".

 INSTALL | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit 54df428799a8d853639b753d0e6784694d73eb3e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-04-09 17:26:10 +0300

    xz: Rename a variable to avoid a namespace collision on Solaris.
    
    I don't know the details but I have an impression that there's
    no problem in practice if using GCC since people have built xz
    with GCC (without patching xz), but renaming the variable cannot
    hurt either.
    
    Thanks to Mark Ashley.

 src/xz/signals.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

commit 5876ca27daa1429676b1160007d9688266907f00
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-29 20:19:41 +0200

    Docs: Add example program for threaded encoding.
    
    I didn't add -DLZMA_UNSTABLE to Makefile so one has to
    specify it manually as long as LZMA_UNSTABLE is needed.

 doc/examples/04_compress_easy_mt.c | 184 +++++++++++++++++++++++++++++++++++++
 doc/examples/Makefile              |   3 +-
 2 files changed, 186 insertions(+), 1 deletion(-)

commit 9494fb6d0ff41c585326f00aa8f7fe58f8106a5e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-29 20:13:51 +0200

    liblzma: Fix lzma_mt.preset not working with lzma_stream_encoder_mt().
    
    It read the filter chain from a wrong variable.

 src/liblzma/common/stream_encoder_mt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 673a4cb53de3a715685cb1b836da57a3c7dcd43c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-20 11:20:40 +0200

    liblzma: Fix typo in a comment.

 src/liblzma/api/lzma/block.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ad96a871a1470eb76d6233d3890ce9338047b7a3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-12 19:38:43 +0200

    Windows: Add config.h for building liblzma with MSVC 2013.
    
    This is for building liblzma. Building xz tool too requires
    a little more work. Maybe it will be supported, but for most
    MSVC users it's enough to be able to build liblzma.
    
    C99 support in MSVC 2013 is almost usable which is a big
    improvement over earlier versions. It's "almost" because
    there's a dumb bug that breaks mixed declarations after
    an "if" statements unless the "if" statement uses braces:
    
    https://connect.microsoft.com/VisualStudio/feedback/details/808650/visual-studio-2013-c99-compiler-bug
    https://connect.microsoft.com/VisualStudio/feedback/details/808472/c99-support-of-mixed-declarations-and-statements-fails-with-certain-types-and-constructs
    
    Hopefully it will get fixed. Then liblzma should be
    compilable with MSVC 2013 without patching.

 windows/config.h | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 139 insertions(+)

commit 3d5c090872fab4212b57c290e8ed4d02c78c1737
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-12 17:41:14 +0200

    xz: Fix a comment.

 src/xz/coder.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 69fd4e1c932c7975476a0143c86e45d81b60d3f9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-12 17:04:33 +0200

    Windows: Add MSVC defines for inline and restrict keywords.

 src/common/sysdefs.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit a19d9e8575ee6647cd9154cf1f20203f1330485f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-12 16:44:52 +0200

    liblzma: Avoid C99 compound literal arrays.
    
    MSVC 2013 doesn't like them. Maybe they aren't so good
    for readability either since many aren't used to them.

 src/liblzma/lzma/lzma_encoder_presets.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit e28528f1c867b2ed4ac91195ad08efb9bb8a6263
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-12 12:50:30 +0200

    liblzma: Remove a useless C99ism from sha256.c.
    
    Unsurprisingly it makes no difference in compiled output.

 src/liblzma/check/sha256.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5ad1effc45adfb7dabc9a98e79736077e6b7e2d5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-12 12:17:08 +0200

    xz: Fix use of wrong variable.
    
    Since the only call to suffix_set() uses optarg
    as the argument, fixing this bug doesn't change
    the behavior of the program.

 src/xz/suffix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3e62c68d75b5a3fdd46dbb34bb335d73289860d5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2014-01-12 12:11:36 +0200

    Fix typos in comments.

 src/common/mythread.h          | 2 +-
 src/liblzma/check/crc32_fast.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit e90ea601fb72867ec04adf456cbe4bf9520fd412
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-11-26 18:20:16 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit b22e94d8d15764416354e04729382a7371ae2c30
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-11-26 18:20:09 +0200

    liblzma: Document the need for block->check for lzma_block_header_decode().
    
    Thanks to Tomer Chachamu.

 src/liblzma/api/lzma/block.h | 3 +++
 1 file changed, 3 insertions(+)

commit d1cd8b1cb824b72421d1ee370e628024d2fcbec4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-11-12 16:38:57 +0200

    xz: Update the man page about --block-size and --block-list.

 src/xz/xz.1 | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

commit 76be7c612e6bcc38724488ccc3b8bcb1cfec9f0a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-11-12 16:30:53 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit dd750acbe2259d75444ef0f8da2d4bacc90d7afc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-11-12 16:29:48 +0200

    xz: Make --block-list and --block-size work together in single-threaded.
    
    Previously, --block-list and --block-size only worked together
    in threaded mode. Boundaries are specified by --block-list, but
    --block-size specifies the maximum size for a Block. Now this
    works in single-threaded mode too.
    
    Thanks to James M Leddy for the original patch.

 src/xz/coder.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 75 insertions(+), 15 deletions(-)

commit ae222fe9805d0161d022d75ba8485dab8bf6d7d5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-26 13:26:14 +0300

    Bump the version number to 5.1.3alpha.

 src/liblzma/api/lzma/version.h | 2 +-
 src/liblzma/liblzma.map        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 2193837a6a597cd3bf4e9ddf49421a5697d8e155
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-26 13:25:02 +0300

    Update NEWS for 5.1.3alpha.

 NEWS | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

commit ed48e75e2763876173aef8902da407a8eb28854b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-26 12:47:04 +0300

    Update TODO.

 TODO | 4 ----
 1 file changed, 4 deletions(-)

commit 841da0352d79a56a44796a4c39163429c9f039a3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-25 22:41:28 +0300

    xz: Document behavior of --block-list with threads.
    
    This needs to be updated before 5.2.0.

 src/xz/xz.1 | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

commit 56feb8665b78c1032aabd53c619c62af51defe64
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-22 20:03:12 +0300

    xz: Document --flush-timeout=TIMEOUT on the man page.

 src/xz/xz.1 | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

commit ba413da1d5bb3324287cf3174922acd921165971
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-22 19:51:55 +0300

    xz: Take advantage of LZMA_FULL_BARRIER with --block-list.
    
    Now if --block-list is used in threaded mode, the encoder
    won't need to flush at each Block boundary specified via
    --block-list. This improves performance a lot, making
    threading helpful with --block-list.
    
    The flush timer was reset after LZMA_FULL_FLUSH but since
    LZMA_FULL_BARRIER doesn't flush, resetting the timer is
    no longer done.

 src/xz/coder.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

commit 0cd45fc2bc5537de287a0bc005e2d67467a92148
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-02 20:05:23 +0300

    liblzma: Support LZMA_FULL_FLUSH and _BARRIER in threaded encoder.
    
    Now --block-list=SIZES works with in the threaded mode too,
    although the performance is still bad due to the use of
    LZMA_FULL_FLUSH instead of the new LZMA_FULL_BARRIER.

 src/liblzma/common/stream_encoder_mt.c | 55 ++++++++++++++++++++++++----------
 1 file changed, 39 insertions(+), 16 deletions(-)

commit 97bb38712f414fabecca908af2e38a12570293fd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-10-02 12:55:11 +0300

    liblzma: Add LZMA_FULL_BARRIER support to single-threaded encoder.
    
    In the single-threaded encoder LZMA_FULL_BARRIER is simply
    an alias for LZMA_FULL_FLUSH.

 src/liblzma/api/lzma/base.h         | 37 ++++++++++++++++++++++++++++++-------
 src/liblzma/common/common.c         | 17 +++++++++++++++--
 src/liblzma/common/common.h         |  7 ++++++-
 src/liblzma/common/stream_encoder.c |  4 +++-
 4 files changed, 54 insertions(+), 11 deletions(-)

commit fef0c6b410c08e581c9178700a4e7599f0895ff9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-09-17 11:57:51 +0300

    liblzma: Add block_buffer_encoder.h into Makefile.inc.
    
    This should have been in b465da5988dd59ad98fda10c2e4ea13d0b9c73bc.

 src/liblzma/common/Makefile.inc | 1 +
 1 file changed, 1 insertion(+)

commit 8083e03291b6d21c0f538163e187b4e8cd5594e4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-09-17 11:55:38 +0300

    xz: Add a missing test for TUKLIB_DOSLIKE.

 src/xz/file_io.c | 2 ++
 1 file changed, 2 insertions(+)

commit 6b44b4a775fe29ecc7bcb7996e086e3bc09e5fd0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-09-17 11:52:28 +0300

    Add native threading support on Windows.
    
    Now liblzma only uses "mythread" functions and types
    which are defined in mythread.h matching the desired
    threading method.
    
    Before Windows Vista, there is no direct equivalent to
    pthread condition variables. Since this package doesn't
    use pthread_cond_broadcast(), pre-Vista threading can
    still be kept quite simple. The pre-Vista code doesn't
    use anything that wasn't already available in Windows 95,
    so the binaries should run even on Windows 95 if someone
    happens to care.

 INSTALL                                |  41 ++-
 configure.ac                           | 118 ++++++--
 src/common/mythread.h                  | 513 ++++++++++++++++++++++++++-------
 src/liblzma/common/stream_encoder_mt.c |  83 +++---
 src/xz/coder.c                         |   8 +-
 windows/README-Windows.txt             |   2 +-
 windows/build.bash                     |  23 +-
 7 files changed, 573 insertions(+), 215 deletions(-)

commit ae0ab74a88d5b9b15845f1d9a24ade4349a54f9f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-09-11 14:40:35 +0300

    Build: Remove a comment about Automake 1.10 from configure.ac.
    
    The previous commit supports silent rules and that requires
    Automake 1.11.

 configure.ac | 2 --
 1 file changed, 2 deletions(-)

commit 72975df6c8c59aaf849138ab3606e8fb6970596a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-09-09 20:37:03 +0300

    Build: Create liblzma.pc in a src/liblzma/Makefile.am.
    
    Previously it was done in configure, but doing that goes
    against the Autoconf manual. Autoconf requires that it is
    possible to override e.g. prefix after running configure
    and that doesn't work correctly if liblzma.pc is created
    by configure.
    
    A potential downside of this change is that now e.g.
    libdir in liblzma.pc is a standalone string instead of
    being defined via ${prefix}, so if one overrides prefix
    when running pkg-config the libdir won't get the new value.
    I don't know if this matters in practice.
    
    Thanks to Vincent Torri.

 configure.ac            |  1 -
 src/liblzma/Makefile.am | 20 ++++++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)

commit 1c2b6e7e8382ed390f53e140f160488bb2205ecc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-08-04 15:24:09 +0300

    Fix the previous commit which broke the build.
    
    Apparently I didn't even compile-test the previous commit.
    
    Thanks to Christian Hesse.

 src/common/tuklib_cpucores.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 124eb69c7857f618b4807588c51bc9ba21bf8691
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-08-03 13:52:58 +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.

 m4/tuklib_cpucores.m4        | 19 +++++++++++++++++--
 src/common/tuklib_cpucores.c | 13 ++++++++++++-
 2 files changed, 29 insertions(+), 3 deletions(-)

commit eada8a875ce3fd521cb42e4ace2624d3d49c5f35
Author: Anders F Bjorklund <afb@users.sourceforge.net>
Date:   2013-08-02 15:59:46 +0200

    macosx: separate liblzma package

 macosx/build.sh | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

commit be0100d01ca6a75899d051bee00acf17e6dc0c15
Author: Anders F Bjorklund <afb@users.sourceforge.net>
Date:   2013-08-02 15:58:44 +0200

    macosx: set minimum to leopard

 macosx/build.sh | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit 416729e2d743f4b2fe9fd438eedeb98adce033c3
Author: Anders F Bjorklund <afb@users.sourceforge.net>
Date:   2011-08-07 13:13:30 +0200

    move configurables into variables

 macosx/build.sh | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

commit 16581080e5f29f9a4e49efece21c5bf572323acc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-15 14:08:41 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 3e2b198ba37b624efd9c7caee2a435dc986b46c6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-15 14:08:02 +0300

    Build: Fix the detection of missing CRC32.
    
    Thanks to Vincent Torri.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dee6ad3d5915422bc30a6821efeacaeb8ca8ef00
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-04 14:18:46 +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.

 src/xz/args.c    |  7 +++++++
 src/xz/coder.c   | 46 +++++++++++++++++++++++++++++++++++-----------
 src/xz/file_io.c | 46 ++++++++++++++++++++++++++++++++++++----------
 3 files changed, 78 insertions(+), 21 deletions(-)

commit fa381acaf9a29a8114e1c0a97de99bab9adb014e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-04 13:41:03 +0300

    xz: Don't set src_eof=true after an I/O error because it's useless.

 src/xz/file_io.c | 3 ---
 1 file changed, 3 deletions(-)

commit ea00545beace5b950f709ec21e46878e0f448678
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-04 13:25:11 +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.

 src/xz/coder.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 736903c64bef394c06685d79908e397bcb08b88f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-04 12:51:57 +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().

 src/xz/Makefile.am |  2 ++
 src/xz/coder.c     |  5 +++
 src/xz/message.c   | 54 +++++++++------------------------
 src/xz/mytime.c    | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/xz/mytime.h    | 47 ++++++++++++++++++++++++++++
 src/xz/private.h   |  1 +
 6 files changed, 158 insertions(+), 40 deletions(-)

commit 24edf8d807e24ffaa1e793114d94cca3b970027d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-01 14:35:03 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit c0627b3fceacfa1ed162f5f55235360ea26f569a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-07-01 14:34:11 +0300

    xz: Silence a warning seen with _FORTIFY_SOURCE=2.
    
    Thanks to Christian Hesse.

 src/xz/file_io.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 1936718bb38ee394bd89836fdd4eabc0beb02443
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-30 19:40:11 +0300

    Update NEWS for 5.0.5.

 NEWS | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

commit a37ae8b5eb6093a530198f109c6f7a538c80ecf0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-30 18:02:27 +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.

 src/lzmainfo/lzmainfo.1 |  4 ++--
 src/scripts/xzmore.1    |  6 +++---
 src/xzdec/xzdec.1       | 10 +++++-----
 3 files changed, 10 insertions(+), 10 deletions(-)

commit cdba9ddd870ae72fd6219a125662c20ec997f86c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-29 15:59:13 +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.

 src/xz/file_io.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 49 insertions(+), 8 deletions(-)

commit e61a5c95da3fe31281d959e5e842885a8ba2b5bd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-28 23:56:17 +0300

    xz: Fix return value type in io_write_buf().
    
    It didn't affect the behavior of the code since -1
    becomes true anyway.

 src/xz/file_io.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9dc319eabb34a826f4945f91c71620f14a60e9e2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-28 23:48:05 +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.

 src/xz/file_io.c | 56 ++++++++++++++++++++++++++++++++++++++++++++------------
 src/xz/file_io.h |  8 ++++++++
 src/xz/signals.c |  5 +++++
 3 files changed, 57 insertions(+), 12 deletions(-)

commit 3541bc79d0cfabc0ad155c99bfdad1289f17fec3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-28 22:51:02 +0300

    xz: Use non-blocking I/O for the input file.

 src/xz/file_io.c | 156 +++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 111 insertions(+), 45 deletions(-)

commit 78673a08bed5066c81e8a8e90d20e670c28ecfd5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-28 18:46:13 +0300

    xz: Remove an outdated NetBSD-specific comment.
    
    Nowadays errno == EFTYPE is documented in open(2).

 src/xz/file_io.c | 4 ----
 1 file changed, 4 deletions(-)

commit a616fdad34b48b2932ef03fb87309dcc8b829527
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-28 18:09:47 +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).

 src/xz/file_io.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4a08a6e4c61c65ab763ab314100a6d7a3bb89298
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-28 17:36:47 +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.

 src/xz/file_io.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

commit b790b435daa3351067f80a5973b647f8d55367a2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-28 14:55:37 +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.

 src/xz/file_io.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

commit 84d2da6c9dc252f441deb7626c2522202b005d4d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-26 13:30:57 +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.

 src/xz/list.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 9376f5f8f762296f2173d61af9101112c36f38c0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-26 12:17:00 +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.

 configure.ac | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit b7e200d7bd0a3c7c171c13ad37d68296d6f73374
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-23 18:59:13 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 46540e4c10923e363741ff5aab99e79fc0ce6ee8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-23 18:57:23 +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.

 src/liblzma/common/stream_encoder_mt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ebb501ec73cecc546c67117dd01b5e33c90bfb4a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-23 17:36:47 +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.

 src/xz/list.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

commit c09e91dd236d3cabee0fc48312b3dc8cceae41ab
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-21 22:08:11 +0300

    Update THANKS.

 THANKS | 2 ++
 1 file changed, 2 insertions(+)

commit eb6ca9854b8eb9fbf72497c1cf608d6b19d2d494
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-21 22:04:45 +0300

    xz: Make the man page more friendly to doclifter.
    
    Thanks to Eric S. Raymond.

 src/xz/xz.1 | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 0c0a1947e6ad90a0a10b7a5c39f6ab99a0aa5c93
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-21 21:54:59 +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.

 src/xz/xz.1 | 35 +++++++++++++++++++++++------------
 1 file changed, 23 insertions(+), 12 deletions(-)

commit 2fcda89939c903106c429e109083d43d894049e0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-06-21 21:50:26 +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.

 src/xz/coder.c | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

commit 97379c5ea758da3f8b0bc444d5f7fa43753ce610
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-04-27 22:07:46 +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.

 configure.ac | 1 +
 1 file changed, 1 insertion(+)

commit 8957c58609d3987c58aa72b96c436cf565cc4917
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-04-15 19:29:09 +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.

 src/xzdec/xzdec.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit ed886e1a92534a24401d0e99c11f1dcff3b5220a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-04-05 19:25:40 +0300

    Update THANKS.

 THANKS | 2 ++
 1 file changed, 2 insertions(+)

commit 5019413a055ce29e660dbbf15e02443cb5a26c59
Author: Jeff Bastian <jbastian@redhat.com>
Date:   2013-04-03 13:59:17 +0200

    xzgrep: make the '-h' option to be --no-filename equivalent
    
    * src/scripts/xzgrep.in: Accept the '-h' option in argument parsing.

 src/scripts/xzgrep.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5ea900cb5ad862bca81316729f92357c1fc040ce
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-03-23 22:25:15 +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

 src/liblzma/common/alone_decoder.c | 22 ++++++++++++++--------
 src/liblzma/common/alone_decoder.h |  5 +++--
 src/liblzma/common/auto_decoder.c  |  2 +-
 3 files changed, 18 insertions(+), 11 deletions(-)

commit bb117fffa84604b6e3811b068c80db82bf7f7b05
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-03-23 21:55:13 +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().

 src/liblzma/common/stream_encoder_mt.c | 66 +++++++++++++++++++++++++---------
 1 file changed, 50 insertions(+), 16 deletions(-)

commit e572e123b55b29527e54ce5f0807f115481d78b9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-03-23 21:51:38 +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).

 src/liblzma/common/stream_encoder_mt.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit b465da5988dd59ad98fda10c2e4ea13d0b9c73bc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-03-23 19:17:33 +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.

 src/liblzma/api/lzma/block.h              | 18 ++++++
 src/liblzma/common/block_buffer_encoder.c | 94 +++++++++++++++++++++----------
 src/liblzma/common/block_buffer_encoder.h | 24 ++++++++
 src/liblzma/liblzma.map                   |  1 +
 4 files changed, 106 insertions(+), 31 deletions(-)

commit 9e6dabcf22ef4679f4faaae15ebd5b137ae2fad1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2013-03-05 19:14:50 +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.

 src/scripts/xzless.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit e7b424d267a34803db8d92a3515528be2ed45abd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-12-14 20:13:32 +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.

 src/liblzma/api/lzma/base.h            | 22 +++++++++-
 src/liblzma/common/common.c            | 16 +++++++
 src/liblzma/common/common.h            |  6 +++
 src/liblzma/common/stream_encoder_mt.c | 77 +++++++++++++++++++++++++++++++---
 src/liblzma/liblzma.map                |  1 +
 src/xz/message.c                       | 20 +++++----
 6 files changed, 129 insertions(+), 13 deletions(-)

commit 2ebbb994e367f55f2561aa7c9e7451703c171f2f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-12-14 11:01:41 +0200

    liblzma: Fix mythread_sync for nested locking.

 src/common/mythread.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 4c7e28705f6de418d19cc77324ef301f996e01ff
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-12-13 21:05:36 +0200

    xz: Mention --threads in --help.
    
    Thanks to Olivier Delhomme for pointing out that this
    was still missing.

 src/xz/message.c | 4 ++++
 1 file changed, 4 insertions(+)

commit db5c1817fabf7cbb9e4087b1576eb26f0747338e
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   2012-11-19 00:10: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>

 src/scripts/xzless.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 65536214a31ecd33b6b03b68a351fb597d3703d6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-10-03 15:54:24 +0300

    xz: Fix the note about --rsyncable on the man page.

 src/xz/xz.1 | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

commit 3d93b6354927247a1569caf22ad27b07e97ee904
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-09-28 20:11:09 +0300

    xz: Improve handling of failed realloc in xrealloc.
    
    Thanks to Jim Meyering.

 src/xz/util.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit ab225620664e235637833be2329935f9d290ba80
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-08-24 16:27:31 +0300

    A few typo fixes to comments and the xz man page.
    
    Thanks to Jim Meyering.

 configure.ac               | 2 +-
 src/liblzma/check/sha256.c | 1 -
 src/xz/xz.1                | 4 ++--
 3 files changed, 3 insertions(+), 4 deletions(-)

commit f3c1ec69d910175ffd431fd82968dd35cec806ed
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-08-13 21:40:09 +0300

    xz: Add a warning to --help about alpha and beta versions.

 src/xz/message.c | 5 +++++
 1 file changed, 5 insertions(+)

commit d8eaf9d8278c23c2cf2b7ca5562d4de570d3b5db
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-08-02 17:13:30 +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.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 96e08902b09f0f304d4ff80c6e83ef7fff883f34
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-17 18:29:08 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 3778db1be53e61ff285c573af5ee468803008456
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-17 18:19:59 +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.

 src/liblzma/api/lzma/base.h                |  4 +++-
 src/liblzma/api/lzma/block.h               |  6 ++---
 src/liblzma/api/lzma/container.h           |  9 +++++---
 src/liblzma/api/lzma/filter.h              | 13 ++++++-----
 src/liblzma/api/lzma/index.h               | 16 ++++++-------
 src/liblzma/api/lzma/index_hash.h          |  4 ++--
 src/liblzma/common/alone_decoder.c         |  6 ++---
 src/liblzma/common/alone_decoder.h         |  2 +-
 src/liblzma/common/alone_encoder.c         |  8 +++----
 src/liblzma/common/auto_decoder.c          |  6 ++---
 src/liblzma/common/block_buffer_decoder.c  |  2 +-
 src/liblzma/common/block_buffer_encoder.c  |  4 ++--
 src/liblzma/common/block_decoder.c         |  6 ++---
 src/liblzma/common/block_decoder.h         |  2 +-
 src/liblzma/common/block_encoder.c         |  8 +++----
 src/liblzma/common/block_encoder.h         |  2 +-
 src/liblzma/common/block_header_decoder.c  |  4 ++--
 src/liblzma/common/common.c                | 10 ++++-----
 src/liblzma/common/common.h                | 20 +++++++++--------
 src/liblzma/common/easy_buffer_encoder.c   |  4 ++--
 src/liblzma/common/filter_buffer_decoder.c |  3 ++-
 src/liblzma/common/filter_buffer_encoder.c |  7 +++---
 src/liblzma/common/filter_common.c         |  4 ++--
 src/liblzma/common/filter_common.h         |  2 +-
 src/liblzma/common/filter_decoder.c        |  7 +++---
 src/liblzma/common/filter_decoder.h        |  2 +-
 src/liblzma/common/filter_encoder.c        |  2 +-
 src/liblzma/common/filter_encoder.h        |  2 +-
 src/liblzma/common/filter_flags_decoder.c  |  2 +-
 src/liblzma/common/index.c                 | 26 ++++++++++-----------
 src/liblzma/common/index_decoder.c         | 12 +++++-----
 src/liblzma/common/index_encoder.c         |  6 ++---
 src/liblzma/common/index_encoder.h         |  2 +-
 src/liblzma/common/index_hash.c            |  6 +++--
 src/liblzma/common/outqueue.c              |  4 ++--
 src/liblzma/common/outqueue.h              |  5 +++--
 src/liblzma/common/stream_buffer_decoder.c |  2 +-
 src/liblzma/common/stream_buffer_encoder.c |  3 ++-
 src/liblzma/common/stream_decoder.c        |  9 ++++----
 src/liblzma/common/stream_decoder.h        |  5 +++--
 src/liblzma/common/stream_encoder.c        | 10 ++++-----
 src/liblzma/common/stream_encoder_mt.c     | 16 ++++++-------
 src/liblzma/delta/delta_common.c           |  4 ++--
 src/liblzma/delta/delta_decoder.c          |  6 ++---
 src/liblzma/delta/delta_decoder.h          |  5 +++--
 src/liblzma/delta/delta_encoder.c          |  6 ++---
 src/liblzma/delta/delta_encoder.h          |  3 ++-
 src/liblzma/delta/delta_private.h          |  2 +-
 src/liblzma/lz/lz_decoder.c                |  8 +++----
 src/liblzma/lz/lz_decoder.h                |  7 +++---
 src/liblzma/lz/lz_encoder.c                | 19 ++++++++--------
 src/liblzma/lz/lz_encoder.h                |  6 ++---
 src/liblzma/lzma/lzma2_decoder.c           |  8 +++----
 src/liblzma/lzma/lzma2_decoder.h           |  5 +++--
 src/liblzma/lzma/lzma2_encoder.c           |  6 ++---
 src/liblzma/lzma/lzma2_encoder.h           |  2 +-
 src/liblzma/lzma/lzma_decoder.c            |  8 +++----
 src/liblzma/lzma/lzma_decoder.h            |  7 +++---
 src/liblzma/lzma/lzma_encoder.c            |  7 +++---
 src/liblzma/lzma/lzma_encoder.h            |  5 +++--
 src/liblzma/simple/arm.c                   |  8 ++++---
 src/liblzma/simple/armthumb.c              |  8 ++++---
 src/liblzma/simple/ia64.c                  |  8 ++++---
 src/liblzma/simple/powerpc.c               |  8 ++++---
 src/liblzma/simple/simple_coder.c          | 10 ++++-----
 src/liblzma/simple/simple_coder.h          | 36 ++++++++++++++++++++----------
 src/liblzma/simple/simple_decoder.c        |  2 +-
 src/liblzma/simple/simple_decoder.h        |  2 +-
 src/liblzma/simple/simple_private.h        |  3 ++-
 src/liblzma/simple/sparc.c                 |  8 ++++---
 src/liblzma/simple/x86.c                   |  8 ++++---
 71 files changed, 269 insertions(+), 219 deletions(-)

commit d625c7cf824fd3b61c6da84f56179e94917ff603
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-05 07:36:28 +0300

    Tests: Remove tests/test_block.c that had gotten committed accidentally.

 tests/test_block.c | 52 ----------------------------------------------------
 1 file changed, 52 deletions(-)

commit 0b09d266cce72bc4841933b171e79551e488927c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-05 07:33:35 +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. :-(

 Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit d6e0b23d4613b9f417893dd96cc168c8005ece3d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-05 07:28:53 +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.

 src/liblzma/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 19de545d86097c3954d69ab5d12820387f6a09bc
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-05 07:24:45 +0300

    Docs: Fix the name LZMA Utils -> XZ Utils in debug/README.

 debug/README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 672eccf57c31a40dfb956b7662db06d43e18618e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-05 07:23:17 +0300

    Include debug/translation.bash in the distribution.
    
    Also fix the script name mentioned in README.

 README            | 4 ++--
 debug/Makefile.am | 3 +++
 2 files changed, 5 insertions(+), 2 deletions(-)

commit cafb523adac1caf305e70a04bc37f25602bf990c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-04 22:31:58 +0300

    xz: Document --block-list better.
    
    Thanks to Jonathan Nieder.

 src/xz/xz.1 | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit c7ff218528bc8f7c65e7ef73c6515777346c6794
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-04 20:01:49 +0300

    Bump the version number to 5.1.2alpha.

 src/liblzma/api/lzma/version.h | 2 +-
 src/liblzma/liblzma.map        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 8f3c1d886f93e6478ad509ff52102b2ce7faa999
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-04 20:01:19 +0300

    Update NEWS for 5.1.2alpha.

 NEWS | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

commit 0d5fa05466e580fbc458820f87013ae7644e20e5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-04 19:58:23 +0300

    xz: Fix the version number printed by xz -lvv.
    
    The decoder bug was fixed in 5.0.2 instead of 5.0.3.

 src/xz/list.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit df11317985a4165731dde12bb0f0028da0e7b77f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-04 17:11:31 +0300

    Build: Add a comment to configure.ac about symbol versioning.

 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)

commit bd9cc179e8be3ef515201d3ed9c7dd79ae88869d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-04 17:06:49 +0300

    Update TODO.

 TODO | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 4a238dd9b22f462cac5e199828bf1beb0df05884
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-04 17:05:46 +0300

    Document --enable-symbol-versions in INSTALL.

 INSTALL | 5 +++++
 1 file changed, 5 insertions(+)

commit 88ccf47205d7f3aa314d358c72ef214f10f68b43
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-03 21:16:39 +0300

    xz: Add incomplete support for --block-list.
    
    It's broken with threads and when also --block-size is used.

 src/xz/args.c    | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/xz/args.h    |  1 +
 src/xz/coder.c   | 48 ++++++++++++++++++++++++++++------
 src/xz/coder.h   |  4 +++
 src/xz/main.c    |  1 +
 src/xz/message.c |  6 +++++
 src/xz/xz.1      | 23 +++++++++++++++--
 7 files changed, 151 insertions(+), 10 deletions(-)

commit 972179cdcdf5d8949c48ee31737d87d3050b44af
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-07-01 18:44:33 +0300

    xz: Update the man page about the new field in --robot -lvv.

 src/xz/xz.1 | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 1403707fc64a70976aebe66f8d9a9bd12f73a2c5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-28 10:47:49 +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.

 src/liblzma/lzma/lzma_decoder.c        |  8 ++++++--
 src/liblzma/rangecoder/range_decoder.h | 12 +++++++++---
 2 files changed, 15 insertions(+), 5 deletions(-)

commit eccd8017ffe2c5de473222c4963ec53c62f7fda2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-22 19:00:23 +0300

    Update NEWS from 5.0.4.

 NEWS | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

commit 2e6754eac26a431e8d340c28906f63bcd1e177e8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-22 14:34:03 +0300

    xz: Update man page date to match the latest update.

 src/xz/xz.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b3235a0b1af45d5e1244cbe3191516966c076fa0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-18 21:27:47 +0300

    Docs: Language fix to 01_compress_easy.c.
    
    Thanks to Jonathan Nieder.

 doc/examples/01_compress_easy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f1675f765fe228cb5a5f904f853445a03e33cfe9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-14 20:15:30 +0300

    Fix the top-level Makefile.am for the new example programs.

 Makefile.am | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 3a0c5378abefaf86aa39a62a7c9682bdb21568a1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-14 10:52:33 +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.

 doc/examples/00_README.txt        |  27 ++++
 doc/examples/01_compress_easy.c   | 297 ++++++++++++++++++++++++++++++++++++++
 doc/examples/02_decompress.c      | 287 ++++++++++++++++++++++++++++++++++++
 doc/examples/03_compress_custom.c | 193 +++++++++++++++++++++++++
 doc/examples/Makefile             |  23 +++
 5 files changed, 827 insertions(+)

commit 1bd2c2c553e30c4a73cfb82abc6908efd6be6b8d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-14 10:33:27 +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.

 doc/{examples => examples_old}/xz_pipe_comp.c   | 0
 doc/{examples => examples_old}/xz_pipe_decomp.c | 0
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 905f0ab5b5ce544d4b68a2ed6077df0f3d021292
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-06-14 10:33:01 +0300

    Docs: Fix a bug in xz_pipe_decomp.c example program.

 doc/examples/xz_pipe_decomp.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 4bd1a3bd5fdf4870b2f96dd0b8a21657c8a58ad8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-30 23:14:33 +0300

    Translations: Update the French translation.
    
    Thanks to Adrien Nader.

 po/fr.po | 148 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 79 insertions(+), 69 deletions(-)

commit d2e836f2f3a87df6fe6bb0589b037db51205d910
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-29 23:42:37 +0300

    Translations: Update the German translation.
    
    The previous only included the new strings in v5.0.

 po/de.po | 229 +++++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 133 insertions(+), 96 deletions(-)

commit c9a16151577ba459afd6e3528df23bc0ddb95171
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-29 22:26:27 +0300

    Translations: Update the German translation.

 po/de.po | 169 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 91 insertions(+), 78 deletions(-)

commit 1530a74fd48f8493372edad137a24541efe24713
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-29 22:14:21 +0300

    Translations: Update Polish translation.

 po/pl.po | 283 +++++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 165 insertions(+), 118 deletions(-)

commit d8db706acb8316f9861abd432cfbe001dd6d0c5c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-28 20:42:11 +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.

 src/liblzma/simple/simple_coder.c |   2 +-
 tests/Makefile.am                 |   4 +-
 tests/test_bcj_exact_size.c       | 112 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 116 insertions(+), 2 deletions(-)

commit 3f94b6d87f1b8f1c421ba548f8ebb83dca9c8cda
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-28 15:38:32 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 7769ea051d739a38a1640fd448cf5eb83cb119c6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-28 15:37:43 +0300

    xz: Don't show a huge number in -vv when memory limit is disabled.

 src/xz/message.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit ec921105725e4d3ef0a683dd83eee6f24ab60ccd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-27 22:30:17 +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.

 src/xz/xz.1 | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 27d24eb0a9f6eed96d6a4594c2b0bf7a91d29f9a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-27 21:53:20 +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.

 src/xz/message.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ab25b82a91754d9388c89abddf806424671d9431
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-24 18:33:54 +0300

    Build: Upgrade m4/acx_pthread.m4 to the latest version.

 m4/ax_pthread.m4 | 98 +++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 62 insertions(+), 36 deletions(-)

commit d05d6d65c41a4bc83f162fa3d67c5d84e8751634
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-10 21:15:17 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit e077391982f9f28dbfe542bba8800e7c5b916666
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-05-10 21:14:16 +0300

    Docs: Cleanup line wrapping a bit.

 README          | 12 ++++++------
 doc/history.txt | 49 +++++++++++++++++++++++++------------------------
 2 files changed, 31 insertions(+), 30 deletions(-)

commit fc39849c350225c6a1cd7f6e6adff1020521eabc
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   2012-03-13 22:04: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>

 AUTHORS         |  6 +++---
 README          | 42 ++++++++++++++++++++---------------------
 doc/faq.txt     | 24 ++++++++++++------------
 doc/history.txt | 58 ++++++++++++++++++++++++++++-----------------------------
 4 files changed, 65 insertions(+), 65 deletions(-)

commit 29fa0566d5df199cb9acb2d17bf7eea61acc7fa1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-04-29 11:51:25 +0300

    Windows: Update notes about static linking with MSVC.

 windows/README-Windows.txt | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit aac1b31ea4e66cf5a7a8c116bdaa15aa45e6c56e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-04-19 15:25:26 +0300

    liblzma: Remove outdated comments.

 src/liblzma/simple/simple_coder.c   | 3 ---
 src/liblzma/simple/simple_private.h | 3 +--
 2 files changed, 1 insertion(+), 5 deletions(-)

commit df14a46013bea70c0bd35be7821b0b9108f97de7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-04-19 14:17:52 +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.

 dos/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 03ed742a3a4931bb5c821357832083b26f577b13
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-04-19 14:02:25 +0300

    liblzma: Fix Libs.private in liblzma.pc to include -lrt when needed.

 src/liblzma/liblzma.pc.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8c5b13ad59df70f49429bfdfd6ac120b8f892fda
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-04-19 13:58:55 +0300

    Docs: Update MINIX 3 information in INSTALL.

 INSTALL | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit c7376fc415a1566f38b2de4b516a17013d516a8b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-02-22 14:23:13 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit cff070aba6281ba743d29a62b8c0c66e5da4b2a6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-02-22 14:02:34 +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.

 src/scripts/xzgrep.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 41cafb2bf9beea915710ee68f05fe929cd17759c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-02-22 12:08:43 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 2dcea03712fa881930d69ec9eff70855c3d126d9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-02-22 12:00:16 +0200

    Fix compiling with IBM XL C on AIX.

 INSTALL      | 36 ++++++++++++++++++++++--------------
 configure.ac |  6 +++++-
 2 files changed, 27 insertions(+), 15 deletions(-)

commit 7db6bdf4abcf524115be2cf5659ed540cef074c5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2012-01-10 17:13:03 +0200

    Tests: Fix a compiler warning with _FORTIFY_SOURCE.
    
    Reported here:
    http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/4927385

 tests/create_compress_files.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 694952d545b6cf056547893ced69486eff9ece55
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-12-19 21:21:29 +0200

    Docs: Explain the stable releases better in README.

 README | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 418fe668b3c53a9a20020b6cc652aaf25c734b29
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-11-07 13:07:52 +0200

    xz: Show minimum required XZ Utils version in xz -lvv.
    
    Man page wasn't updated yet.

 src/xz/list.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 57 insertions(+), 6 deletions(-)

commit 7081d82c37326bac97184e338345fa1c327e3580
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-11-04 17:57:16 +0200

    xz: Fix a typo in a comment.
    
    Thanks to Bela Lubkin.

 src/xz/args.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 232fe7cd70ad258d6a37f17e860e0f1b1891eeb5
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-11-03 17:08:02 +0200

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 74d2bae4d3449c68453b0473dd3430ce91fd90c1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-11-03 17:07:22 +0200

    xz: Fix xz on EBCDIC systems.
    
    Thanks to Chris Donawa.

 src/xz/coder.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 4ac4923f47cc0ef97dd9ca5cfcc44fc53eeab34a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-10-23 17:09:10 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit ab50ae3ef40c81e5bf613905ca3fd636548b75e7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-10-23 17:08:14 +0300

    liblzma: Fix invalid free() in the threaded encoder.
    
    It was triggered if initialization failed e.g. due to
    running out of memory.
    
    Thanks to Arkadiusz Miskiewicz.

 src/liblzma/common/outqueue.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 6b620a0f0813d28c3c544b4ff8cb595b38a6e908
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-10-23 17:05:55 +0300

    liblzma: Fix a deadlock in the threaded encoder.
    
    It was triggered when reinitializing the encoder,
    e.g. when encoding two files.

 src/liblzma/common/stream_encoder_mt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit bd52cf150ecd51e3ab63a9cc1a3cff6a77500178
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-09-06 12:03:41 +0300

    Build: Fix "make check" on Windows.

 tests/Makefile.am  | 7 +++++--
 windows/build.bash | 2 ++
 2 files changed, 7 insertions(+), 2 deletions(-)

commit 5c5b2256969ac473001b7d67615ed3bd0a54cc82
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-08-09 21:19:13 +0300

    Update THANKS.

 THANKS | 2 ++
 1 file changed, 2 insertions(+)

commit 5b1e1f10741af9e4bbe4cfc3261fb7c7b04f7809
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-08-09 21:16:44 +0300

    Workaround unusual SIZE_MAX on SCO OpenServer.

 src/common/sysdefs.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit e9ed88126eee86e2511fa42681a5c7104820cf0a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-08-06 20:37:28 +0300

    Run the scripts with the correct shell in test_scripts.sh.
    
    The scripts are now made executable in the build tree.
    This way the scripts can be run like programs in
    test_scripts.sh. Previously test_scripts.sh always
    used sh but it's not correct if @POSIX_SHELL@ is set
    to something else by configure.
    
    Thanks to Jonathan Nieder for the patch.

 configure.ac          | 8 ++++----
 tests/test_scripts.sh | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

commit 1c673e5681720491a74fc4b2992e075f47302c22
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-07-31 11:01:47 +0300

    Fix exit status of "xzdiff foo.xz bar.xz".
    
    xzdiff was clobbering the exit status from diff in a case
    statement used to analyze the exit statuses from "xz" when
    its operands were two compressed files. Save and restore
    diff's exit status to fix this.
    
    The bug is inherited from zdiff in GNU gzip and was fixed
    there on 2009-10-09.
    
    Thanks to Jonathan Nieder for the patch and
    to Peter Pallinger for reporting the bug.

 src/scripts/xzdiff.in |  2 ++
 tests/Makefile.am     |  4 +++-
 tests/test_scripts.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+), 1 deletion(-)

commit 324cde7a864f4506c32ae7846d688c359a83fe65
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-06-16 12:15:29 +0300

    liblzma: Remove unneeded semicolon.

 src/liblzma/lz/lz_encoder_hash.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 492c86345551a51a29bf18e55fe55a5e86f169ce
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-28 19:24:56 +0300

    Build: Make configure print if symbol versioning is enabled or not.

 configure.ac | 2 ++
 1 file changed, 2 insertions(+)

commit fc4d4436969bd4d71b704d400a165875e596034a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-28 16:43:26 +0300

    Don't call close(-1) in tuklib_open_stdxxx() on error.
    
    Thanks to Jim Meyering.

 src/common/tuklib_open_stdxxx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit bd35d903a04c4d388adb4065b0fa271302380895
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-28 15:55:39 +0300

    liblzma: Use symbol versioning.
    
    Symbol versioning is enabled by default on GNU/Linux,
    other GNU-based systems, and FreeBSD.
    
    I'm not sure how stable this is, so it may need
    backward-incompatible changes before the next release.
    
    The idea is that alpha and beta symbols are considered
    unstable and require recompiling the applications that
    use those symbols. Once a symbol is stable, it may get
    extended with new features in ways that don't break
    compatibility with older ABI & API.
    
    The mydist target runs validate_map.sh which should
    catch some probable problems in liblzma.map. Otherwise
    I would forget to update the map file for new releases.

 Makefile.am                 |   1 +
 configure.ac                |  21 +++++++++
 src/liblzma/Makefile.am     |   6 +++
 src/liblzma/liblzma.map     | 105 ++++++++++++++++++++++++++++++++++++++++++++
 src/liblzma/validate_map.sh |  68 ++++++++++++++++++++++++++++
 5 files changed, 201 insertions(+)

commit afbb244362c9426a37ce4eb9d54aab768da3adad
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-28 09:46:46 +0300

    Translations: Update the Italian translation.
    
    Thanks to Milo Casagrande.

 po/it.po | 365 +++++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 216 insertions(+), 149 deletions(-)

commit 79bef85e0543c0c3723281c3c817616c6cec343b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-28 08:46:04 +0300

    Tests: Add a test file for the bug in the previous commit.

 tests/files/README                  |   4 ++++
 tests/files/bad-1-block_header-6.xz | Bin 0 -> 72 bytes
 2 files changed, 4 insertions(+)

commit c0297445064951807803457dca1611b3c47e7f0f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-27 22:25:44 +0300

    xz: Fix error handling in xz -lvv.
    
    It could do an invalid free() and read past the end
    of the uninitialized filters array.

 src/xz/list.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

commit 8bd91918ac50731f00b1a2a48072980572eb2ff9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-27 22:09:49 +0300

    liblzma: Handle allocation failures correctly in lzma_index_init().
    
    Thanks to Jim Meyering.

 src/liblzma/common/index.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit fe00f95828ef5627721b57e054f7eb2d42a2c961
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-24 00:23:46 +0300

    Build: Fix checking for system-provided SHA-256.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 21b45b9bab541f419712cbfd473ccc31802e0397
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-23 18:30:30 +0300

    Build: Set GZIP_ENV=-9n in top-level Makefile.am.

 Makefile.am | 3 +++
 1 file changed, 3 insertions(+)

commit 48053e8a4550233af46359024538bff90c870ab1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-22 16:42:11 +0300

    Update NEWS for 5.0.3.

 NEWS | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

commit bba37df2c9e54ad773e15ff00a09d2d6989fb3b2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-21 16:28:44 +0300

    Add French translation.
    
    It is known that the BCJ filter --help text is only
    partially translated.

 po/LINGUAS |   1 +
 po/fr.po   | 864 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 865 insertions(+)

commit 4161d7634965a7a287bf208dcd79f6185f448fe8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-21 15:12:10 +0300

    xz: Translate also the string used to print the program name.
    
    French needs a space before a colon, e.g. "xz : foo error".

 src/xz/message.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit b94aa0c8380cdb18cddb33440d625474c16643cf
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-21 15:08:44 +0300

    liblzma: Try to use SHA-256 from the operating system.
    
    If the operating system libc or other base libraries
    provide SHA-256, use that instead of our own copy.
    Note that this doesn't use OpenSSL or libgcrypt or
    such libraries to avoid creating dependencies to
    other packages.
    
    This supports at least FreeBSD, NetBSD, OpenBSD, Solaris,
    MINIX, and Darwin. They all provide similar but not
    identical SHA-256 APIs; everyone is a little different.
    
    Thanks to Wim Lewis for the original patch, improvements,
    and testing.

 configure.ac                   | 54 +++++++++++++++++++++++++++
 src/liblzma/check/Makefile.inc |  2 +
 src/liblzma/check/check.h      | 83 ++++++++++++++++++++++++++++++++++++++----
 3 files changed, 131 insertions(+), 8 deletions(-)

commit f004128678d43ea10b4a6401aa184cf83252d6ec
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-17 12:52:18 +0300

    Don't use clockid_t in mythread.h when clock_gettime() isn't available.
    
    Thanks to Wim Lewis for the patch.

 src/common/mythread.h | 2 ++
 1 file changed, 2 insertions(+)

commit f779516f42ebd2db47a5b7d6143459bf7737cf2f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-17 12:26:28 +0300

    Update THANKS.

 THANKS | 3 +++
 1 file changed, 3 insertions(+)

commit 830ba587775bb562f6eaf05cad61bf669d1f8892
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-17 12:21:33 +0300

    Update INSTALL with a note about linker problem on OpenSolaris x86.

 INSTALL | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

commit ec7106309c8060e9c646dba20c4f15689a0bbb04
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-17 12:01:37 +0300

    Build: Fix initialization of enable_check_* variables in configure.ac.
    
    This doesn't matter much in practice since it is unlikely
    that anyone would have such environment variable names.
    
    Thanks to Wim Lewis.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4c6e146df99696920f12410fb17754412797ef36
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-17 11:54:38 +0300

    Add underscores to attributes (__attribute((__foo__))).

 src/liblzma/common/alone_decoder.c |  2 +-
 src/liblzma/common/alone_encoder.c |  2 +-
 src/liblzma/common/block_encoder.c |  2 +-
 src/liblzma/common/common.c        |  2 +-
 src/liblzma/common/common.h        |  2 +-
 src/liblzma/common/index_decoder.c |  9 +++++----
 src/liblzma/common/index_encoder.c | 11 ++++++-----
 src/liblzma/delta/delta_encoder.c  |  2 +-
 src/liblzma/lz/lz_decoder.c        |  2 +-
 src/liblzma/lz/lz_encoder.c        |  2 +-
 src/liblzma/simple/arm.c           |  2 +-
 src/liblzma/simple/armthumb.c      |  2 +-
 src/liblzma/simple/ia64.c          |  2 +-
 src/liblzma/simple/powerpc.c       |  2 +-
 src/liblzma/simple/simple_coder.c  |  2 +-
 src/liblzma/simple/sparc.c         |  2 +-
 src/lzmainfo/lzmainfo.c            |  4 ++--
 src/xz/coder.c                     |  2 +-
 src/xz/hardware.h                  |  2 +-
 src/xz/message.c                   |  2 +-
 src/xz/message.h                   | 18 +++++++++---------
 src/xz/options.c                   |  6 +++---
 src/xz/signals.c                   |  2 +-
 src/xz/util.h                      |  6 +++---
 src/xzdec/xzdec.c                  |  6 +++---
 25 files changed, 49 insertions(+), 47 deletions(-)

commit 7a480e485938884ef3021b48c3b0b9f9699dc9b6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-01 12:24:23 +0300

    xz: Fix input file position when --single-stream is used.
    
    Now the following works as you would expect:
    
        echo foo | xz > foo.xz
        echo bar | xz >> foo.xz
        ( xz -dc --single-stream ; xz -dc --single-stream ) < foo.xz
    
    Note that it doesn't work if the input is not seekable
    or if there is Stream Padding between the concatenated
    .xz Streams.

 src/xz/coder.c   |  1 +
 src/xz/file_io.c | 15 +++++++++++++++
 src/xz/file_io.h | 13 +++++++++++++
 3 files changed, 29 insertions(+)

commit c29e6630c1450c630c4e7b783bdd76515db9004c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-05-01 12:15:51 +0300

    xz: Print the maximum number of worker threads in xz -vv.

 src/xz/coder.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 0b77c4a75158ccc416b07d6e81df8ee0abaea720
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-19 10:44:48 +0300

    Build: Warn if no supported method to detect the number of CPU cores.

 configure.ac | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

commit e4622df9ab4982f8faa53d85b17be66216175a58
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-19 09:55:06 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 9c1b05828a88eff54409760b92162c7cc2c7cff6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-19 09:20:44 +0300

    Fix portability problems in mythread.h.
    
    Use gettimeofday() if clock_gettime() isn't available
    (e.g. Darwin).
    
    The test for availability of pthread_condattr_setclock()
    and CLOCK_MONOTONIC was incorrect. Instead of fixing the
    #ifdefs, use an Autoconf test. That way if there exists a
    system that supports them but doesn't specify the matching
    POSIX #defines, the features will still get detected.
    
    Don't try to use pthread_sigmask() on OpenVMS. It doesn't
    have that function.
    
    Guard mythread.h against being #included multiple times.

 configure.ac          |  7 +++++++
 src/common/mythread.h | 31 +++++++++++++++++++++++++++----
 2 files changed, 34 insertions(+), 4 deletions(-)

commit 3de00cc75da7b0e7b65e84c62b5351e231f501e9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-18 19:35:49 +0300

    Update THANKS.

 THANKS | 2 ++
 1 file changed, 2 insertions(+)

commit bd5002f5821e3d1b04f2f56989e4a19318e73633
Author: Martin Väth <vaeth@mathematik.uni-wuerzburg.de>
Date:   2011-04-15 04:54:49 -0400

    xzgrep: fix typo in $0 parsing
    
    Reported-by: Diego Elio Pettenò <flameeyes@gentoo.org>
    Signed-off-by: Martin Väth <vaeth@mathematik.uni-wuerzburg.de>
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>

 src/scripts/xzgrep.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6ef4eabc0acc49e1bb9dc68064706e19fa9fcf48
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-12 12:48:31 +0300

    Bump the version number to 5.1.1alpha and liblzma soname to 5.0.99.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 9a4377be0d21e597c66bad6c7452873aebfb3c1c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-12 12:42:37 +0300

    Put the unstable APIs behind #ifdef LZMA_UNSTABLE.
    
    This way people hopefully won't complain if these APIs
    change and break code that used an older API.

 src/liblzma/api/lzma/container.h | 4 ++++
 src/liblzma/common/common.h      | 2 ++
 src/xz/private.h                 | 2 ++
 3 files changed, 8 insertions(+)

commit 3e321a3acd50002cf6fdfd259e910f56d3389bc3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-12 11:59:49 +0300

    Remove doubled words from documentation and comments.
    
    Spot candidates by running these commands:
      git ls-files |xargs perl -0777 -n \
        -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \
        -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}'
    
    Thanks to Jim Meyering for the original patch.

 doc/lzma-file-format.txt           | 4 ++--
 src/liblzma/common/alone_encoder.c | 2 +-
 src/liblzma/lzma/lzma2_encoder.c   | 2 +-
 src/xz/file_io.c                   | 2 +-
 src/xz/xz.1                        | 2 +-
 windows/INSTALL-Windows.txt        | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

commit d91a84b534b012d19474f2fda1fbcaef873e1ba4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-12 11:46:01 +0300

    Update NEWS.

 NEWS | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 45 insertions(+), 2 deletions(-)

commit 14e6ad8cfe0165c1a8beeb5b2a1536558b29b0a1
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-12 11:45:40 +0300

    Update TODO.

 TODO | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 70e750f59793f9b5cd306a5adce9b8e427739e04
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-12 11:08:55 +0300

    xz: Update the man page about threading.

 src/xz/xz.1 | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

commit 24e0406c0fb7494d2037dec033686faf1bf67068
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 22:06:03 +0300

    xz: Add support for threaded compression.

 src/xz/args.c  |   3 +-
 src/xz/coder.c | 202 +++++++++++++++++++++++++++++++++++----------------------
 2 files changed, 125 insertions(+), 80 deletions(-)

commit de678e0c924aa79a19293a8a6ed82e8cb6572a42
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 22:03:30 +0300

    liblzma: Add lzma_stream_encoder_mt() for threaded compression.
    
    This is the simplest method to do threading, which splits
    the uncompressed data into blocks and compresses them
    independently from each other. There's room for improvement
    especially to reduce the memory usage, but nevertheless,
    this is a good start.

 configure.ac                           |    1 +
 src/liblzma/api/lzma/container.h       |  163 +++++
 src/liblzma/common/Makefile.inc        |    7 +
 src/liblzma/common/common.c            |    9 +-
 src/liblzma/common/common.h            |   14 +
 src/liblzma/common/outqueue.c          |  180 ++++++
 src/liblzma/common/outqueue.h          |  155 +++++
 src/liblzma/common/stream_encoder_mt.c | 1011 ++++++++++++++++++++++++++++++++
 8 files changed, 1539 insertions(+), 1 deletion(-)

commit 25fe729532cdf4b8fed56a4519b73cf31efaec50
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 21:15:07 +0300

    liblzma: Add the forgotten lzma_lzma2_block_size().
    
    This should have been in 5eefc0086d24a65e136352f8c1d19cefb0cbac7a.

 src/liblzma/lzma/lzma2_encoder.c | 10 ++++++++++
 src/liblzma/lzma/lzma2_encoder.h |  2 ++
 2 files changed, 12 insertions(+)

commit 91afb785a1dee34862078d9bf844ef12b8cc3e35
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 21:04:13 +0300

    liblzma: Document lzma_easy_(enc|dec)oder_memusage() better too.

 src/liblzma/api/lzma/container.h | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 4a9905302a9e4a1601ae09d650d3f08ce98ae9ee
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 20:59:07 +0300

    liblzma: Document lzma_raw_(enc|dec)oder_memusage() better.
    
    It didn't mention the return value that is used if
    an error occurs.

 src/liblzma/api/lzma/filter.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 0badb0b1bd649163322783b0bd9e590b4bc7a93d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 19:28:18 +0300

    liblzma: Use memzero() to initialize supported_actions[].
    
    This is cleaner and makes it simpler to add new members
    to lzma_action enumeration.

 src/liblzma/common/common.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit a7934c446a58e20268689899d2a39f50e571f251
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 19:26:27 +0300

    liblzma: API comment about lzma_allocator with threaded coding.

 src/liblzma/api/lzma/base.h | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

commit 5eefc0086d24a65e136352f8c1d19cefb0cbac7a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 19:16:30 +0300

    liblzma: Add an internal function lzma_mt_block_size().
    
    This is based lzma_chunk_size() that was included in some
    development version of liblzma.

 src/liblzma/common/filter_encoder.c | 46 ++++++++++++++++++-------------------
 src/liblzma/common/filter_encoder.h |  4 ++--
 2 files changed, 24 insertions(+), 26 deletions(-)

commit d1199274758049fc523d98c5b860ff814a799eec
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 13:59:50 +0300

    liblzma: Don't create an empty Block in lzma_stream_buffer_encode().
    
    Empty Block was created if the input buffer was empty.
    Empty Block wastes a few bytes of space, but more importantly
    it triggers a bug in XZ Utils 5.0.1 and older when trying
    to decompress such a file. 5.0.1 and older consider such
    files to be corrupt. I thought that no encoder creates empty
    Blocks when releasing 5.0.2 but I was wrong.

 src/liblzma/common/stream_buffer_encoder.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

commit 3b22fc2c87ec85fcdd385c163b68fc49c97aa848
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 13:28:40 +0300

    liblzma: Fix API docs to mention LZMA_UNSUPPORTED_CHECK.
    
    This return value was missing from the API comments of
    four functions.

 src/liblzma/api/lzma/block.h     | 1 +
 src/liblzma/api/lzma/container.h | 3 +++
 2 files changed, 4 insertions(+)

commit 71b9380145dccf001f22e66a06b9d508905c25ce
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 13:21:28 +0300

    liblzma: Validate encoder arguments better.
    
    The biggest problem was that the integrity check type
    wasn't validated, and e.g. lzma_easy_buffer_encode()
    would create a corrupt .xz Stream if given an unsupported
    Check ID. Luckily applications don't usually try to use
    an unsupport Check ID, so this bug is unlikely to cause
    many real-world problems.

 src/liblzma/common/block_buffer_encoder.c  | 18 ++++++++++++------
 src/liblzma/common/block_encoder.c         |  5 +++++
 src/liblzma/common/stream_buffer_encoder.c |  3 +++
 3 files changed, 20 insertions(+), 6 deletions(-)

commit ec7e3dbad704268825fc48f0bdd4577bc46b4f13
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 09:57:30 +0300

    xz: Move the description of --block-size in --long-help.

 src/xz/message.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit cd3086ff443bb282bdf556919c28b3e3cbed8169
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 09:55:35 +0300

    Docs: Document --single-stream and --block-size.

 src/xz/xz.1 | 38 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

commit fb64a4924334e3c440865710990fe08090f2fed0
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 09:27:57 +0300

    liblzma: Make lzma_stream_encoder_init() static (second try).
    
    It's an internal function and it's not needed by
    anything outside stream_encoder.c.

 src/liblzma/common/Makefile.inc     |  1 -
 src/liblzma/common/easy_encoder.c   |  1 -
 src/liblzma/common/stream_encoder.c | 13 ++++++-------
 src/liblzma/common/stream_encoder.h | 23 -----------------------
 4 files changed, 6 insertions(+), 32 deletions(-)

commit a34730cf6af4d33a4057914e57227b6dfde6567e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-11 08:31:42 +0300

    Revert "liblzma: Make lzma_stream_encoder_init() static."
    
    This reverts commit 352ac82db5d3f64585c07b39e4759388dec0e4d7.
    I don't know what I was thinking.

 src/liblzma/common/Makefile.inc     |  1 +
 src/liblzma/common/stream_encoder.c |  9 +++++----
 src/liblzma/common/stream_encoder.h | 23 +++++++++++++++++++++++
 3 files changed, 29 insertions(+), 4 deletions(-)

commit 9f0a806aef7ea79718e3f1f2baf3564295229a27
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-10 21:23:21 +0300

    Revise mythread.h.
    
    This adds:
    
      - mythread_sync() macro to create synchronized blocks
    
      - mythread_cond structure and related functions
        and macros for condition variables with timed
        waiting using a relative timeout
    
      - mythread_create() to create a thread with all
        signals blocked
    
    Some of these wouldn't need to be inline functions,
    but I'll keep them this way for now for simplicity.
    
    For timed waiting on a condition variable, librt is
    now required on some systems to use clock_gettime().
    configure.ac was updated to handle this.

 configure.ac          |   1 +
 src/common/mythread.h | 200 +++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 181 insertions(+), 20 deletions(-)

commit 352ac82db5d3f64585c07b39e4759388dec0e4d7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-10 20:37:36 +0300

    liblzma: Make lzma_stream_encoder_init() static.
    
    It's an internal function and it's not needed by
    anything outside stream_encoder.c.

 src/liblzma/common/Makefile.inc     |  1 -
 src/liblzma/common/stream_encoder.c |  9 ++++-----
 src/liblzma/common/stream_encoder.h | 23 -----------------------
 3 files changed, 4 insertions(+), 29 deletions(-)

commit 9e807fe3fe79618ac48f58207cf7082ea20a6928
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-10 14:58:10 +0300

    DOS: Update the docs and include notes about 8.3 filenames.

 dos/{README => INSTALL.txt} |  13 +----
 dos/README.txt              | 123 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 125 insertions(+), 11 deletions(-)

commit ebd54dbd6e481d31e80757f900ac8109ad1423c6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-10 13:09:42 +0300

    xz/DOS: Add experimental 8.3 filename support.
    
    This is incompatible with the 8.3 support patch made by
    Juan Manuel Guerrero. I think this one is nicer, but
    I need to get feedback from DOS users before saying
    that this is the final version of 8.3 filename support.

 src/xz/suffix.c | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 167 insertions(+), 9 deletions(-)

commit cd4fe97852bcaeffe674ee51b4613709292a0972
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-10 12:47:47 +0300

    xz/DOS: Be more careful with the destination file.
    
    Try to avoid overwriting the source file if --force is
    used and the generated destination filename refers to
    the source file. This can happen with 8.3 filenames where
    extra characters are ignored.
    
    If the generated output file refers to a special file
    like "con" or "prn", refuse to write to it even if --force
    is used.

 src/xz/file_io.c | 35 +++++++++++++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

commit 607f9f98ae5ef6d49f4c21c806d462bf6b3d6796
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-09 18:29:30 +0300

    Update THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit fca396b37410d272b754843a5dc13847be443a3a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-09 18:28:58 +0300

    liblzma: Add missing #ifdefs to filter_common.c.
    
    Passing --disable-decoders to configure broke a few
    encoders due to missing #ifdefs in filter_common.c.
    
    Thanks to Jason Gorski for the patch.

 src/liblzma/common/filter_common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit b03f6cd3ebadd675f2cc9d518cb26fa860269447
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-09 15:24:59 +0300

    xz: Avoid unneeded fstat() on DOS-like systems.

 src/xz/file_io.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit 335fe260a81f61ec99ff5940df733b4c50aedb7c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-09 15:11:13 +0300

    xz: Minor internal changes to handling of --threads.
    
    Now it always defaults to one thread. Maybe this
    will change again if a threading method is added
    that doesn't affect memory usage.

 src/xz/args.c     |  4 ++--
 src/xz/hardware.c | 24 ++++++++++++------------
 src/xz/hardware.h |  9 ++++-----
 3 files changed, 18 insertions(+), 19 deletions(-)

commit 9edd6ee895fbe71d245a173f48e511f154a99875
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-08 17:53:05 +0300

    xz: Change size_t to uint32_t in a few places.

 src/xz/coder.c | 6 +++---
 src/xz/coder.h | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 411013ea4506a6df24d35a060fcbd73a57b73eb3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-08 17:48:41 +0300

    xz: Fix a typo in a comment.

 src/xz/coder.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b34c5ce4b22e8d7b81f9895d15054af41d17f805
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-05 22:41:33 +0300

    liblzma: Use TUKLIB_GNUC_REQ to check GCC version in sha256.c.

 src/liblzma/check/sha256.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit db33117cc85c17e0b897b5312bd5eb43aac41c03
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-05 17:12:20 +0300

    Build: Upgrade m4/acx_pthread.m4 to the latest version.
    
    It was renamed to ax_pthread.m4 in Autoconf Archive.

 configure.ac                         |   2 +-
 m4/{acx_pthread.m4 => ax_pthread.m4} | 170 ++++++++++++++++++-----------------
 2 files changed, 88 insertions(+), 84 deletions(-)

commit 1039bfcfc098b69d56ecb39d198a092552eacf6d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-05 15:27:26 +0300

    xz: Use posix_fadvise() if it is available.

 configure.ac     |  3 +++
 src/xz/file_io.c | 15 +++++++++++++++
 2 files changed, 18 insertions(+)

commit 1ef3cf44a8eb9512480af4482a5232ea08363b14
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-05 15:13:29 +0300

    xz: Call lzma_end(&strm) before exiting if debugging is enabled.

 src/xz/coder.c | 10 ++++++++++
 src/xz/coder.h |  5 +++++
 src/xz/main.c  |  4 ++++
 3 files changed, 19 insertions(+)

commit bd432015d33dcade611d297bc01eb0700088ef6c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-02 14:49:56 +0300

    liblzma: Fix a memory leak in stream_encoder.c.
    
    It leaks old filter options structures (hundred bytes or so)
    every time the lzma_stream is reinitialized. With the xz tool,
    this happens when compressing multiple files.

 src/liblzma/common/stream_encoder.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 16889013214e7620d204b6e6c1bf9f3103a13655
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-04-01 08:47:20 +0300

    Updated NEWS for 5.0.2.

 NEWS | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 85cdf7dd4e97b078e7b929e47f55a7f1da36010f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-31 15:06:58 +0300

    Update INSTALL with another note about IRIX.

 INSTALL | 4 ++++
 1 file changed, 4 insertions(+)

commit c3f4995586873d6a4fb7e451010a128571a9a370
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-31 12:22:55 +0300

    Tests: Add a new file to test empty LZMA2 streams.

 tests/files/README            |   4 ++++
 tests/files/good-1-lzma2-5.xz | Bin 0 -> 52 bytes
 2 files changed, 4 insertions(+)

commit 0d21f49a809dc2088da6cc0da7f948404df7ecfa
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-31 11:54:48 +0300

    liblzma: Fix decoding of LZMA2 streams having no uncompressed data.
    
    The decoder considered empty LZMA2 streams to be corrupt.
    This shouldn't matter much with .xz files, because no encoder
    creates empty LZMA2 streams in .xz. This bug is more likely
    to cause problems in applications that use raw LZMA2 streams.

 src/liblzma/lzma/lzma2_decoder.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 40277998cb9bad564ce4827aff152e6e1c904dfa
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-24 01:42:49 +0200

    Scripts: Better fix for xzgrep.
    
    Now it uses "grep -q".
    
    Thanks to Gregory Margo.

 src/scripts/xzgrep.in | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 2118733045ad0ca183a3f181a0399baf876983a6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-24 01:22:18 +0200

    Updated THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit c7210d9a3fca6f31a57208bfddfc9ab20a2e097a
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-24 01:21:32 +0200

    Scripts: Fix xzgrep -l.
    
    It didn't work at all. It tried to use the -q option
    for grep, but it appended it after "--". This works
    around it by redirecting to /dev/null. The downside
    is that this can be slower with big files compared
    to proper use of "grep -q".
    
    Thanks to Gregory Margo.

 src/scripts/xzgrep.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4eb83e32046a6d670862bc91c3d82530963b455e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-19 13:08:22 +0200

    Scripts: Add lzop (.lzo) support to xzdiff and xzgrep.

 src/scripts/xzdiff.1  |  6 ++++--
 src/scripts/xzdiff.in | 22 ++++++++++++++--------
 src/scripts/xzgrep.1  | 11 +++++++----
 src/scripts/xzgrep.in |  5 +++--
 4 files changed, 28 insertions(+), 16 deletions(-)

commit 923b22483bd9356f3219b2b784d96f455f4dc499
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-18 19:10:30 +0200

    xz: Add --block-size=SIZE.
    
    This uses LZMA_FULL_FLUSH every SIZE bytes of input.
    
    Man page wasn't updated yet.

 src/xz/args.c    |  7 +++++++
 src/xz/coder.c   | 50 ++++++++++++++++++++++++++++++++++++++++----------
 src/xz/coder.h   |  3 +++
 src/xz/message.c |  4 ++++
 4 files changed, 54 insertions(+), 10 deletions(-)

commit 57597d42ca1740ad506437be168d800a50f1a0ad
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-03-18 18:19:19 +0200

    xz: Add --single-stream.
    
    This can be useful when there is garbage after the
    compressed stream (.xz, .lzma, or raw stream).
    
    Man page wasn't updated yet.

 src/xz/args.c    |  6 ++++++
 src/xz/coder.c   | 11 +++++++++--
 src/xz/coder.h   |  3 +++
 src/xz/message.c |  6 +++++-
 4 files changed, 23 insertions(+), 3 deletions(-)

commit 96f94bc925d579a700147fa5d7793b64d69cfc18
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-02-04 22:49:31 +0200

    xz: Clean up suffix.c.
    
    struct suffix_pair isn't needed in compresed_name()
    so get rid of it there.

 src/xz/suffix.c | 44 ++++++++++++++++++++------------------------
 1 file changed, 20 insertions(+), 24 deletions(-)

commit 8930c7ae3f82bdae15aa129f01de08be23d7e8d7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-02-04 11:29:47 +0200

    xz: Check if the file already has custom suffix when compressing.
    
    Now "xz -S .test foo.test" refuses to compress the
    file because it already has the suffix .test. The man
    page had it documented this way already.

 src/xz/suffix.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 940d5852c6cf08abccc6befd9d1b5411c9076a58
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-02-02 23:01:51 +0200

    Updated THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 4ebe65f839613f27f127bab7b8c347d982330ee3
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-02-02 23:00:33 +0200

    Translations: Add Polish translation.
    
    Thanks to Jakub Bogusz.

 po/LINGUAS |   1 +
 po/pl.po   | 825 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 826 insertions(+)

commit fc1d292dca1925dfd17174f443f91a696ecd5bf8
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-02-02 22:24:00 +0200

    Updated THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit 6dd061adfd2775428b079eb03d6fd47d7c0f1ffe
Merge: 9d542ce 5fbce0b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-02-06 20:13:01 +0200

    Merge commit '5fbce0b8d96dc96775aa0215e3581addc830e23d'

commit 5fbce0b8d96dc96775aa0215e3581addc830e23d
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-01-28 20:16:57 +0200

    Update NEWS for 5.0.1.

 NEWS | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 03ebd1bbb314f9f204940219a835c883bf442475
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-01-26 12:19:08 +0200

    xz: Fix --force on setuid/setgid/sticky and multi-hardlink files.
    
    xz didn't compress setuid/setgid/sticky files and files
    with multiple hard links even with --force. This bug was
    introduced in 23ac2c44c3ac76994825adb7f9a8f719f78b5ee4.
    
    Thanks to Charles Wilson.

 src/xz/file_io.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

commit 9d542ceebcbe40b174169c132ccfcdc720ca7089
Merge: 4f2c69a 7bd0a5e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-01-19 11:45:35 +0200

    Merge branch 'v5.0'

commit 7bd0a5e7ccc354f7c2e95c8bc27569c820f6a136
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-01-18 21:25:24 +0200

    Updated THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit f71c4e16e913f660977526f0ef8d2acdf458d7c9
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2011-01-18 21:23:50 +0200

    Add alloc_size and malloc attributes to a few functions.
    
    Thanks to Cristian Rodríguez for the original patch.

 src/common/sysdefs.h        | 6 ++++++
 src/liblzma/common/common.h | 2 +-
 src/xz/util.h               | 5 +++--
 3 files changed, 10 insertions(+), 3 deletions(-)

commit 316cbe24465143edde8f6ffb7532834b7b2ea93f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-13 16:36:33 +0200

    Scripts: Fix gzip and bzip2 support in xzdiff.

 src/scripts/xzdiff.in | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 4f2c69a4e3e0aee2e37b0b1671d34086e20c8ac6
Merge: adb89e6 9311774
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-12 23:13:22 +0200

    Merge branch 'v5.0'

commit 9311774c493c19deab51ded919dcd2e9c4aa2829
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-12 21:23:55 +0200

    Build: Enable ASM on DJGPP by default.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4a42aaee282fc73b482581684d65110506d5efdd
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-12 16:09:42 +0200

    Updated THANKS.

 THANKS | 1 +
 1 file changed, 1 insertion(+)

commit ce56f63c41ee210e6308090eb6d49221fdf67d6c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-12 16:07:11 +0200

    Add missing PRIx32 and PRIx64 compatibility definitions.
    
    This fixes portability to systems that lack C99 inttypes.h.
    
    Thanks to Juan Manuel Guerrero.

 src/common/sysdefs.h | 9 +++++++++
 1 file changed, 9 insertions(+)

commit e6baedddcf54e7da049ebc49183565b99facd4c7
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-12 14:50:04 +0200

    DOS-like: Treat \ and : as directory separators in addition to /.
    
    Juan Manuel Guerrero had fixed this in his XZ Utils port
    to DOS/DJGPP. The bug affects also Windows and OS/2.

 src/xz/suffix.c | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)

commit adb89e68d43a4cadb0c215b45ef7a75737c9c3ec
Merge: 7c24e0d b7afd3e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-07 18:53:04 +0200

    Merge branch 'v5.0'

commit b7afd3e22a8fac115b75c738d40d3eb1de7e286f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-12-07 18:52:04 +0200

    Translations: Fix Czech translation of "sparse file".
    
    Thanks to Petr Hubený and Marek Černocký.

 po/cs.po | 88 ++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 44 insertions(+), 44 deletions(-)

commit 7c24e0d1b8a2e86e9263b0d56d39621e01aed7af
Merge: b4d42f1 3e56470
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-11-15 14:33:01 +0200

    Merge branch 'v5.0'

commit 3e564704bc6f463cb2db11e3f3f0dbd71d85992e
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-11-15 14:28:26 +0200

    liblzma: Document the return value of lzma_lzma_preset().

 src/liblzma/api/lzma/lzma.h | 3 +++
 1 file changed, 3 insertions(+)

commit 2964d8d691ed92abdcf214888d79ad6d79774735
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   2010-11-12 15:22:13 -0600

    Simplify paths in generated API docs
    
    Currently the file list generated by Doxygen has src/ at the
    beginning of each path.  Paths like common/sysdefs.h and
    liblzma/api/lzma.h are easier to read without such a prefix.
    
    Builds from a separate build directory with
    
            mkdir build
            cd build
            ../configure
            doxygen Doxyfile
    
    include an even longer prefix /home/someone/src/xz/src; this
    patch has the nice side-effect of eliminating that prefix, too.
    
    Fixes: http://bugs.debian.org/572273

 Doxyfile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b4d42f1a7120e2cefeb2f14425efe2ca6db85416
Author: Anders F Bjorklund <afb@users.sourceforge.net>
Date:   2010-11-05 12:56:11 +0100

    add build script for macosx universal

 macosx/build.sh | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

commit 15ee6935abe4a2fc76639ee342ca2e69af3e0ad6
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-11-04 18:31:40 +0200

    Update the copies of GPLv2 and LGPLv2.1 from gnu.org.
    
    There are only a few white space changes.

 COPYING.GPLv2    | 14 +++++++-------
 COPYING.LGPLv2.1 | 16 +++++++---------
 2 files changed, 14 insertions(+), 16 deletions(-)

commit 8e355f7fdbeee6fe394eb02a28f267ce99a882a2
Merge: 974ebe6 37c2565
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-10-26 15:53:06 +0300

    Merge branch 'v5.0'

commit 37c25658efd25b034266daf87cd381d20d1df776
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-10-26 15:48:48 +0300

    Build: Copy the example programs to $docdir/examples.
    
    The example programs by Daniel Mealha Cabrita were included
    in the git repository, but I had forgot to add them to
    Makefile.am. Thus, they didn't get included in the source
    package at all by "make dist".

 Makefile.am        | 5 +++++
 windows/build.bash | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

commit 974ebe63497bdf0d262e06474f0dd5a70b1dd000
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-10-26 10:36:41 +0300

    liblzma: Rename a few variables and constants.
    
    This has no semantic changes. I find the new names slightly
    more logical and they match the names that are already used
    in XZ Embedded.
    
    The name fastpos wasn't changed (not worth the hassle).

 src/liblzma/lzma/fastpos.h                     |  55 +++++------
 src/liblzma/lzma/lzma2_encoder.c               |   2 +-
 src/liblzma/lzma/lzma_common.h                 |  45 ++++-----
 src/liblzma/lzma/lzma_decoder.c                |  58 +++++------
 src/liblzma/lzma/lzma_encoder.c                |  56 +++++------
 src/liblzma/lzma/lzma_encoder_optimum_fast.c   |   9 +-
 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 128 ++++++++++++-------------
 src/liblzma/lzma/lzma_encoder_private.h        |  16 ++--
 8 files changed, 183 insertions(+), 186 deletions(-)

commit 7c427ec38d016c0070a42315d752857e33792fc4
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-10-25 12:59:25 +0300

    Bump version 5.1.0alpha.

 src/liblzma/api/lzma/version.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e45929260cd902036efd40c5610a8d0a50d5712b
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-10-23 17:25:52 +0300

    Build: Fix mydist rule when .git doesn't exist.

 Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 6e1326fcdf6b6209949be57cfe3ad4b781b65168
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-10-23 14:15:35 +0300

    Add NEWS for 5.0.0.

 NEWS | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

commit b667a3ef6338a2c1db7b7706b1f6c99ea392221c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date:   2010-10-23 14:02:53 +0300

    Bump version to 5.0.0 and liblzma version-info to 5:0:0.

 src/liblzma/Makefile.am        | 2 +-
 src/liblzma/api/lzma/version.h | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)
