aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2023-08-03 07:42:42 +0000
committerXin LI <delphij@FreeBSD.org>2023-08-03 07:42:42 +0000
commit42df52d1569483d9669f39caca7d0d875992c7d9 (patch)
tree223c4c8b0e204ca4cb7e88c520b388feed840708
parentca6c9caa17b31bc7ee00b78c93df425131320fd1 (diff)
downloadsrc-42df52d1569483d9669f39caca7d0d875992c7d9.tar.gz
src-42df52d1569483d9669f39caca7d0d875992c7d9.zip
Vendor import of xz 5.4.4 (trimmed)vendor/xz/5.4.4
-rw-r--r--ChangeLog704
-rw-r--r--README4
-rw-r--r--THANKS3
-rw-r--r--src/common/mythread.h2
-rw-r--r--src/liblzma/api/lzma/container.h9
-rw-r--r--src/liblzma/api/lzma/filter.h4
-rw-r--r--src/liblzma/api/lzma/lzma12.h4
-rw-r--r--src/liblzma/api/lzma/version.h2
-rw-r--r--src/liblzma/common/block_buffer_encoder.c2
-rw-r--r--src/liblzma/common/common.h2
-rw-r--r--src/liblzma/common/file_info.c2
-rw-r--r--src/liblzma/common/lzip_decoder.c2
-rw-r--r--src/liblzma/common/memcmplen.h10
-rw-r--r--src/liblzma/common/stream_decoder_mt.c8
-rw-r--r--src/liblzma/common/stream_encoder_mt.c2
-rw-r--r--src/liblzma/common/string_conversion.c10
-rw-r--r--src/liblzma/lz/lz_encoder.h2
-rw-r--r--src/liblzma/lzma/lzma_encoder.c4
-rw-r--r--src/xz/args.c5
-rw-r--r--src/xz/coder.c8
-rw-r--r--src/xz/file_io.c8
-rw-r--r--src/xz/hardware.c4
-rw-r--r--src/xz/list.c11
-rw-r--r--src/xz/message.c2
-rw-r--r--src/xz/xz.19
25 files changed, 771 insertions, 52 deletions
diff --git a/ChangeLog b/ChangeLog
index fca1504a7990..64c79dbce0bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,707 @@
+commit c1e396a9ac1c1c28ce4ede5cbadb955c516477bc
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-08-02 20:32:20 +0800
+
+ Bump version and soname for 5.4.4.
+
+ src/liblzma/Makefile.am | 2 +-
+ src/liblzma/api/lzma/version.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 7d266d25ae323a2dc5f2e254c991ef84b997adad
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-08-02 20:30:07 +0800
+
+ Add NEWS for 5.4.4.
+
+ NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit 6a1093c0004c42eeaef312456c295671496dd67a
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2023-08-02 15:19:43 +0300
+
+ build-aux/manconv.sh: Fix US-ASCII and UTF-8 output.
+
+ groff defaults to SGR escapes. Using -P-c passes -c to grotty
+ which restores the old behavior. Perhaps there is a better way to
+ get pure plain text output but this works for now.
+
+ build-aux/manconv.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f6f9f5651a7e2d89f588981533155ab850e063f7
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2023-08-01 19:10:43 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0dd83ba8767dad722e0f0f94e0e4146e290a28cb
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2023-08-01 18:22:24 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4170a80785cc69edfc5fdfe498bed5f40db6a7ef
+Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com>
+Date: 2023-08-01 18:17:17 +0300
+
+ mythread.h: Disable signal functions in builds targeting Wasm + WASI.
+
+ signal.h in WASI SDK doesn't currently provide sigprocmask()
+ or sigset_t. liblzma doesn't need them so this change makes
+ liblzma and xzdec build against WASI SDK. xz doesn't build yet
+ and the tests don't either as tuktest needs setjmp() which
+ isn't (yet?) implemented in WASI SDK.
+
+ Closes: https://github.com/tukaani-project/xz/pull/57
+ See also: https://github.com/tukaani-project/xz/pull/56
+
+ (The original commit was edited a little by Lasse Collin.)
+
+ src/common/mythread.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0db6fbe0be1545a4f25fcd6993371155b37bbb26
+Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
+Date: 2023-07-31 14:02:21 +0200
+
+ Docs: Fix typos found by codespell
+
+ CMakeLists.txt | 4 ++--
+ NEWS | 2 +-
+ configure.ac | 2 +-
+ src/liblzma/api/lzma/container.h | 4 ++--
+ src/liblzma/api/lzma/filter.h | 2 +-
+ src/liblzma/api/lzma/lzma12.h | 4 ++--
+ src/liblzma/common/block_buffer_encoder.c | 2 +-
+ src/liblzma/common/common.h | 2 +-
+ src/liblzma/common/file_info.c | 2 +-
+ src/liblzma/common/lzip_decoder.c | 2 +-
+ src/liblzma/common/stream_decoder_mt.c | 8 ++++----
+ src/liblzma/common/string_conversion.c | 6 +++---
+ src/liblzma/lz/lz_encoder.h | 2 +-
+ src/liblzma/lzma/lzma_encoder.c | 4 ++--
+ src/xz/hardware.c | 4 ++--
+ tests/test_filter_flags.c | 4 ++--
+ tests/test_index.c | 2 +-
+ tests/test_vli.c | 2 +-
+ 18 files changed, 29 insertions(+), 29 deletions(-)
+
+commit 84a3a1f4e4f146b3b5fa73fe708cacb0d9f829f3
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-26 20:26:23 +0800
+
+ Update .gitignore.
+
+ .gitignore | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 962b3d41e0c27355ba3052ef7b7d9a887de807e5
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-28 22:03:08 +0800
+
+ CMake: Conditionally allow the creation of broken symlinks.
+
+ The CMake build will try to create broken symlinks on Unix and Unix-like
+ platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create
+ broken symlinks. The value of the CYGWIN or MSYS environment variables
+ determine if broken symlinks are valid.
+
+ The default for MSYS2 does not allow for broken symlinks, so the CMake
+ build has been broken for MSYS2 since commit
+ 80a1a8bb838842a2be343bd88ad1462c21c5e2c9.
+
+ CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 75 insertions(+), 7 deletions(-)
+
+commit 19899340cf74d98304f9f5b726c72e85c7017d72
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-24 21:43:44 +0800
+
+ liblzma: Prevent an empty translation unit in Windows builds.
+
+ To workaround Automake lacking Windows resource compiler support, an
+ empty source file is compiled to overwrite the resource files for static
+ library builds. Translation units without an external declaration are
+ not allowed by the C standard and result in a warning when used with
+ -Wempty-translation-unit (Clang) or -pedantic (GCC).
+
+ src/liblzma/Makefile.am | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit ef7fbe83937abd7f55f1637c1d08b559f1d3d6cc
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-21 18:05:44 +0800
+
+ Tests: Skip .lz files in test_files.sh if not configured.
+
+ Previously if the lzip decoder was not configured then test_files.sh
+ would pass the lzip tests instead of skipping them.
+
+ tests/test_files.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e49815ba7aa610b72e8724025eceee23c27e7b23
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 22:11:13 +0800
+
+ Tests: Add ARM64 filter test to test_compress.sh.
+
+ tests/test_compress.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit db5b57b827c2b084586c51da1b8a3ab0984bdb40
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-22 18:37:56 +0800
+
+ Translations: Update the Vietnamese translation.
+
+ po/vi.po | 45 ++++++++++++++++++++++++++++-----------------
+ 1 file changed, 28 insertions(+), 17 deletions(-)
+
+commit e6ba5014081c98cb068253b3e5f9e372dd157f3c
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:30:05 +0800
+
+ Translations: Update the Croatian translation.
+
+ po/hr.po | 49 ++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 30 insertions(+), 19 deletions(-)
+
+commit 82657a1f10a25050a3e9c246c41deb785cccba3a
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:28:32 +0800
+
+ Translations: Update the Korean man page translations.
+
+ po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 629 insertions(+), 626 deletions(-)
+
+commit fab35907d13efbe7c457e00a310123335d7bae3e
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:25:24 +0800
+
+ Translations: Update the Korean translation.
+
+ po/ko.po | 45 ++++++++++++++++++++++++++++-----------------
+ 1 file changed, 28 insertions(+), 17 deletions(-)
+
+commit f530fe1964c34797fa3b775ec5804d68007c1579
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:24:05 +0800
+
+ Translations: Update the Polish translation.
+
+ po/pl.po | 47 +++++++++++++++++++++++++++++------------------
+ 1 file changed, 29 insertions(+), 18 deletions(-)
+
+commit 10b3500cc2617aabdbc802a63164ce0a3683ad2b
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:22:23 +0800
+
+ Translations: Update the German man page translations.
+
+ po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 629 insertions(+), 626 deletions(-)
+
+commit 3d14e8a34dba176f975326924ae28a3ab5fee165
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:18:44 +0800
+
+ Translations: Update the German translation.
+
+ po/de.po | 47 +++++++++++++++++++++++++++++------------------
+ 1 file changed, 29 insertions(+), 18 deletions(-)
+
+commit bdcc180a2da15039c47455c1cafd1ce9aff442e4
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:17:10 +0800
+
+ Translations: Update the Chinese (simplified) translation.
+
+ po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------
+ 1 file changed, 29 insertions(+), 18 deletions(-)
+
+commit 844240350d33cb46ba8827b74dc8758e2abed9e5
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:15:47 +0800
+
+ Translations: Update the Swedish translation.
+
+ po/sv.po | 47 +++++++++++++++++++++++++++++------------------
+ 1 file changed, 29 insertions(+), 18 deletions(-)
+
+commit bdc7952bcfbc20c134f723ff5cbf84ab690fb4fc
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:14:00 +0800
+
+ Translations: Update the Ukrainian man page translations.
+
+ po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 628 insertions(+), 625 deletions(-)
+
+commit 143396e070c8d8afb56e3a5f688b214222cf71e0
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:09:15 +0800
+
+ Translations: Update the Ukrainian translation.
+
+ po/uk.po | 45 ++++++++++++++++++++++++++++-----------------
+ 1 file changed, 28 insertions(+), 17 deletions(-)
+
+commit 1b8146d64eaac51b40079f5788b85c1eb79e35de
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:06:57 +0800
+
+ Translations: Update the Spanish translation.
+
+ po/es.po | 47 +++++++++++++++++++++++++++++------------------
+ 1 file changed, 29 insertions(+), 18 deletions(-)
+
+commit f947ce09d79ef8fa6549d350c4d72e4a8a9fa697
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:05:19 +0800
+
+ Translations: Update the Romanian translation.
+
+ po/ro.po | 48 ++++++++++++++++++++++++++++++------------------
+ 1 file changed, 30 insertions(+), 18 deletions(-)
+
+commit f681301a368def3f597a7c7bea7cb3f7a2f933e7
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-20 20:02:56 +0800
+
+ Translations: Update the Romanian man page translations.
+
+ po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 629 insertions(+), 625 deletions(-)
+
+commit 8bc3146c6be920b56283f4ee846456cb34ae4b6f
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-13 21:26:47 +0800
+
+ xz: Update man page Authors and date.
+
+ src/xz/xz.1 | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit c2905540ef905412b54c76488758712d3e2a0f9d
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-18 23:19:09 +0800
+
+ xz: Slight reword in xz man page for consistency.
+
+ Changed will print => prints in xz --robot --version description to
+ match --robot --info-memory description.
+
+ src/xz/xz.1 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2600d3352449faf57d9cb3fa00cbe40548a1310f
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-18 22:49:57 +0800
+
+ liblzma: Improve comment in string_conversion.c.
+
+ The comment used "flag" when referring to decoder options. Just
+ referring to them as options is more clear and consistent.
+
+ src/liblzma/common/string_conversion.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 98fc14541eec3e1dcf694075c8533f19a3cee552
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-13 21:21:54 +0800
+
+ liblzma: Reword lzma_str_list_filters() documentation.
+
+ Reword "options required" to "options read". The previous wording
+ may have suggested that the options listed were all required when
+ the filters are used for encoding or decoding. Now it should be
+ more clear that the options listed are the ones relevant for
+ encoding or decoding.
+
+ src/liblzma/api/lzma/filter.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1ac79b4cbaecf3f4930a5d8ce6f7e1f2b63c2a01
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2023-07-18 17:37:33 +0300
+
+ xz: Translate the second "%s: " in message.c since French needs "%s : ".
+
+ This string is used to print a filename when using "xz -v" and
+ stderr isn't a terminal.
+
+ src/xz/message.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 97851be2c6c64494f23c3a735601c13d4387820b
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2023-07-18 14:35:33 +0300
+
+ xz: Make "%s: %s" translatable because French needs "%s : %s".
+
+ src/xz/args.c | 5 ++++-
+ src/xz/coder.c | 8 ++++----
+ src/xz/file_io.c | 8 ++++----
+ src/xz/list.c | 11 ++++++-----
+ 4 files changed, 18 insertions(+), 14 deletions(-)
+
+commit b406828a6dfd3caa4f77efe3ff3e3eea263eee62
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2023-07-18 13:57:54 +0300
+
+ liblzma: Tweak #if condition in memcmplen.h.
+
+ Maybe ICC always #defines _MSC_VER on Windows but now
+ it's very clear which code will get used.
+
+ src/liblzma/common/memcmplen.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ef4a07ad9434f81417395f6fe0bb331e027a703b
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2023-07-18 13:49:43 +0300
+
+ liblzma: Omit unnecessary parenthesis in a preprocessor directive.
+
+ src/liblzma/common/memcmplen.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 64ee0caaea06654b28afaee850fb187a11bf9cb2
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-06-28 20:22:38 +0800
+
+ liblzma: Prevent warning for MSYS2 Windows build.
+
+ In lzma_memcmplen(), the <intrin.h> header file is only included if
+ _MSC_VER and _M_X64 are both defined but _BitScanForward64() was
+ previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but
+ not _MSC_VER so _BitScanForward64() was used without including
+ <intrin.h>.
+
+ Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as
+ expected.
+
+ src/liblzma/common/memcmplen.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit ba177057643dae6e9c167ee26471181c199c8a00
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-14 23:20:33 +0800
+
+ Docs: Add a new section to INSTALL for Tests.
+
+ The new Tests section describes basic information about the tests, how
+ to run them, and important details when cross compiling. We have had a
+ few questions about how to compile the tests without running them, so
+ hopefully this information will help others with the same question in the
+ future.
+
+ Fixes: https://github.com/tukaani-project/xz/issues/54
+
+ INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 64 insertions(+), 17 deletions(-)
+
+commit 0745b900fafa5ac2c31e8ec3cfba3053457c8b1f
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-14 21:10:27 +0800
+
+ Docs: Update README.
+
+ This adds an entry to "Other implementations of the .xz format" for
+ XZ for Java.
+
+ README | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit c972d44103c4edf88e73917ef08bde69db9d06cb
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-18 13:27:46 +0300
+
+ xz: Fix typo in man page.
+
+ The Memory limit information section described three output
+ columns when it actually has six. This was reworded to
+ "multiple" to make it more future proof.
+
+ src/xz/xz.1 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6e21f1b4e2c580b64d258e3b81ac9e44d53b9283
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-14 21:30:25 +0800
+
+ Tests: Improve feature testing for skipping.
+
+ Fixed a bug where test_compress_* would all fail if arm64 or armthumb
+ filters were enabled for compression but arm was disabled. Since the
+ grep tests only checked for "define HAVE_ENCODER_ARM", this would match
+ on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB.
+
+ Now the config.h feature test requires " 1" at the end to prevent the
+ prefix problem. have_feature() was also updated for this even though
+ there were known current bugs affecting it. This is just in case future
+ features have a similar prefix problem.
+
+ tests/test_compress.sh | 4 ++--
+ tests/test_files.sh | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 26c37d290c0884a4518a26b949575420a77fb938
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-10 20:56:28 +0800
+
+ Translations: Update the Chinese (traditional) translation.
+
+ po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 377 insertions(+), 282 deletions(-)
+
+commit 2ec65181e28335692a3a4fac4fefc4303111d355
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-07-08 20:03:59 +0800
+
+ Translations: Update the Vietnamese translation.
+
+ po/vi.po | 620 +++++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 349 insertions(+), 271 deletions(-)
+
+commit c44c7e7590db1b89c97e106f5c516bf69189e233
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-06-28 20:46:31 +0800
+
+ Tests: Fix memory leaks in test_index.
+
+ Several tests were missing calls to lzma_index_end() to clean up the
+ lzma_index structs. The memory leaks were discovered by using
+ -fsanitize=address with GCC.
+
+ tests/test_index.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit b9499c94fccc03eba5311b5305f04149a7c5af65
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-06-28 20:43:29 +0800
+
+ Tests: Fix memory leaks in test_block_header.
+
+ test_block_header was not properly freeing the filter options between
+ calls to lzma_block_header_decode(). The memory leaks were discovered by
+ using -fsanitize=address with GCC.
+
+ tests/test_block_header.c | 38 ++++++++++++++++++++++----------------
+ 1 file changed, 22 insertions(+), 16 deletions(-)
+
+commit 1155471651ad456c5f90aee6435931fae65682bf
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-06-28 20:31:11 +0800
+
+ liblzma: Prevent uninitialzed warning in mt stream encoder.
+
+ This change only impacts the compiler warning since it was impossible
+ for the wait_abs struct in stream_encode_mt() to be used before it was
+ initialized since mythread_condtime_set() will always be called before
+ mythread_cond_timedwait().
+
+ Since the mythread.h code is different between the POSIX and
+ Windows versions, this warning was only present on Windows builds.
+
+ Thanks to Arthur S for reporting the warning and providing an initial
+ patch.
+
+ src/liblzma/common/stream_encoder_mt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 62dd1c9bf0c66679ceeebc8b99bca136ca43bcb9
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-06-07 00:10:38 +0800
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d04eb78ab3892d3678c180437dd66379efa051fd
+Author: Benjamin Buch <bebuch@users.noreply.github.com>
+Date: 2023-06-06 15:32:45 +0200
+
+ CMake: Protects against double find_package
+
+ Boost iostream uses `find_package` in quiet mode and then again uses
+ `find_package` with required. This second call triggers a
+ `add_library cannot create imported target "LibLZMA::LibLZMA"
+ because another target with the same name already exists.`
+
+ This can simply be fixed by skipping the alias part on secondary
+ `find_package` runs.
+
+ CMakeLists.txt | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 12ea1fb29763dd72376aca73d69621aff01eaa7f
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-31 20:26:42 +0800
+
+ Translations: Update the Esperanto translation.
+
+ po/eo.po | 185 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 92 insertions(+), 93 deletions(-)
+
+commit a4d45c07c1e4aa0ea9410b4eed7301c97e960319
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-31 20:25:00 +0800
+
+ Translations: Update the Croatian translation.
+
+ po/hr.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f51b7bcea6f948db9529b3e6d850e76a30cc0e96
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-31 20:15:53 +0800
+
+ Translations: Update the Chinese (simplified) translation.
+
+ po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 157 insertions(+), 160 deletions(-)
+
+commit d5b81c19a7594fbb913bb3450360bc2145f29568
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-17 23:12:13 +0800
+
+ Translations: Update German translation of man pages.
+
+ po4a/de.po | 52 ++++++++++++----------------------------------------
+ 1 file changed, 12 insertions(+), 40 deletions(-)
+
+commit 36860a3e30d5675b4dba3a343159458d8864bceb
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-17 23:09:18 +0800
+
+ Translations: Update the German translation.
+
+ po/de.po | 189 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 94 insertions(+), 95 deletions(-)
+
+commit f05641ef0d4990c4c58f459039d412475b94b37d
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-17 20:30:01 +0800
+
+ Translations: Update the Croatian translation.
+
+ po/hr.po | 187 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 93 insertions(+), 94 deletions(-)
+
+commit b852f6f11d43cafce871cd158c80488f86619a63
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-17 20:26:54 +0800
+
+ Translations: Update Korean translation of man pages.
+
+ po4a/ko.po | 3015 ++++++++++++------------------------------------------------
+ 1 file changed, 568 insertions(+), 2447 deletions(-)
+
+commit fdcb78fb6f5313eda363869690685471d7ab9731
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-17 20:13:01 +0800
+
+ Translations: Update the Korean translation.
+
+ po/ko.po | 319 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 158 insertions(+), 161 deletions(-)
+
+commit 9e39cebe3ccdd4bc320ce6e7eea989bdd167c8b2
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 23:49:09 +0800
+
+ Translations: Update the Spanish translation.
+
+ po/es.po | 319 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 158 insertions(+), 161 deletions(-)
+
+commit 7a578d1d8293fc1cf7c6f9df76bc6a0e55c51a14
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 23:47:23 +0800
+
+ Translations: Update the Romanian translation.
+
+ po/ro.po | 195 ++++++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 98 insertions(+), 97 deletions(-)
+
+commit 362320fea5383bae179763763625532bad6d10e8
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 23:45:43 +0800
+
+ Translations: Update Romanian translation of man pages.
+
+ po4a/ro.po | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 29c5a870be23d0a565b959404b34a8b1babef7df
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 23:43:51 +0800
+
+ Translations: Update Ukrainian translation of man pages.
+
+ po4a/uk.po | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 5ee57572773207371712b1bbcd9b5b8c1baad2cc
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 23:37:54 +0800
+
+ Translations: Update the Ukrainian translation.
+
+ po/uk.po | 321 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 159 insertions(+), 162 deletions(-)
+
+commit dfc257bdb224780d3c8cdeca5a8e52848b9adc0a
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 23:07:35 +0800
+
+ Translations: Update the Polish translation.
+
+ po/pl.po | 316 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 155 insertions(+), 161 deletions(-)
+
+commit f6df4c4ab7378d2971ae1606f4eecc011ea5fc6d
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 22:52:14 +0800
+
+ Translations: Update the Swedish translation.
+
+ po/sv.po | 319 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 158 insertions(+), 161 deletions(-)
+
+commit 25da22e0521ec698dae4eb5e994b4cd3f4708b60
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-16 21:21:38 +0800
+
+ Translations: Update the Esperanto translation.
+
+ po/eo.po | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+commit 4f57a9c9915b7b9267885cf9fca58e5c8208458d
+Author: Jia Tan <jiat0218@gmail.com>
+Date: 2023-05-11 23:49:23 +0800
+
+ liblzma: Adds lzma_nothrow to MicroLZMA API functions.
+
+ None of the liblzma functions may throw an exception, so this
+ attribute should be applied to all liblzma API functions.
+
+ src/liblzma/api/lzma/container.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
commit 238b4e5458b4bd2cadefb768b8ea7c6b70a191ac
Author: Jia Tan <jiat0218@gmail.com>
Date: 2023-05-04 20:38:52 +0800
diff --git a/README b/README
index ed1cace194f8..9e76301b95cd 100644
--- a/README
+++ b/README
@@ -289,6 +289,10 @@ XZ Utils
https://tukaani.org/xz/embedded.html
+ XZ for Java is a complete implementation written in pure Java.
+
+ https://tukaani.org/xz/java.html
+
6. Contact information
----------------------
diff --git a/THANKS b/THANKS
index e28d3dc8621b..cf7c59c844c5 100644
--- a/THANKS
+++ b/THANKS
@@ -19,6 +19,7 @@ has been important. :-) In alphabetical order:
- Jakub Bogusz
- Adam Borowski
- Maarten Bosmans
+ - Benjamin Buch
- Trent W. Buck
- Kevin R. Bulgrien
- James Buren
@@ -103,6 +104,7 @@ has been important. :-) In alphabetical order:
- Jonathan Nieder
- Andre Noll
- Peter O'Gorman
+ - Dimitri Papadopoulos Orfanos
- Daniel Packard
- Filip Palian
- Peter Pallinger
@@ -143,6 +145,7 @@ has been important. :-) In alphabetical order:
- Paul Townsend
- Mohammed Adnène Trojette
- Alexey Tourbin
+ - Taiki Tsunekawa
- Loganaden Velvindron
- Patrick J. Volkerding
- Martin Väth
diff --git a/src/common/mythread.h b/src/common/mythread.h
index 7a80f966e31f..1cce50e9fd85 100644
--- a/src/common/mythread.h
+++ b/src/common/mythread.h
@@ -79,7 +79,7 @@ do { \
} while (0)
-#if !(defined(_WIN32) && !defined(__CYGWIN__))
+#if !(defined(_WIN32) && !defined(__CYGWIN__)) && !defined(__wasm__)
// Use sigprocmask() to set the signal mask in single-threaded programs.
#include <signal.h>
diff --git a/src/liblzma/api/lzma/container.h b/src/liblzma/api/lzma/container.h
index 48a643651f3d..2849fbfd3c51 100644
--- a/src/liblzma/api/lzma/container.h
+++ b/src/liblzma/api/lzma/container.h
@@ -468,7 +468,7 @@ extern LZMA_API(lzma_ret) lzma_alone_encoder(
/**
* \brief Calculate output buffer size for single-call Stream encoder
*
- * When trying to compress uncompressible data, the encoded size will be
+ * When trying to compress incompressible data, the encoded size will be
* slightly bigger than the input data. This function calculates how much
* output buffer space is required to be sure that lzma_stream_buffer_encode()
* doesn't return LZMA_BUF_ERROR.
@@ -484,7 +484,7 @@ extern LZMA_API(lzma_ret) lzma_alone_encoder(
* \note The limit calculated by this function applies only to
* single-call encoding. Multi-call encoding may (and probably
* will) have larger maximum expansion when encoding
- * uncompressible data. Currently there is no function to
+ * incompressible data. Currently there is no function to
* calculate the maximum expansion of multi-call encoding.
*
* \param uncompressed_size Size in bytes of the uncompressed
@@ -587,7 +587,8 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode(
* output space (6 bytes) to create a valid MicroLZMA stream.
*/
extern LZMA_API(lzma_ret) lzma_microlzma_encoder(
- lzma_stream *strm, const lzma_options_lzma *options);
+ lzma_stream *strm, const lzma_options_lzma *options)
+ lzma_nothrow;
/************
@@ -964,4 +965,4 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_decode(
extern LZMA_API(lzma_ret) lzma_microlzma_decoder(
lzma_stream *strm, uint64_t comp_size,
uint64_t uncomp_size, lzma_bool uncomp_size_is_exact,
- uint32_t dict_size);
+ uint32_t dict_size) lzma_nothrow;
diff --git a/src/liblzma/api/lzma/filter.h b/src/liblzma/api/lzma/filter.h
index fa61245544d3..1d887b4f2f43 100644
--- a/src/liblzma/api/lzma/filter.h
+++ b/src/liblzma/api/lzma/filter.h
@@ -254,7 +254,7 @@ extern LZMA_API(lzma_ret) lzma_raw_decoder(
* chain to be used for the next Block(s).
*
* - After LZMA_SYNC_FLUSH: Raw encoder (lzma_raw_encoder()),
- * Block encocder (lzma_block_encoder()), and single-threaded .xz Stream
+ * Block encoder (lzma_block_encoder()), and single-threaded .xz Stream
* encoder (lzma_stream_encoder()) allow changing certain filter-specific
* options in the middle of encoding. The actual filters in the chain
* (Filter IDs) must not be changed! Currently only the lc, lp, and pb
@@ -731,7 +731,7 @@ extern LZMA_API(lzma_ret) lzma_str_from_filters(
*
* If a filter_id is given then only one line is created which contains the
* filter name. If LZMA_STR_ENCODER or LZMA_STR_DECODER is used then the
- * options required for encoding or decoding are listed on the same line too.
+ * options read by the encoder or decoder are printed on the same line.
*
* If filter_id is LZMA_VLI_UNKNOWN then all supported .xz-compatible filters
* are listed:
diff --git a/src/liblzma/api/lzma/lzma12.h b/src/liblzma/api/lzma/lzma12.h
index ad4ce7b1d3bf..8ef6ea5b5010 100644
--- a/src/liblzma/api/lzma/lzma12.h
+++ b/src/liblzma/api/lzma/lzma12.h
@@ -56,7 +56,7 @@
*
* Usually you want this instead of LZMA1. Compared to LZMA1, LZMA2 adds
* support for LZMA_SYNC_FLUSH, uncompressed chunks (smaller expansion
- * when trying to compress uncompressible data), possibility to change
+ * when trying to compress incompressible data), possibility to change
* lc/lp/pb in the middle of encoding, and some other internal improvements.
*/
#define LZMA_FILTER_LZMA2 LZMA_VLI_C(0x21)
@@ -417,7 +417,7 @@ typedef struct {
* like it is with LZMA_FILTER_LZMA1. Without this flag the
* end marker isn't written and the application has to store
* the uncompressed size somewhere outside the compressed stream.
- * To decompress streams without the end marker, the appliation
+ * To decompress streams without the end marker, the application
* has to set the correct uncompressed size in ext_size_low and
* ext_size_high.
*
diff --git a/src/liblzma/api/lzma/version.h b/src/liblzma/api/lzma/version.h
index 7f9105235843..8739d751c704 100644
--- a/src/liblzma/api/lzma/version.h
+++ b/src/liblzma/api/lzma/version.h
@@ -23,7 +23,7 @@
#define LZMA_VERSION_MINOR 4
/** \brief Patch version number of the liblzma release. */
-#define LZMA_VERSION_PATCH 3
+#define LZMA_VERSION_PATCH 4
/**
* \brief Version stability marker
diff --git a/src/liblzma/common/block_buffer_encoder.c b/src/liblzma/common/block_buffer_encoder.c
index a47342efd0f5..fdef02de8955 100644
--- a/src/liblzma/common/block_buffer_encoder.c
+++ b/src/liblzma/common/block_buffer_encoder.c
@@ -277,7 +277,7 @@ block_buffer_encode(lzma_block *block, const lzma_allocator *allocator,
if (ret != LZMA_BUF_ERROR)
return ret;
- // The data was uncompressible (at least with the options
+ // The data was incompressible (at least with the options
// given to us) or the output buffer was too small. Use the
// uncompressed chunks of LZMA2 to wrap the data into a valid
// Block. If we haven't been given enough output space, even
diff --git a/src/liblzma/common/common.h b/src/liblzma/common/common.h
index 11fec52c5970..4d9cab53cdbb 100644
--- a/src/liblzma/common/common.h
+++ b/src/liblzma/common/common.h
@@ -47,7 +47,7 @@
// to 2 then symbol versioning is done only if also PIC is defined.
// By default Libtool defines PIC when building a shared library and
// doesn't define it when building a static library but it can be
-// overriden with --with-pic and --without-pic. configure let's rely
+// overridden with --with-pic and --without-pic. configure let's rely
// on PIC if neither --with-pic or --without-pic was used.
#if defined(HAVE_SYMBOL_VERSIONS_LINUX) \
&& (HAVE_SYMBOL_VERSIONS_LINUX == 2 && !defined(PIC))
diff --git a/src/liblzma/common/file_info.c b/src/liblzma/common/file_info.c
index a6b7e145ae04..799bb024fe1f 100644
--- a/src/liblzma/common/file_info.c
+++ b/src/liblzma/common/file_info.c
@@ -350,7 +350,7 @@ file_info_decode(void *coder_ptr, const lzma_allocator *allocator,
// coder->temp[coder->temp_size - LZMA_STREAM_HEADER_SIZE].
//
// Otherwise we will need to seek. The seeking is done so
- // that Stream Footer wil be at the end of coder->temp.
+ // that Stream Footer will be at the end of coder->temp.
// This way it's likely that we also get a complete Index
// field into coder->temp without needing a separate seek
// for that (unless the Index field is big).
diff --git a/src/liblzma/common/lzip_decoder.c b/src/liblzma/common/lzip_decoder.c
index 58c086740ad7..88cc7ffd236b 100644
--- a/src/liblzma/common/lzip_decoder.c
+++ b/src/liblzma/common/lzip_decoder.c
@@ -186,7 +186,7 @@ lzip_decode(void *coder_ptr, const lzma_allocator *allocator,
// The five lowest bits are for the base-2 logarithm of
// the dictionary size and the highest three bits are
// the fractional part (0/16 to 7/16) that will be
- // substracted to get the final value.
+ // subtracted to get the final value.
//
// For example, with 0xB5:
// b2log = 21
diff --git a/src/liblzma/common/memcmplen.h b/src/liblzma/common/memcmplen.h
index db3fff60ac93..3c12422beaaf 100644
--- a/src/liblzma/common/memcmplen.h
+++ b/src/liblzma/common/memcmplen.h
@@ -23,9 +23,9 @@
// on Windows when using an MSVC compatible compiler. The Intel compiler
// can use the intrinsics without the header file.
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
- && (defined(_MSC_VER) \
+ && defined(_MSC_VER) \
&& defined(_M_X64) \
- && !defined(__INTEL_COMPILER))
+ && !defined(__INTEL_COMPILER)
# include <intrin.h>
#endif
@@ -69,11 +69,13 @@ lzma_memcmplen(const uint8_t *buf1, const uint8_t *buf2,
while (len < limit) {
const uint64_t x = read64ne(buf1 + len) - read64ne(buf2 + len);
if (x != 0) {
-# if defined(_M_X64) // MSVC or Intel C compiler on Windows
+ // MSVC or Intel C compiler on Windows
+# if (defined(_MSC_VER) || defined(__INTEL_COMPILER)) && defined(_M_X64)
unsigned long tmp;
_BitScanForward64(&tmp, x);
len += (uint32_t)tmp >> 3;
-# else // GCC, clang, or Intel C compiler
+ // GCC, Clang, or Intel C compiler
+# else
len += (uint32_t)__builtin_ctzll(x) >> 3;
# endif
return my_min(len, limit);
diff --git a/src/liblzma/common/stream_decoder_mt.c b/src/liblzma/common/stream_decoder_mt.c
index b8ba4d390d80..76212b46da32 100644
--- a/src/liblzma/common/stream_decoder_mt.c
+++ b/src/liblzma/common/stream_decoder_mt.c
@@ -629,7 +629,7 @@ get_thread(struct lzma_stream_coder *coder, const lzma_allocator *allocator)
coder->thr = coder->threads_free;
coder->threads_free = coder->threads_free->next;
- // The thread is no longer in the cache so substract
+ // The thread is no longer in the cache so subtract
// it from the cached memory usage. Don't add it
// to mem_in_use though; the caller will handle it
// since it knows how much memory it will actually
@@ -1359,7 +1359,7 @@ stream_decode_mt(void *coder_ptr, const lzma_allocator *allocator,
// towards more favorable conditions (less memory in use,
// more in cache).
//
- // These are initalized to silence warnings.
+ // These are initialized to silence warnings.
uint64_t mem_in_use = 0;
uint64_t mem_cached = 0;
struct worker_thread *thr = NULL;
@@ -1425,7 +1425,7 @@ stream_decode_mt(void *coder_ptr, const lzma_allocator *allocator,
}
// Update the memory usage counters. Note that coder->mem_*
- // may have changed since we read them so we must substract
+ // may have changed since we read them so we must subtract
// or add the changes.
mythread_sync(coder->mutex) {
coder->mem_cached -= mem_freed;
@@ -1438,7 +1438,7 @@ stream_decode_mt(void *coder_ptr, const lzma_allocator *allocator,
// coder->mem_cached might count the same thing twice.
// If so, this will get corrected in get_thread() when
// a worker_thread is picked from coder->free_threads
- // and its memory usage is substracted from mem_cached.
+ // and its memory usage is subtracted from mem_cached.
coder->mem_in_use += coder->mem_next_in
+ coder->mem_next_filters;
}
diff --git a/src/liblzma/common/stream_encoder_mt.c b/src/liblzma/common/stream_encoder_mt.c
index 5990742b6b7d..f64de9bdbc57 100644
--- a/src/liblzma/common/stream_encoder_mt.c
+++ b/src/liblzma/common/stream_encoder_mt.c
@@ -743,7 +743,7 @@ stream_encode_mt(void *coder_ptr, const lzma_allocator *allocator,
// These are for wait_for_work().
bool has_blocked = false;
- mythread_condtime wait_abs;
+ mythread_condtime wait_abs = { 0 };
while (true) {
mythread_sync(coder->mutex) {
diff --git a/src/liblzma/common/string_conversion.c b/src/liblzma/common/string_conversion.c
index 0d09053f49f8..d2c1e80936b2 100644
--- a/src/liblzma/common/string_conversion.c
+++ b/src/liblzma/common/string_conversion.c
@@ -197,7 +197,7 @@ typedef struct {
/// (default is uint32_t).
///
/// Stringifying a filter is done by processing a given number of options
-/// in oder from the beginning of an option_map array. The integer is
+/// in order from the beginning of an option_map array. The integer is
/// read from filter_options at .offset using the type from .type.
///
/// If the integer is zero and .flags has OPTMAP_NO_STRFY_ZERO then the
@@ -466,9 +466,9 @@ static const struct {
/// If the flag LZMA_STR_ENCODER is used then the first
/// strfy_encoder elements of optmap are stringified.
/// With LZMA_STR_DECODER strfy_decoder is used.
- /// Currently encoders use all flags that decoders do but if
+ /// Currently encoders use all options that decoders do but if
/// that changes then this needs to be changed too, for example,
- /// add a new OPTMAP flag to skip printing some decoder-only flags.
+ /// add a new OPTMAP flag to skip printing some decoder-only options.
const option_map *optmap;
uint8_t strfy_encoder;
uint8_t strfy_decoder;
@@ -538,7 +538,7 @@ static const struct {
///
/// The input string starts at *str and the address in str_end is the first
/// char that is not part of the string anymore. So no '\0' terminator is
-/// used. *str is advanced everytime something has been decoded successfully.
+/// used. *str is advanced every time something has been decoded successfully.
static const char *
parse_options(const char **const str, const char *str_end,
void *filter_options,
@@ -844,7 +844,7 @@ parse_filter(const char **const str, const char *str_end, lzma_filter *filter,
/// Converts the string to a filter chain (array of lzma_filter structures).
///
-/// *str is advanced everytime something has been decoded successfully.
+/// *str is advanced every time something has been decoded successfully.
/// This way the caller knows where in the string a possible error occurred.
static const char *
str_to_filters(const char **const str, lzma_filter *filters, uint32_t flags,
diff --git a/src/liblzma/lz/lz_encoder.h b/src/liblzma/lz/lz_encoder.h
index 7950a2f4ef1b..ffcba02ce931 100644
--- a/src/liblzma/lz/lz_encoder.h
+++ b/src/liblzma/lz/lz_encoder.h
@@ -184,7 +184,7 @@ typedef struct {
//
// Algorithms such as LZMA2 first try to compress a chunk, and then check
// if the encoded result is smaller than the uncompressed one. If the chunk
-// was uncompressible, it is better to store it in uncompressed form in
+// was incompressible, it is better to store it in uncompressed form in
// the output stream. To do this, the whole uncompressed chunk has to be
// still available in the history buffer. before_size achieves that.
diff --git a/src/liblzma/lzma/lzma_encoder.c b/src/liblzma/lzma/lzma_encoder.c
index dc62f44f1bfb..559c63eda1d2 100644
--- a/src/liblzma/lzma/lzma_encoder.c
+++ b/src/liblzma/lzma/lzma_encoder.c
@@ -633,7 +633,7 @@ lzma_lzma_encoder_create(void **coder_ptr, const lzma_allocator *allocator,
// Currently the maximum encoder dictionary size
// is 1.5 GiB due to lz_encoder.c and here we need
// to be below 2 GiB to make the rounded up value
- // fit in an uint32_t and avoid an infite while-loop
+ // fit in an uint32_t and avoid an infinite while-loop
// (and undefined behavior due to a too large shift).
// So do the same check as in LZ encoder,
// limiting to 1.5 GiB.
@@ -673,7 +673,7 @@ lzma_lzma_encoder_create(void **coder_ptr, const lzma_allocator *allocator,
coder->uncomp_size = 0;
coder->uncomp_size_ptr = NULL;
- // Output size limitting is disabled by default.
+ // Output size limiting is disabled by default.
coder->out_limit = 0;
// Determine if end marker is wanted:
diff --git a/src/xz/args.c b/src/xz/args.c
index b831946f78b5..17e778c5db79 100644
--- a/src/xz/args.c
+++ b/src/xz/args.c
@@ -527,7 +527,10 @@ parse_real(args_info *args, int argc, char **argv)
args->files_file = fopen(optarg,
c == OPT_FILES ? "r" : "rb");
if (args->files_file == NULL)
- message_fatal("%s: %s", optarg,
+ // TRANSLATORS: This is a translatable
+ // string because French needs a space
+ // before the colon ("%s : %s").
+ message_fatal(_("%s: %s"), optarg,
strerror(errno));
}
diff --git a/src/xz/coder.c b/src/xz/coder.c
index 05f228882b73..589ec072e63c 100644
--- a/src/xz/coder.c
+++ b/src/xz/coder.c
@@ -688,7 +688,7 @@ coder_init(file_pair *pair)
strm.avail_out = 0;
while ((ret = lzma_code(&strm, LZMA_RUN))
== LZMA_UNSUPPORTED_CHECK)
- message_warning("%s: %s", pair->src_name,
+ message_warning(_("%s: %s"), pair->src_name,
message_strm(ret));
// With --single-stream lzma_code won't wait for
@@ -704,7 +704,7 @@ coder_init(file_pair *pair)
}
if (ret != LZMA_OK) {
- message_error("%s: %s", pair->src_name, message_strm(ret));
+ message_error(_("%s: %s"), pair->src_name, message_strm(ret));
if (ret == LZMA_MEMLIMIT_ERROR)
message_mem_needed(V_ERROR, lzma_memusage(&strm));
@@ -964,10 +964,10 @@ coder_normal(file_pair *pair)
// wrong and we print an error. Otherwise it's just
// a warning and coding can continue.
if (stop) {
- message_error("%s: %s", pair->src_name,
+ message_error(_("%s: %s"), pair->src_name,
message_strm(ret));
} else {
- message_warning("%s: %s", pair->src_name,
+ message_warning(_("%s: %s"), pair->src_name,
message_strm(ret));
// When compressing, all possible errors set
diff --git a/src/xz/file_io.c b/src/xz/file_io.c
index 29f46ea7fe93..a181b531258f 100644
--- a/src/xz/file_io.c
+++ b/src/xz/file_io.c
@@ -602,7 +602,7 @@ io_open_src_real(file_pair *pair)
if (!follow_symlinks) {
struct stat st;
if (lstat(pair->src_name, &st)) {
- message_error("%s: %s", pair->src_name,
+ message_error(_("%s: %s"), pair->src_name,
strerror(errno));
return true;
@@ -676,7 +676,7 @@ io_open_src_real(file_pair *pair)
// Something else than O_NOFOLLOW failing
// (assuming that the race conditions didn't
// confuse us).
- message_error("%s: %s", pair->src_name,
+ message_error(_("%s: %s"), pair->src_name,
strerror(errno));
return true;
@@ -766,7 +766,7 @@ io_open_src_real(file_pair *pair)
return false;
error_msg:
- message_error("%s: %s", pair->src_name, strerror(errno));
+ message_error(_("%s: %s"), pair->src_name, strerror(errno));
error:
(void)close(pair->src_fd);
return true;
@@ -937,7 +937,7 @@ io_open_dest_real(file_pair *pair)
pair->dest_fd = open(pair->dest_name, flags, mode);
if (pair->dest_fd == -1) {
- message_error("%s: %s", pair->dest_name,
+ message_error(_("%s: %s"), pair->dest_name,
strerror(errno));
free(pair->dest_name);
return true;
diff --git a/src/xz/hardware.c b/src/xz/hardware.c
index ccdc3b9eb5c9..c6948821862a 100644
--- a/src/xz/hardware.c
+++ b/src/xz/hardware.c
@@ -42,7 +42,7 @@ static uint64_t memlimit_decompress = 0;
///
/// - Default value for --memlimit-mt-decompress
///
-/// This value is caluclated in hardware_init() and cannot be changed later.
+/// This value is calculated in hardware_init() and cannot be changed later.
static uint64_t memlimit_mt_default;
/// Memory usage limit for multithreaded decompression. This is a soft limit:
@@ -147,7 +147,7 @@ hardware_memlimit_set(uint64_t new_memlimit,
// for the xz program and so on. Don't use 4000 MiB because
// it could look like someone mixed up base-2 and base-10.
#ifdef __mips__
- // For MIPS32, due to architectural pecularities,
+ // For MIPS32, due to architectural peculiarities,
// the limit is even lower.
const uint64_t limit_max = UINT64_C(2000) << 20;
#else
diff --git a/src/xz/list.c b/src/xz/list.c
index 90799bd26eb4..86c3a762f560 100644
--- a/src/xz/list.c
+++ b/src/xz/list.c
@@ -366,7 +366,7 @@ parse_indexes(xz_file_info *xfi, file_pair *pair)
hardware_memlimit_get(MODE_LIST),
(uint64_t)(pair->src_st.st_size));
if (ret != LZMA_OK) {
- message_error("%s: %s", pair->src_name, message_strm(ret));
+ message_error(_("%s: %s"), pair->src_name, message_strm(ret));
return true;
}
@@ -412,7 +412,7 @@ parse_indexes(xz_file_info *xfi, file_pair *pair)
}
default:
- message_error("%s: %s", pair->src_name,
+ message_error(_("%s: %s"), pair->src_name,
message_strm(ret));
// If the error was too low memory usage limit,
@@ -474,7 +474,7 @@ parse_block_header(file_pair *pair, const lzma_index_iter *iter,
break;
case LZMA_OPTIONS_ERROR:
- message_error("%s: %s", pair->src_name,
+ message_error(_("%s: %s"), pair->src_name,
message_strm(LZMA_OPTIONS_ERROR));
return true;
@@ -578,7 +578,8 @@ parse_block_header(file_pair *pair, const lzma_index_iter *iter,
// Check if the stringification succeeded.
if (str_ret != LZMA_OK) {
- message_error("%s: %s", pair->src_name, message_strm(str_ret));
+ message_error(_("%s: %s"), pair->src_name,
+ message_strm(str_ret));
return true;
}
@@ -586,7 +587,7 @@ parse_block_header(file_pair *pair, const lzma_index_iter *iter,
data_error:
// Show the error message.
- message_error("%s: %s", pair->src_name,
+ message_error(_("%s: %s"), pair->src_name,
message_strm(LZMA_DATA_ERROR));
return true;
}
diff --git a/src/xz/message.c b/src/xz/message.c
index c54ebc5b5800..abf30adcc26c 100644
--- a/src/xz/message.c
+++ b/src/xz/message.c
@@ -667,7 +667,7 @@ progress_flush(bool finished)
cols[4]);
} else {
// The filename is always printed.
- fprintf(stderr, "%s: ", filename);
+ fprintf(stderr, _("%s: "), filename);
// Percentage is printed only if we didn't finish yet.
if (!finished) {
diff --git a/src/xz/xz.1 b/src/xz/xz.1
index aefb79f2fdc0..8e85a17e920e 100644
--- a/src/xz/xz.1
+++ b/src/xz/xz.1
@@ -1,11 +1,12 @@
'\" t
.\"
-.\" Author: Lasse Collin
+.\" Authors: Lasse Collin
+.\" Jia Tan
.\"
.\" This file has been put into the public domain.
.\" You can do whatever you want with this file.
.\"
-.TH XZ 1 "2022-12-01" "Tukaani" "XZ Utils"
+.TH XZ 1 "2023-07-17" "Tukaani" "XZ Utils"
.
.SH NAME
xz, unxz, xzcat, lzma, unlzma, lzcat \- Compress or decompress .xz and .lzma files
@@ -1963,7 +1964,7 @@ decompression in the future.
.
.SS Version
.B "xz \-\-robot \-\-version"
-will print the version number of
+prints the version number of
.B xz
and liblzma in the following format:
.PP
@@ -2004,7 +2005,7 @@ and
.
.SS "Memory limit information"
.B "xz \-\-robot \-\-info\-memory"
-prints a single line with three tab-separated columns:
+prints a single line with multiple tab-separated columns:
.IP 1. 4
Total amount of physical memory (RAM) in bytes.
.IP 2. 4