]> git.ipfire.org Git - thirdparty/xz.git/log
thirdparty/xz.git
3 years agoTests: Refactors existing filter flags tests.
Jia Tan [Thu, 29 Dec 2022 15:33:33 +0000 (23:33 +0800)] 
Tests: Refactors existing filter flags tests.

Converts the existing filter flags tests into tuktests.

3 years agoliblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022).
Lasse Collin [Mon, 9 Jan 2023 10:22:05 +0000 (12:22 +0200)] 
liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022).

I haven't tested with MSVC myself and there doesn't seem to be
information about the problem online, so I'm relying on the bug report.

Thanks to Iouri Kharon for the bug report and the patch.

3 years agoCMake: Fix a copypaste error in xzdec Windows resource file handling.
Lasse Collin [Mon, 9 Jan 2023 09:27:24 +0000 (11:27 +0200)] 
CMake: Fix a copypaste error in xzdec Windows resource file handling.

It was my mistake. Thanks to Iouri Kharon for the bug report.

3 years agoTests: tuktest.h: Support tuktest_malloc(0).
Lasse Collin [Sat, 7 Jan 2023 22:32:29 +0000 (00:32 +0200)] 
Tests: tuktest.h: Support tuktest_malloc(0).

It's not needed in XZ Utils at least for now. It's good to support
it still because if such use is needed later, it wouldn't be
caught on GNU/Linux since malloc(0) from glibc returns non-NULL.

3 years agoUpdate THANKS.
Lasse Collin [Sat, 7 Jan 2023 22:24:23 +0000 (00:24 +0200)] 
Update THANKS.

3 years agoCMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25.
Lasse Collin [Sat, 7 Jan 2023 19:57:11 +0000 (21:57 +0200)] 
CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25.

The changes listed on cmake-policies(7) for versions 3.17 to 3.25
shouldn't affect this project.

3 years agoUpdate THANKS.
Lasse Collin [Sat, 7 Jan 2023 17:50:35 +0000 (19:50 +0200)] 
Update THANKS.

3 years agoCMake/Windows: Add resource files to xz.exe and xzdec.exe.
Lasse Collin [Sat, 7 Jan 2023 17:50:03 +0000 (19:50 +0200)] 
CMake/Windows: Add resource files to xz.exe and xzdec.exe.

The command line tools cannot be built with MSVC for now but
they can be built with MinGW-w64.

Thanks to Iouri Kharon for the bug report and the original patch.

3 years agoCMake/Windows: Add a workaround for windres from GNU binutils.
Lasse Collin [Sat, 7 Jan 2023 17:48:52 +0000 (19:48 +0200)] 
CMake/Windows: Add a workaround for windres from GNU binutils.

Thanks to Iouri Kharon for the bug report and the original patch.

3 years agoBuild: Require that _mm_set_epi64x() is usable to enable CLMUL support.
Lasse Collin [Sat, 7 Jan 2023 17:31:15 +0000 (19:31 +0200)] 
Build: Require that _mm_set_epi64x() is usable to enable CLMUL support.

VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets
disabled with VS2013.

Thanks to Iouri Kharon for the bug report.

3 years agoCI/CD: Split CMake Linux and MacOS build phase to build and test.
Jia Tan [Sat, 7 Jan 2023 13:05:15 +0000 (21:05 +0800)] 
CI/CD: Split CMake Linux and MacOS build phase to build and test.

The phase split was only done for Autotools before, so should also
apply to CMake.

3 years agoCI/CD: Reduce job runners to 4 instead of using matrix strategy.
Jia Tan [Sat, 7 Jan 2023 03:16:55 +0000 (11:16 +0800)] 
CI/CD: Reduce job runners to 4 instead of using matrix strategy.

The old version used too many runners that resulted in unnecessary
dependency downloads. Now, the runners are reused for the different
configurations for each OS and build system.

3 years agoCI/CD: Add new -p (PHASE) argument to ci_build.sh
Jia Tan [Sat, 7 Jan 2023 02:07:20 +0000 (10:07 +0800)] 
CI/CD: Add new -p (PHASE) argument to ci_build.sh

The new PHASE argument can be build, test, or all. all is the default.
This way, the CI/CD script can differentiate between the build and test
phases to make it easier to track down errors when they happen.

3 years agoMerge pull request #7 from tukaani-project/tuktest_index_hash
Jia Tan [Fri, 6 Jan 2023 16:10:50 +0000 (00:10 +0800)] 
Merge pull request #7 from tukaani-project/tuktest_index_hash

Tuktest index hash

3 years agoTests: test_index_hash: Add an assert_uint_eq(). 7/head
Lasse Collin [Fri, 6 Jan 2023 15:58:48 +0000 (17:58 +0200)] 
Tests: test_index_hash: Add an assert_uint_eq().

3 years agoTests: test_index_hash: Fix a memory leak.
Lasse Collin [Fri, 6 Jan 2023 15:55:06 +0000 (17:55 +0200)] 
Tests: test_index_hash: Fix a memory leak.

3 years agoTests: test_index_hash: Don't treat pointers as booleans.
Lasse Collin [Fri, 6 Jan 2023 15:53:03 +0000 (17:53 +0200)] 
Tests: test_index_hash: Don't treat pointers as booleans.

3 years agoTests: test_index_hash: Fix a typo in a comment.
Lasse Collin [Fri, 6 Jan 2023 15:51:41 +0000 (17:51 +0200)] 
Tests: test_index_hash: Fix a typo in a comment.

3 years agoTests: test_index_hash: Avoid the variable name "index".
Lasse Collin [Fri, 6 Jan 2023 15:44:29 +0000 (17:44 +0200)] 
Tests: test_index_hash: Avoid the variable name "index".

It can trigger warnings from -Wshadow on some systems.

3 years agoTests: test_index_hash: Use the word "Record" instead of "entry".
Lasse Collin [Fri, 6 Jan 2023 15:35:50 +0000 (17:35 +0200)] 
Tests: test_index_hash: Use the word "Record" instead of "entry".

3 years agoTests: test_index_hash: Tweak comments and style.
Lasse Collin [Fri, 6 Jan 2023 15:35:05 +0000 (17:35 +0200)] 
Tests: test_index_hash: Tweak comments and style.

The words defined in the .xz file format specification
begin with capital letter to emphasize that they have
a specific meaning.

3 years agoTests: test_index_hash: Use INDEX_INDICATOR constant instead of 0.
Lasse Collin [Fri, 6 Jan 2023 15:17:37 +0000 (17:17 +0200)] 
Tests: test_index_hash: Use INDEX_INDICATOR constant instead of 0.

3 years agoStyle: Change #if !defined() to #ifndef in mythread.h.
Jia Tan [Fri, 6 Jan 2023 12:43:31 +0000 (20:43 +0800)] 
Style: Change #if !defined() to #ifndef in mythread.h.

3 years agoBuild: Add missing stream_decoder_mt.c to .vcxproj files.
Jia Tan [Fri, 6 Jan 2023 12:35:55 +0000 (20:35 +0800)] 
Build: Add missing stream_decoder_mt.c to .vcxproj files.

The line in the .vcxproj files for building with was missing in 5.4.0.
Thank to Hajin Jang for reporting the issue.

3 years agoliblzma: Remove common.h include from common/index.h.
Jia Tan [Thu, 5 Jan 2023 12:57:25 +0000 (20:57 +0800)] 
liblzma: Remove common.h include from common/index.h.

common/index.h is needed by liblzma internally and tests. common.h will
include and define many things that are not needed by the tests. Also,
this prevents include order problems because common.h will redefine
LZMA_API resulting in a warning.

3 years agoUpdate THANKS.
Lasse Collin [Wed, 4 Jan 2023 20:40:54 +0000 (22:40 +0200)] 
Update THANKS.

3 years agoTests: Adjust style in test_compress.sh.
Lasse Collin [Wed, 4 Jan 2023 16:40:28 +0000 (18:40 +0200)] 
Tests: Adjust style in test_compress.sh.

3 years agoTests: Replace non portable shell parameter expansion
Jia Tan [Wed, 4 Jan 2023 15:58:58 +0000 (23:58 +0800)] 
Tests: Replace non portable shell parameter expansion

The shell parameter expansion using # and ## is not supported in
Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully
portable, so we should avoid it.

3 years agoTranslations: Add Korean translation of man pages.
Jia Tan [Tue, 3 Jan 2023 13:02:38 +0000 (21:02 +0800)] 
Translations: Add Korean translation of man pages.

Thanks to Seong-ho Cho

3 years agoTranslations: Update the Esperanto translation.
Jia Tan [Tue, 3 Jan 2023 12:47:27 +0000 (20:47 +0800)] 
Translations: Update the Esperanto translation.

3 years agoBump version and soname for 5.5.0alpha. v5.5.0alpha
Lasse Collin [Mon, 2 Jan 2023 15:20:47 +0000 (17:20 +0200)] 
Bump version and soname for 5.5.0alpha.

5.5.0alpha won't be released, it's just to mark that
the branch is not for stable 5.4.x.

Once again there is no API/ABI stability for new features
in devel versions. The major soname won't be bumped even
if API/ABI of new features breaks between devel releases.

3 years agoBuild: Fix config.h comments.
Lasse Collin [Mon, 2 Jan 2023 15:05:07 +0000 (17:05 +0200)] 
Build: Fix config.h comments.

3 years agoBuild: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1.
Jia Tan [Mon, 2 Jan 2023 14:33:48 +0000 (22:33 +0800)] 
Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1.

HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to
HAVE_PROGRAM_INVOCATION_NAME. Previously,
HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when
building with autotools. CMake would only set this when it was 1, and the
dos/config.h did not define it. The new macro definition is consistent
across build systems.

3 years agoAdds test_index_hash to .gitignore.
Jia Tan [Wed, 28 Dec 2022 16:30:52 +0000 (00:30 +0800)] 
Adds test_index_hash to .gitignore.

3 years agoTests: Creates test_index_hash.c
Jia Tan [Wed, 28 Dec 2022 16:25:18 +0000 (00:25 +0800)] 
Tests: Creates test_index_hash.c

Tests all API functions exported from index_hash.h. Does not have a
dedicated test for lzma_index_hash_end.

3 years agoliblzma: Add NULL check to lzma_index_hash_append.
Jia Tan [Wed, 17 Aug 2022 12:20:16 +0000 (20:20 +0800)] 
liblzma: Add NULL check to lzma_index_hash_append.

This is for consistency with lzma_index_append.

3 years agoliblzma: Replaced hardcoded 0x0 index indicator byte with macro
Jia Tan [Wed, 17 Aug 2022 09:59:51 +0000 (17:59 +0800)] 
liblzma: Replaced hardcoded 0x0 index indicator byte with macro

3 years agoTests: test_check: Test corner cases of CLMUL CRC64.
Lasse Collin [Fri, 30 Dec 2022 18:10:08 +0000 (20:10 +0200)] 
Tests: test_check: Test corner cases of CLMUL CRC64.

3 years agoTests: Clarify a comment in test_lzip_decoder.c.
Lasse Collin [Fri, 30 Dec 2022 17:36:49 +0000 (19:36 +0200)] 
Tests: Clarify a comment in test_lzip_decoder.c.

3 years agoxz: Includes <time.h> and <sys/time.h> conditionally in mytime.c.
Jia Tan [Wed, 28 Dec 2022 17:55:19 +0000 (01:55 +0800)] 
xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c.

Previously, mytime.c depended on mythread.h for <time.h> to be included.

3 years agoliblzma: Includes sys/time.h conditionally in mythread
Jia Tan [Wed, 28 Dec 2022 17:15:27 +0000 (01:15 +0800)] 
liblzma: Includes sys/time.h conditionally in mythread

Previously, <sys/time.h> was always included, even if mythread only used
clock_gettime. <time.h> is still needed even if clock_gettime is not used
though because struct timespec is needed for mythread_condtime.

3 years agoBuild: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set.
Jia Tan [Wed, 28 Dec 2022 17:10:53 +0000 (01:10 +0800)] 
Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set.

Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always
be set to 0 or 1. However, this macro was needed in xz so if xz was not
built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but
HAVE_CLOCK_GETTIME was, it caused a warning during build. Now,
HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and
will only be set if it is 1.

3 years agoTranslations: Add Ukrainian translations of man pages.
Jia Tan [Tue, 27 Dec 2022 17:14:07 +0000 (01:14 +0800)] 
Translations: Add Ukrainian translations of man pages.

Thanks to Yuri Chornoivan

3 years agoCI/CD: Create initial version of CI/CD workflow.
Jia Tan [Thu, 22 Dec 2022 16:34:48 +0000 (00:34 +0800)] 
CI/CD: Create initial version of CI/CD workflow.

The CI/CD workflow will only execute on Ubuntu and MacOS latest version.
The workflow will attempt to build with autotools and CMake and execute
the tests. The workflow will run for all pull requests and pushes done
to the master branch.

3 years agoliblzma: Update documentation for lzma_filter_encoder.
Jia Tan [Thu, 22 Dec 2022 15:14:53 +0000 (23:14 +0800)] 
liblzma: Update documentation for lzma_filter_encoder.

3 years agoTests: Adds lzip decoder tests
Jia Tan [Wed, 21 Dec 2022 13:12:03 +0000 (21:12 +0800)] 
Tests: Adds lzip decoder tests

3 years agoDoxygen: Update .gitignore for generating docs for in source build.
Jia Cheong Tan [Tue, 20 Dec 2022 14:05:21 +0000 (22:05 +0800)] 
Doxygen: Update .gitignore for generating docs for in source build.

In source builds are not recommended, but we should still ignore
the generated artifacts.

3 years agoliblzma: Fix lzma_microlzma_encoder() return value.
Jia Tan [Tue, 20 Dec 2022 12:46:44 +0000 (20:46 +0800)] 
liblzma: Fix lzma_microlzma_encoder() return value.

Using return_if_error on lzma_lzma_lclppb_encode was improper because
return_if_error is expecting an lzma_ret value, but
lzma_lzma_lclppb_encode returns a boolean. This could result in
lzma_microlzma_encoder, which would be misleading for applications.

3 years agoCMake: Update .gitignore for CMake artifacts from in source build.
Jia Tan [Fri, 16 Dec 2022 12:58:55 +0000 (20:58 +0800)] 
CMake: Update .gitignore for CMake artifacts from in source build.

In source builds are not recommended, but we can make it easier
by ignoring the generated artifacts from CMake.

3 years agoliblzma: Update authors list in arm64.c.
Lasse Collin [Fri, 16 Dec 2022 16:30:02 +0000 (18:30 +0200)] 
liblzma: Update authors list in arm64.c.

3 years agoBump version to 5.4.0 and soname to 5.4.0. v5.4.0
Lasse Collin [Tue, 13 Dec 2022 18:37:17 +0000 (20:37 +0200)] 
Bump version to 5.4.0 and soname to 5.4.0.

3 years agoUpdate INSTALL: CMake on Windows isn't experimental anymore.
Lasse Collin [Tue, 13 Dec 2022 18:29:39 +0000 (20:29 +0200)] 
Update INSTALL: CMake on Windows isn't experimental anymore.

Using CMake to build liblzma should work on a few other OSes
but building the command line tools is still subtly broken.

It is known that shared library versioning may differ between
CMake and Libtool builds on some OSes, most notably Darwin.

3 years agoAdd NEWS for 5.4.0.
Lasse Collin [Tue, 13 Dec 2022 17:47:53 +0000 (19:47 +0200)] 
Add NEWS for 5.4.0.

3 years agoFix a typo in NEWS.
Lasse Collin [Tue, 13 Dec 2022 15:41:20 +0000 (17:41 +0200)] 
Fix a typo in NEWS.

3 years agoAdd NEWS for 5.2.10.
Lasse Collin [Tue, 13 Dec 2022 15:41:03 +0000 (17:41 +0200)] 
Add NEWS for 5.2.10.

3 years agoTests: Fix a typo in tests/files/README.
Lasse Collin [Tue, 13 Dec 2022 10:30:45 +0000 (12:30 +0200)] 
Tests: Fix a typo in tests/files/README.

3 years agoTests: Add two ARM64 test files.
Lasse Collin [Tue, 13 Dec 2022 10:30:09 +0000 (12:30 +0200)] 
Tests: Add two ARM64 test files.

3 years agoTranslations: Update the Catalan translation.
Lasse Collin [Mon, 12 Dec 2022 20:44:21 +0000 (22:44 +0200)] 
Translations: Update the Catalan translation.

3 years agoUpdate THANKS.
Lasse Collin [Mon, 12 Dec 2022 17:18:12 +0000 (19:18 +0200)] 
Update THANKS.

3 years agoUpdate AUTHORS.
Lasse Collin [Mon, 12 Dec 2022 17:07:58 +0000 (19:07 +0200)] 
Update AUTHORS.

3 years agoDocs: Omit multi-threaded decompress from TODO.
Lasse Collin [Mon, 12 Dec 2022 13:31:14 +0000 (15:31 +0200)] 
Docs: Omit multi-threaded decompress from TODO.

The TODO file outdated still.

3 years agoDocs: Update xz-file-format.txt to 1.1.0 for ARM64 filter.
Lasse Collin [Sun, 11 Dec 2022 19:16:09 +0000 (21:16 +0200)] 
Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter.

3 years agoxz: Rename --experimental-arm64 to --arm64.
Lasse Collin [Sun, 11 Dec 2022 19:13:57 +0000 (21:13 +0200)] 
xz: Rename --experimental-arm64 to --arm64.

3 years agoliblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A.
Lasse Collin [Sun, 11 Dec 2022 19:13:06 +0000 (21:13 +0200)] 
liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A.

3 years agoxz: Make args_info.files_name a const pointer.
Lasse Collin [Thu, 8 Dec 2022 17:24:22 +0000 (19:24 +0200)] 
xz: Make args_info.files_name a const pointer.

3 years agoxz: Don't modify argv[].
Lasse Collin [Thu, 8 Dec 2022 17:18:16 +0000 (19:18 +0200)] 
xz: Don't modify argv[].

The code that parses --memlimit options and --block-list modified
the argv[] when parsing the option string from optarg. This was
visible in "ps auxf" and such and could be confusing. I didn't
understand it back in the day when I wrote that code. Now a copy
is allocated when modifiable strings are needed.

3 years agoTranslations: Update the German man page translations.
Lasse Collin [Thu, 8 Dec 2022 16:18:57 +0000 (18:18 +0200)] 
Translations: Update the German man page translations.

3 years agoTranslations: Update the German translation.
Jia Tan [Tue, 6 Dec 2022 15:05:56 +0000 (23:05 +0800)] 
Translations: Update the German translation.

3 years agoTranslations: Update the Turkish translation.
Jia Tan [Tue, 6 Dec 2022 15:04:25 +0000 (23:04 +0800)] 
Translations: Update the Turkish translation.

3 years agoTranslations: Update the Croatian translation.
Jia Tan [Tue, 6 Dec 2022 15:02:11 +0000 (23:02 +0800)] 
Translations: Update the Croatian translation.

3 years agoTranslations: Add Romanian translation of man pages.
Jia Tan [Tue, 6 Dec 2022 14:56:30 +0000 (22:56 +0800)] 
Translations: Add Romanian translation of man pages.

Thanks to Remus-Gabriel Chelu.

3 years agoTranslations: Update the Romanian translation.
Jia Tan [Tue, 6 Dec 2022 14:52:13 +0000 (22:52 +0800)] 
Translations: Update the Romanian translation.

3 years agoliblzma: Check for unexpected NULL pointers in block_header_decode().
Lasse Collin [Thu, 8 Dec 2022 15:30:09 +0000 (17:30 +0200)] 
liblzma: Check for unexpected NULL pointers in block_header_decode().

The API docs gave an impression that such checks are done
but they actually weren't done. In practice it made little
difference since the calling code has a bug if these are NULL.

Thanks to Jia Tan for the original patch that checked for
block->filters == NULL.

3 years agoBump version number for 5.3.5beta. v5.3.5beta
Lasse Collin [Thu, 1 Dec 2022 18:59:32 +0000 (20:59 +0200)] 
Bump version number for 5.3.5beta.

This also sorts the symbol names alphabetically in liblzma_*.map.

3 years agoAdd NEWS for 5.3.5beta.
Lasse Collin [Thu, 1 Dec 2022 18:57:26 +0000 (20:57 +0200)] 
Add NEWS for 5.3.5beta.

3 years agoUpdate THANKS.
Lasse Collin [Thu, 1 Dec 2022 18:57:09 +0000 (20:57 +0200)] 
Update THANKS.

3 years agoliblzma: Use __has_attribute(__symver__) to fix Clang detection.
Lasse Collin [Thu, 1 Dec 2022 18:04:17 +0000 (20:04 +0200)] 
liblzma: Use __has_attribute(__symver__) to fix Clang detection.

If someone sets up Clang to define __GNUC__ to 10 or greater
then symvers broke. __has_attribute is supported by such GCC
and Clang versions that don't support __symver__ so this should
be much better and simpler way to detect if __symver__ is
actually supported.

Thanks to Tomasz Gajc for the bug report.

3 years agoliblzma: Omit zero-skipping from ARM64 filter.
Lasse Collin [Thu, 1 Dec 2022 16:51:52 +0000 (18:51 +0200)] 
liblzma: Omit zero-skipping from ARM64 filter.

It has some complicated downsides and its usefulness is more limited
than I originally thought. So this change is bad for certain very
specific situations but a generic solution that works for other
filters (and is otherwise better too) is planned anyway. And this
way 7-Zip can use the same compatible filter for the .7z format.

This is still marked as experimental with a new temporary Filter ID.

3 years agoxz: Omit the special notes about ARM64 filter on the man page.
Lasse Collin [Thu, 1 Dec 2022 16:13:27 +0000 (18:13 +0200)] 
xz: Omit the special notes about ARM64 filter on the man page.

3 years agoliblzma: Don't be over-specific in lzma_str_to_filters API doc.
Lasse Collin [Thu, 1 Dec 2022 16:12:03 +0000 (18:12 +0200)] 
liblzma: Don't be over-specific in lzma_str_to_filters API doc.

3 years agoliblzma: Silence unused variable warning when BCJ filters are disabled.
Lasse Collin [Thu, 1 Dec 2022 15:54:23 +0000 (17:54 +0200)] 
liblzma: Silence unused variable warning when BCJ filters are disabled.

Thanks to Jia Tan for the original patch.

3 years agoTranslations: Update the Chinese (simplified) translation.
Lasse Collin [Thu, 1 Dec 2022 15:38:03 +0000 (17:38 +0200)] 
Translations: Update the Chinese (simplified) translation.

3 years agoAdd NEWS for 5.2.9.
Lasse Collin [Wed, 30 Nov 2022 16:55:03 +0000 (18:55 +0200)] 
Add NEWS for 5.2.9.

3 years agoxz: Remove message_filters_to_str function prototype from message.h.
Jia Tan [Wed, 30 Nov 2022 15:33:08 +0000 (23:33 +0800)] 
xz: Remove message_filters_to_str function prototype from message.h.

This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b.

3 years agoChange the bug report address.
Lasse Collin [Wed, 30 Nov 2022 16:08:34 +0000 (18:08 +0200)] 
Change the bug report address.

It forwards to me and Jia Tan.

Also update the IRC reference in README as #tukaani was moved
to Libera Chat long ago.

3 years agoBuild: Add string_conversion.c to CMake, DOS, and VS files.
Lasse Collin [Wed, 30 Nov 2022 15:50:17 +0000 (17:50 +0200)] 
Build: Add string_conversion.c to CMake, DOS, and VS files.

3 years agoUpdate to HTTPS URLs in AUTHORS.
Lasse Collin [Wed, 30 Nov 2022 15:38:32 +0000 (17:38 +0200)] 
Update to HTTPS URLs in AUTHORS.

3 years agoliblzma: Improve documentation for string to filter functions.
Jia Tan [Tue, 29 Nov 2022 16:52:06 +0000 (00:52 +0800)] 
liblzma: Improve documentation for string to filter functions.

3 years agoliblzma: Two fixes to lzma_str_list_filters() API docs.
Lasse Collin [Tue, 29 Nov 2022 20:27:42 +0000 (22:27 +0200)] 
liblzma: Two fixes to lzma_str_list_filters() API docs.

Thanks to Jia Tan.

3 years agoxz: Use lzma_str_from_filters().
Lasse Collin [Mon, 28 Nov 2022 19:57:47 +0000 (21:57 +0200)] 
xz: Use lzma_str_from_filters().

Two uses: Displaying encoder filter chain when compressing with -vv,
and displaying the decoder filter chain in --list -vv.

3 years agoliblzma: Add lzma_str_to_filters, _from_filters, and _list_filters.
Lasse Collin [Mon, 28 Nov 2022 19:37:48 +0000 (21:37 +0200)] 
liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters.

lzma_str_to_filters() uses static error messages which makes
them not very precise. It tells the position in the string
where an error occurred though which helps quite a bit if
applications take advantage of it. Dynamic error messages can
be added later with a new flag if it seems important enough.

3 years agoliblzma: Make lzma_validate_chain() available outside filter_common.c.
Lasse Collin [Mon, 28 Nov 2022 19:02:19 +0000 (21:02 +0200)] 
liblzma: Make lzma_validate_chain() available outside filter_common.c.

3 years agoliblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused.
Lasse Collin [Mon, 28 Nov 2022 08:51:03 +0000 (10:51 +0200)] 
liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused.

3 years agoliblzma: Use LZMA1EXT feature in lzma_microlzma_decoder().
Lasse Collin [Mon, 28 Nov 2022 08:48:53 +0000 (10:48 +0200)] 
liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder().

Here too this avoids the slightly ugly method to set
the uncompressed size.

Also moved the setting of dict_size to the struct initializer.

3 years agoliblzma: Use LZMA1EXT feature in lzma_alone_decoder().
Lasse Collin [Mon, 28 Nov 2022 08:28:20 +0000 (10:28 +0200)] 
liblzma: Use LZMA1EXT feature in lzma_alone_decoder().

This avoids the need to use the slightly ugly method to
set the uncompressed size.

3 years agoliblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker.
Lasse Collin [Sun, 27 Nov 2022 21:16:21 +0000 (23:16 +0200)] 
liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker.

Some file formats need support for LZMA1 streams that don't use
the end of payload marker (EOPM) alias end of stream (EOS) marker.
So far liblzma API has supported decompressing such streams via
lzma_alone_decoder() when .lzma header specifies a known
uncompressed size. Encoding support hasn't been available in the API.

Instead of adding a new LZMA1-only API for this purpose, this commit
adds a new filter ID for use with raw encoder and decoder. The main
benefit of this approach is that then also filter chains are possible,
for example, if someone wants to implement support for .7z files that
use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported
in liblzma).

3 years agoliblzma: Avoid unneeded use of void pointer in LZMA decoder.
Lasse Collin [Sun, 27 Nov 2022 16:43:07 +0000 (18:43 +0200)] 
liblzma: Avoid unneeded use of void pointer in LZMA decoder.

3 years agoliblzma: Pass the Filter ID to LZ encoder and decoder.
Lasse Collin [Sun, 27 Nov 2022 16:20:33 +0000 (18:20 +0200)] 
liblzma: Pass the Filter ID to LZ encoder and decoder.

This allows using two Filter IDs with the same
initialization function and data structures.

3 years agoliblzma: Remove two FIXME comments.
Lasse Collin [Sat, 26 Nov 2022 23:03:16 +0000 (01:03 +0200)] 
liblzma: Remove two FIXME comments.

3 years agoxz: Use lzma_filters_free().
Lasse Collin [Sat, 26 Nov 2022 20:25:30 +0000 (22:25 +0200)] 
xz: Use lzma_filters_free().