Bump to 5.4.5
[platform/upstream/xz.git] / ChangeLog
1 commit 49053c0a649f4c8bd2b8d97ce915f401fbc0f3d9
2 Author: Jia Tan <jiat0218@gmail.com>
3 Date:   2023-10-31 22:30:29 +0800
4
5     Bump version and soname for 5.4.5.
6
7  src/liblzma/Makefile.am        | 2 +-
8  src/liblzma/api/lzma/version.h | 2 +-
9  2 files changed, 2 insertions(+), 2 deletions(-)
10
11 commit 84c0cfc556287628df871703672879e530d0391f
12 Author: Jia Tan <jiat0218@gmail.com>
13 Date:   2023-11-01 20:18:30 +0800
14
15     Add NEWS for 5.4.5.
16
17  NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18  1 file changed, 74 insertions(+)
19
20 commit d90ed84db9770712e2421e170076b43bda9b64a7
21 Author: Lasse Collin <lasse.collin@tukaani.org>
22 Date:   2023-10-31 21:41:09 +0200
23
24     liblzma: Fix compilation of fastpos_tablegen.c.
25     
26     The macro lzma_attr_visibility_hidden has to be defined to make
27     fastpos.h usable. The visibility attribute is irrelevant to
28     fastpos_tablegen.c so simply #define the macro to an empty value.
29     
30     fastpos_tablegen.c is never built by the included build systems
31     and so the problem wasn't noticed earlier. It's just a standalone
32     program for generating fastpos_table.c.
33     
34     Fixes: https://github.com/tukaani-project/xz/pull/69
35     Thanks to GitHub user Jamaika1.
36
37  src/liblzma/lzma/fastpos_tablegen.c | 2 ++
38  1 file changed, 2 insertions(+)
39
40 commit 9b1268538b0b2c6c0a121f95165de65fc71ad23c
41 Author: Jia Tan <jiat0218@gmail.com>
42 Date:   2023-10-31 21:51:40 +0800
43
44     Build: Fix text wrapping in an output message.
45
46  configure.ac | 9 +++++----
47  1 file changed, 5 insertions(+), 4 deletions(-)
48
49 commit 068ee436f4a8a706125ef43e8228b30001b1554e
50 Author: Lasse Collin <lasse.collin@tukaani.org>
51 Date:   2023-10-22 17:59:11 +0300
52
53     liblzma: Use lzma_always_inline in memcmplen.h.
54
55  src/liblzma/common/memcmplen.h | 3 +--
56  1 file changed, 1 insertion(+), 2 deletions(-)
57
58 commit 6cdf0a7b7974baf58c1fd20ec3278f3b84ae56e5
59 Author: Lasse Collin <lasse.collin@tukaani.org>
60 Date:   2023-10-30 17:43:03 +0200
61
62     liblzma: #define lzma_always_inline in common.h.
63
64  src/liblzma/common/common.h | 17 +++++++++++++++++
65  1 file changed, 17 insertions(+)
66
67 commit 33daad3961a4f07f3902b40f13e823e6e43e85da
68 Author: Lasse Collin <lasse.collin@tukaani.org>
69 Date:   2023-10-22 17:15:32 +0300
70
71     liblzma: Use lzma_attr_visibility_hidden on private extern declarations.
72     
73     These variables are internal to liblzma and not exposed in the API.
74
75  src/liblzma/check/check.h                | 7 +++++++
76  src/liblzma/common/stream_flags_common.h | 3 +++
77  src/liblzma/lz/lz_encoder_hash.h         | 1 +
78  src/liblzma/lzma/fastpos.h               | 1 +
79  src/liblzma/rangecoder/price.h           | 1 +
80  5 files changed, 13 insertions(+)
81
82 commit 6961a5ac7df178bfc2b7a181c40575847bc3035f
83 Author: Lasse Collin <lasse.collin@tukaani.org>
84 Date:   2023-10-22 17:08:39 +0300
85
86     liblzma: #define lzma_attr_visibility_hidden in common.h.
87     
88     In ELF shared libs:
89     
90     -fvisibility=hidden affects definitions of symbols but not
91     declarations.[*] This doesn't affect direct calls to functions
92     inside liblzma as a linker can replace a call to lzma_foo@plt
93     with a call directly to lzma_foo when -fvisibility=hidden is used.
94     
95     [*] It has to be like this because otherwise every installed
96         header file would need to explictly set the symbol visibility
97         to default.
98     
99     When accessing extern variables that aren't defined in the
100     same translation unit, compiler assumes that the variable has
101     the default visibility and thus indirection is needed. Unlike
102     function calls, linker cannot optimize this.
103     
104     Using __attribute__((__visibility__("hidden"))) with the extern
105     variable declarations tells the compiler that indirection isn't
106     needed because the definition is in the same shared library.
107     
108     About 15+ years ago, someone told me that it would be good if
109     the CRC tables would be defined in the same translation unit
110     as the C code of the CRC functions. While I understood that it
111     could help a tiny amount, I didn't want to change the code because
112     a separate translation unit for the CRC tables was needed for the
113     x86 assembly code anyway. But when visibility attributes are
114     supported, simply marking the extern declaration with the
115     hidden attribute will get identical result. When there are only
116     a few affected variables, this is trivial to do. I wish I had
117     understood this back then already.
118
119  src/liblzma/common/common.h | 11 +++++++++++
120  1 file changed, 11 insertions(+)
121
122 commit 5b9e16764905d06fa8e8339ba185ddfee304e5fb
123 Author: Lasse Collin <lasse.collin@tukaani.org>
124 Date:   2023-09-30 22:54:28 +0300
125
126     liblzma: Refer to MinGW-w64 instead of MinGW in the API headers.
127     
128     MinGW (formely a MinGW.org Project, later the MinGW.OSDN Project
129     at <https://osdn.net/projects/mingw/>) has GCC 9.2.0 as the
130     most recent GCC package (released 2021-02-02). The project might
131     still be alive but majority of people have switched to MinGW-w64.
132     Thus it seems clearer to refer to MinGW-w64 in our API headers too.
133     Building with MinGW is likely to still work but I haven't tested it
134     in the recent years.
135
136  src/liblzma/api/lzma.h         | 4 ++--
137  src/liblzma/api/lzma/version.h | 2 +-
138  2 files changed, 3 insertions(+), 3 deletions(-)
139
140 commit 36fabdbe67c8a8fbdc3ac695a91fc443a1328cc4
141 Author: Lasse Collin <lasse.collin@tukaani.org>
142 Date:   2023-09-27 00:58:17 +0300
143
144     CMake: Use -D_FILE_OFFSET_BITS=64 if (and only if) needed.
145     
146     A CMake option LARGE_FILE_SUPPORT is created if and only if
147     -D_FILE_OFFSET_BITS=64 affects sizeof(off_t).
148     
149     This is needed on many 32-bit platforms and even with 64-bit builds
150     with MinGW-w64 to get support for files larger than 2 GiB.
151
152  CMakeLists.txt                        |  7 ++++-
153  cmake/tuklib_large_file_support.cmake | 52 +++++++++++++++++++++++++++++++++++
154  2 files changed, 58 insertions(+), 1 deletion(-)
155
156 commit 989c8c354cbd2d20fbae4a432a3e31f5bc1cb9bf
157 Author: Lasse Collin <lasse.collin@tukaani.org>
158 Date:   2023-09-30 02:14:25 +0300
159
160     CMake: Generate and install liblzma.pc if not using MSVC.
161     
162     Autotools based build uses -pthread and thus adds it to Libs.private
163     in liblzma.pc. CMake doesn't use -pthread at all if pthread functions
164     are available in libc so Libs.private doesn't get -pthread either.
165
166  CMakeLists.txt | 21 +++++++++++++++++++++
167  1 file changed, 21 insertions(+)
168
169 commit 983f3b458dc79c5976a4237fdfe4f8079f8d8830
170 Author: Lasse Collin <lasse.collin@tukaani.org>
171 Date:   2023-09-30 01:13:13 +0300
172
173     CMake: Rearrange the PACKAGE_ variables.
174     
175     The windres workaround now replaces spaces with \x20 so
176     the package name isn't repeated.
177     
178     These changes will help with creation of liblzma.pc.
179
180  CMakeLists.txt | 26 +++++++++++++++-----------
181  1 file changed, 15 insertions(+), 11 deletions(-)
182
183 commit 4083c8e9501a48934a5fb563d2c3ce2ae143cd27
184 Author: Lasse Collin <lasse.collin@tukaani.org>
185 Date:   2023-09-29 20:46:11 +0300
186
187     liblzma: Add Cflags.private to liblzma.pc.in for MSYS2.
188     
189     It properly adds -DLZMA_API_STATIC when compiling code that
190     will be linked against static liblzma. Having it there on
191     systems other than Windows does no harm.
192     
193     See: https://www.msys2.org/docs/pkgconfig/
194
195  src/liblzma/liblzma.pc.in | 1 +
196  1 file changed, 1 insertion(+)
197
198 commit 661549ecb7a9b136d72a01c137d9776c75d52d51
199 Author: Lasse Collin <lasse.collin@tukaani.org>
200 Date:   2023-09-27 22:46:20 +0300
201
202     CMake: Create liblzma.def when building liblzma.dll with MinGW-w64.
203
204  CMakeLists.txt              | 20 ++++++++++++++++++++
205  cmake/remove-ordinals.cmake | 26 ++++++++++++++++++++++++++
206  2 files changed, 46 insertions(+)
207
208 commit 0e546eb4da05c52b7d257e5bd85e15c51c4d86a3
209 Author: Lasse Collin <lasse.collin@tukaani.org>
210 Date:   2023-10-26 21:44:42 +0300
211
212     CMake: Change one CMAKE_CURRENT_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR.
213     
214     In this case they have identical values.
215
216  CMakeLists.txt | 2 +-
217  1 file changed, 1 insertion(+), 1 deletion(-)
218
219 commit da4d04e4d6e199d28b58bd2e0df4e120c52dd5d7
220 Author: Lasse Collin <lasse.collin@tukaani.org>
221 Date:   2023-10-01 19:10:57 +0300
222
223     CMake/Windows: Fix the import library filename.
224     
225     Both PREFIX and IMPORT_PERFIX have to be set to "" to get
226     liblzma.dll and liblzma.dll.a.
227
228  CMakeLists.txt | 1 +
229  1 file changed, 1 insertion(+)
230
231 commit 007558a358c48a0175cc8d47d11798d7967282ab
232 Author: Lasse Collin <lasse.collin@tukaani.org>
233 Date:   2023-10-11 19:47:44 +0300
234
235     CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable.
236     
237     Using set(ENABLE_THREADS "posix") is confusing because it sets
238     a new normal variable and leaves the cache entry with the same
239     name unchanged. The intent wasn't to change the cache entry so
240     this switches to a different variable name.
241
242  CMakeLists.txt | 10 +++++++---
243  1 file changed, 7 insertions(+), 3 deletions(-)
244
245 commit 7d01de67ee3dd76cfc12c23220e2e4cdc59708f1
246 Author: Lasse Collin <lasse.collin@tukaani.org>
247 Date:   2023-10-09 21:12:31 +0300
248
249     CMake: Edit threading related messages.
250     
251     It's mostly to change from "thread method" to "threading method".
252
253  CMakeLists.txt | 19 ++++++++++---------
254  1 file changed, 10 insertions(+), 9 deletions(-)
255
256 commit f8edcf3da689aad4b21e139197725450f2c456a0
257 Author: Lasse Collin <lasse.collin@tukaani.org>
258 Date:   2023-10-09 20:59:24 +0300
259
260     CMake: Use FATAL_ERROR if user-supplied options aren't understood.
261     
262     This way typos are caught quickly and compounding error messages
263     are avoided (a single typo could cause more than one error).
264     
265     This keeps using SEND_ERROR when the system is lacking a feature
266     (like threading library or sandboxing method). This way the whole
267     configuration log will be generated in case someone wishes to
268     report a problem upstream.
269
270  CMakeLists.txt | 28 ++++++++++++++--------------
271  1 file changed, 14 insertions(+), 14 deletions(-)
272
273 commit 1695021e4a233a9388ddd428654c1447f0ea3bfb
274 Author: Jia Tan <jiat0218@gmail.com>
275 Date:   2023-10-19 16:09:01 +0800
276
277     CMake: Add ALLOW_CLMUL_CRC option to enable/disable CLMUL.
278     
279     The option is enabled by default, but will only be visible to a user
280     listing cache variables or using a CMake GUI application if the
281     immintrin.h header file is found.
282     
283     This mirrors our Autotools build --disable-clmul-crc functionality.
284
285  CMakeLists.txt | 40 +++++++++++++++++++++++-----------------
286  1 file changed, 23 insertions(+), 17 deletions(-)
287
288 commit 5056bc51071d1a07097c5667a0d5bd85242e31b9
289 Author: Lasse Collin <lasse.collin@tukaani.org>
290 Date:   2023-10-14 17:56:59 +0300
291
292     tuklib_integer: Revise unaligned reads and writes on strict-align archs.
293     
294     In XZ Utils context this doesn't matter much because
295     unaligned reads and writes aren't used in hot code
296     when TUKLIB_FAST_UNALIGNED_ACCESS isn't #defined.
297
298  src/common/tuklib_integer.h | 256 ++++++++++++++++++++++++++++++++------------
299  1 file changed, 189 insertions(+), 67 deletions(-)
300
301 commit 9e14743ee5ba79181076bc33952245d5b18fbc58
302 Author: Lasse Collin <lasse.collin@tukaani.org>
303 Date:   2023-09-23 02:21:49 +0300
304
305     tuklib_integer: Add missing write64be and write64le fallback functions.
306
307  src/common/tuklib_integer.h | 34 ++++++++++++++++++++++++++++++++++
308  1 file changed, 34 insertions(+)
309
310 commit 4cc91ceb3992ef4f51302b56178c3b2c2aeaaaad
311 Author: Jia Tan <jiat0218@gmail.com>
312 Date:   2023-10-12 20:12:18 +0800
313
314     Build: Update visibility.m4 from Gnulib.
315     
316     Updating from version 6 -> 8 from upstream. Declarations for variables
317     and function bodies were added to avoid unnecessary failures with
318     -Werror.
319
320  m4/visibility.m4 | 9 +++++++--
321  1 file changed, 7 insertions(+), 2 deletions(-)
322
323 commit 1824a6007cb1c8d5d7abcc7bf649148bc06fa72c
324 Author: Lasse Collin <lasse.collin@tukaani.org>
325 Date:   2023-10-06 19:36:35 +0300
326
327     Update THANKS.
328
329  THANKS | 1 +
330  1 file changed, 1 insertion(+)
331
332 commit 8fdc71a27d07b10a3da52432432e080b6d577642
333 Author: Jia Tan <jiat0218@gmail.com>
334 Date:   2023-09-29 20:14:39 +0800
335
336     CMake: Rename xz and man page symlink custom targets.
337     
338     The Ninja Generator for CMake cannot have a custom target and its
339     BYPRODUCTS have the same name. This has prevented Ninja builds on
340     Unix-like systems since the xz symlinks were introduced in
341     80a1a8bb838842a2be343bd88ad1462c21c5e2c9.
342
343  CMakeLists.txt | 6 +++---
344  1 file changed, 3 insertions(+), 3 deletions(-)
345
346 commit 38171492ded6426ddf53d0c200fa8c93fcd02a60
347 Author: Lasse Collin <lasse.collin@tukaani.org>
348 Date:   2023-09-27 19:54:35 +0300
349
350     CMake: Fix Windows build with Clang/LLVM 17.
351     
352     llvm-windres 17.0.0 has more accurate emulation of GNU windres, so
353     the hack for GNU windres must now be used with llvm-windres too.
354     
355     LLVM 16.0.6 has the old behavior and there likely won't be more
356     16.x releases. So we can simply check for >= 17.0.0.
357     
358     The workaround must not be used with Clang that is acting in
359     MSVC mode. This checks for the known environments that need
360     the workaround instead of using "NOT MSVC".
361     
362     See also:
363     https://github.com/llvm/llvm-project/commit/2bcc0fdc58a220cb9921b47ec8a32c85f2511a47
364
365  CMakeLists.txt | 26 ++++++++++++++------------
366  1 file changed, 14 insertions(+), 12 deletions(-)
367
368 commit 1bce6fe48334b5df33d0487a9cbe41950122230e
369 Author: Jia Tan <jiat0218@gmail.com>
370 Date:   2023-09-27 00:02:11 +0800
371
372     liblzma: Avoid compiler warning without creating extra symbol.
373     
374     When the generic fast crc64 method is used, then we omit
375     lzma_crc64_table[][].
376     
377     The C standards don't allow an empty translation unit which can be
378     avoided by declaring something, without exporting any symbols.
379
380  src/liblzma/check/crc64_table.c | 6 ++----
381  1 file changed, 2 insertions(+), 4 deletions(-)
382
383 commit dce95a593e6cd9779110aa1e314abd8b35c75f6b
384 Author: Lasse Collin <lasse.collin@tukaani.org>
385 Date:   2023-09-26 17:24:15 +0300
386
387     Build: Update the comment about -Werror usage in checks.
388
389  configure.ac | 10 ++++++++--
390  1 file changed, 8 insertions(+), 2 deletions(-)
391
392 commit f3c32762ae309afa2fe330e7fb397acfdedc4d37
393 Author: Lasse Collin <lasse.collin@tukaani.org>
394 Date:   2023-09-26 13:51:31 +0300
395
396     Build: Fix underquoted AC_LANG_SOURCE.
397     
398     It made no practical difference in this case.
399
400  configure.ac | 2 +-
401  1 file changed, 1 insertion(+), 1 deletion(-)
402
403 commit 7dd57f2f2c8fde93fa42b4dbf6d9860717723b41
404 Author: Lasse Collin <lasse.collin@tukaani.org>
405 Date:   2023-09-26 13:14:37 +0300
406
407     Build: Silence Autoconf warning.
408     
409     There was a use of AC_COMPILE_IFELSE that didn't use
410     AC_LANG_SOURCE and Autoconf warned about this. The omission
411     had been intentional but it turned out that this didn't do
412     what I thought it would.
413     
414     Autoconf 2.71 manual gives an impression that AC_LANG_SOURCE
415     inserts all #defines that have been made with AC_DEFINE so
416     far (confdefs.h). The idea was that omitting AC_LANG_SOURCE
417     would mean that only the exact code included in the
418     AC_COMPILE_IFELSE call would be compiled.
419     
420     With C programs this is not true: the #defines get added without
421     AC_LANG_SOURCE too. There seems to be no neat way to avoid this.
422     Thus, with the C language at least, adding AC_LANG_SOURCE makes
423     no other difference than silencing a warning from Autoconf. The
424     generated "configure" remains identical. (Docs of AC_LANG_CONFTEST
425     say that the #defines have been inserted since Autoconf 2.63b and
426     that AC_COMPILE_IFELSE uses AC_LANG_CONFTEST. So the behavior is
427     documented if one also reads the docs of macros that one isn't
428     calling directly.)
429     
430     Any extra code, including #defines, can cause problems for
431     these two tests because these tests must use -Werror.
432     CC=clang CFLAGS=-Weverything is the most extreme example.
433     It enables -Wreserved-macro-identifier which warns about
434     It's possible to write a test file that passes -Weverything but
435     it becomes impossible when Autoconf inserts confdefs.h.
436     
437     So this commit adds AC_LANG_SOURCE to silence Autoconf warnings.
438     A different solution is needed for -Werror tests.
439
440  configure.ac | 5 ++---
441  1 file changed, 2 insertions(+), 3 deletions(-)
442
443 commit edec253e418562f3164a01ecc8805295fa022efa
444 Author: Jia Tan <jiat0218@gmail.com>
445 Date:   2023-09-26 00:47:26 +0800
446
447     Build: Remove Gnulib dependency from tests.
448     
449     The tests do not use any Gnulib replacements so they do not need to link
450     libgnu.a or have /lib in the include path.
451
452  tests/Makefile.am | 7 +------
453  1 file changed, 1 insertion(+), 6 deletions(-)
454
455 commit 46cb133ce7360496eecca1255b364c05f0205855
456 Author: Jia Tan <jiat0218@gmail.com>
457 Date:   2023-09-26 00:43:43 +0800
458
459     CMake: Remove /lib from tests include path.
460     
461     The tests never included anything from /lib, so this was not needed.
462
463  CMakeLists.txt | 1 -
464  1 file changed, 1 deletion(-)
465
466 commit 4ae13cfe0dedb8ddc3cf9ded8cd1ac09361b3bd1
467 Author: Lasse Collin <lasse.collin@tukaani.org>
468 Date:   2023-09-24 16:32:32 +0300
469
470     sysdefs.h: Update the comment about __USE_MINGW_ANSI_STDIO.
471
472  src/common/sysdefs.h | 10 +++++++++-
473  1 file changed, 9 insertions(+), 1 deletion(-)
474
475 commit 660c8c29e57d30dbd5009ef1f0ec1bbe195ccef6
476 Author: Lasse Collin <lasse.collin@tukaani.org>
477 Date:   2023-09-22 02:33:29 +0300
478
479     xz: Windows: Don't (de)compress to special files like "con" or "nul".
480     
481     Before this commit, the following writes "foo" to the
482     console and deletes the input file:
483     
484         echo foo | xz > con_xz
485         xz --suffix=_xz --decompress con_xz
486     
487     It cannot happen without --suffix because names like con.xz
488     are also special and so attempting to decompress con.xz
489     (or compress con to con.xz) will already fail when opening
490     the input file.
491     
492     Similar thing is possible when compressing. The following
493     writes to "nul" and the input file "n" is deleted.
494     
495         echo foo | xz > n
496         xz --suffix=ul n
497     
498     Now xz checks if the destination is a special file before
499     continuing. DOS/DJGPP version had a check for this but
500     Windows (and OS/2) didn't.
501
502  src/xz/file_io.c | 35 ++++++++++++++++++++++++++++-------
503  1 file changed, 28 insertions(+), 7 deletions(-)
504
505 commit b7ce6e80786fc0c08ed129e8ee262ea96a5473a1
506 Author: Lasse Collin <lasse.collin@tukaani.org>
507 Date:   2023-09-21 20:42:52 +0300
508
509     CMake: Wrap two overlong lines that are possible to wrap.
510
511  CMakeLists.txt | 6 ++++--
512  1 file changed, 4 insertions(+), 2 deletions(-)
513
514 commit 1595f454d5c8257c668cccd6a86dd68175d5c430
515 Author: Lasse Collin <lasse.collin@tukaani.org>
516 Date:   2023-09-21 20:36:31 +0300
517
518     CMake: Add a comment about threads on Cygwin.
519
520  CMakeLists.txt | 1 +
521  1 file changed, 1 insertion(+)
522
523 commit 5be6275f19784cdd5a954f0188045c8ff4934d54
524 Author: Lasse Collin <lasse.collin@tukaani.org>
525 Date:   2023-09-12 21:12:34 +0300
526
527     CMake: Bump maximum policy version to 3.27.
528     
529     There are several new policies. CMP0149 may affect the Windows SDK
530     version that CMake will choose by default. The new behavior is more
531     predictable, always choosing the latest SDK version by default.
532     
533     The other new policies shouldn't affect this package.
534
535  CMakeLists.txt | 2 +-
536  1 file changed, 1 insertion(+), 1 deletion(-)
537
538 commit e515643d7524851d1eb7dab73453e26d8521324c
539 Author: Lasse Collin <lasse.collin@tukaani.org>
540 Date:   2023-09-08 19:08:57 +0300
541
542     Doxygen: Add more C macro names to PREDEFINED.
543
544  doxygen/Doxyfile | 7 +++++--
545  1 file changed, 5 insertions(+), 2 deletions(-)
546
547 commit e3478ae4f36cd06522a2fef023860893f068434d
548 Author: Lasse Collin <lasse.collin@tukaani.org>
549 Date:   2023-09-11 18:47:26 +0300
550
551     liblzma: Move a few __attribute__ uses in function declarations.
552     
553     The API headers have many attributes but these were left
554     as is for now.
555
556  src/liblzma/common/common.c    | 6 ++++--
557  src/liblzma/common/common.h    | 8 ++++----
558  src/liblzma/common/memcmplen.h | 3 ++-
559  3 files changed, 10 insertions(+), 7 deletions(-)
560
561 commit b71b8922ef3971e5ccffd1e213888d44abe21d11
562 Author: Lasse Collin <lasse.collin@tukaani.org>
563 Date:   2023-09-11 19:03:35 +0300
564
565     xz, xzdec, lzmainfo: Use tuklib_attr_noreturn.
566     
567     For compatibility with C23's [[noreturn]], tuklib_attr_noreturn
568     must be at the beginning of declaration (before "extern" or
569     "static", and even before any GNU C's __attribute__).
570     
571     This commit also moves all other function attributes to
572     the beginning of function declarations. "extern" is kept
573     at the beginning of a line so the attributes are listed on
574     separate lines before "extern" or "static".
575
576  src/lzmainfo/lzmainfo.c |  6 ++++--
577  src/xz/coder.c          |  3 ++-
578  src/xz/hardware.h       |  3 ++-
579  src/xz/message.h        | 30 +++++++++++++++++-------------
580  src/xz/options.c        |  3 ++-
581  src/xz/util.h           |  8 ++++----
582  src/xzdec/xzdec.c       |  9 ++++++---
583  7 files changed, 37 insertions(+), 25 deletions(-)
584
585 commit 359e5c6cb128dab64ea6070d21d1c240f96cea6b
586 Author: Lasse Collin <lasse.collin@tukaani.org>
587 Date:   2023-09-11 18:53:31 +0300
588
589     Remove incorrect uses of __attribute__((__malloc__)).
590     
591     xrealloc() is obviously incorrect, modern GCC docs even
592     mention realloc() as an example where this attribute
593     cannot be used.
594     
595     liblzma's lzma_alloc() and lzma_alloc_zero() would be
596     correct uses most of the time but custom allocators
597     may use a memory pool or otherwise hold the pointer
598     so aliasing issues could happen in theory.
599     
600     The xstrdup() case likely was correct but I removed it anyway.
601     Now there are no __malloc__ attributes left in the code.
602     The allocations aren't in hot paths so this should make
603     no practical difference.
604
605  src/liblzma/common/common.c | 4 ++--
606  src/liblzma/common/common.h | 4 ++--
607  src/xz/util.h               | 4 ++--
608  3 files changed, 6 insertions(+), 6 deletions(-)
609
610 commit 589b4cba22fccb1dbc919df5d134aefb2b5a6b01
611 Author: Lasse Collin <lasse.collin@tukaani.org>
612 Date:   2023-09-19 14:03:45 +0300
613
614     Update THANKS.
615
616  THANKS | 1 +
617  1 file changed, 1 insertion(+)
618
619 commit 43728ed2267e921fbdfa699ee1e91b105ab0e98b
620 Author: Lasse Collin <lasse.collin@tukaani.org>
621 Date:   2023-09-14 16:35:46 +0300
622
623     Update THANKS.
624
625  THANKS | 1 +
626  1 file changed, 1 insertion(+)
627
628 commit caf00e0988ba47842cfd93dfbb17f7d30120d6e7
629 Author: Lasse Collin <lasse.collin@tukaani.org>
630 Date:   2023-09-14 16:34:07 +0300
631
632     liblzma: Mark crc64_clmul() with __attribute__((__no_sanitize_address__)).
633     
634     Thanks to Agostino Sarubbo.
635     Fixes: https://github.com/tukaani-project/xz/issues/62
636
637  src/liblzma/check/crc64_fast.c | 8 ++++++++
638  1 file changed, 8 insertions(+)
639
640 commit a70e96d2da761b8b3a77bf14e08002d871e5950b
641 Author: Jia Tan <jiat0218@gmail.com>
642 Date:   2023-09-12 22:36:12 +0800
643
644     CMake: Fix time.h checks not running on second CMake run.
645     
646     If CMake was configured more than once, HAVE_CLOCK_GETTIME and
647     HAVE_CLOCK_MONOTONIC would not be set as compile definitions. The check
648     for librt being needed to provide HAVE_CLOCK_GETTIME was also
649     simplified.
650
651  CMakeLists.txt | 18 ++++++++++--------
652  1 file changed, 10 insertions(+), 8 deletions(-)
653
654 commit d5275d83bd2a9701c5feb8666785007c074b1359
655 Author: Jia Tan <jiat0218@gmail.com>
656 Date:   2023-09-12 22:34:06 +0800
657
658     CMake: Fix unconditionally defining HAVE_CLOCK_MONOTONIC.
659     
660     If HAVE_CLOCK_GETTIME was defined, then HAVE_CLOCK_MONOTONIC was always
661     added as a compile definition even if the check for it failed.
662
663  CMakeLists.txt | 8 +++-----
664  1 file changed, 3 insertions(+), 5 deletions(-)
665
666 commit 1f6e7c68fbdeeaa9482fc77de090be63d90912fd
667 Author: Lasse Collin <lasse.collin@tukaani.org>
668 Date:   2023-08-31 19:50:05 +0300
669
670     xz: Refactor thousand separator detection and disable it on MSVC.
671     
672     Now the two variations of the format strings are created with
673     a macro, and the whole detection code can be easily disabled
674     on platforms where thousand separator formatting is known to
675     not work (MSVC has no support, and on DJGPP 2.05 it can have
676     problems in some cases).
677
678  src/xz/util.c | 89 ++++++++++++++++++++++++++++++-----------------------------
679  1 file changed, 45 insertions(+), 44 deletions(-)
680
681 commit ef71f83973a20cc28a3221f85681922026ea33f5
682 Author: Lasse Collin <lasse.collin@tukaani.org>
683 Date:   2023-08-31 18:14:43 +0300
684
685     xz: Fix a too relaxed assertion and remove uses of SSIZE_MAX.
686     
687     SSIZE_MAX isn't readily available on MSVC. Removing it means
688     that there is one thing less to worry when porting to MSVC.
689
690  src/xz/file_io.c | 5 ++---
691  src/xz/file_io.h | 4 ++--
692  2 files changed, 4 insertions(+), 5 deletions(-)
693
694 commit cf8ba7c3a89e37736b926dfbe85dffeff725db47
695 Author: Jia Tan <jiat0218@gmail.com>
696 Date:   2023-08-28 23:14:45 +0800
697
698     Tests: Improve invalid unpadded size check in test_lzma_index_append().
699     
700     This check was extended to test the code added to fix a failing assert
701     in 68bda971bb8b666a009331455fcedb4e18d837a4.
702
703  tests/test_index.c | 26 +++++++++++++++++++++++---
704  1 file changed, 23 insertions(+), 3 deletions(-)
705
706 commit 4a4180ce74788e97e90b9aab579bfd7c6dce3f59
707 Author: Jia Tan <jiat0218@gmail.com>
708 Date:   2023-08-28 21:54:41 +0800
709
710     Tests: Improve comments in test_index.c.
711
712  tests/test_index.c | 6 +++---
713  1 file changed, 3 insertions(+), 3 deletions(-)
714
715 commit 4b23b84b89e39a5117e16f66c3b01db4f08ed3e7
716 Author: Jia Tan <jiat0218@gmail.com>
717 Date:   2023-08-28 21:52:54 +0800
718
719     Update THANKS.
720
721  THANKS | 1 +
722  1 file changed, 1 insertion(+)
723
724 commit 773f1e8622cb1465df528cb16a749517650acd93
725 Author: Jia Tan <jiat0218@gmail.com>
726 Date:   2023-08-28 21:50:16 +0800
727
728     liblzma: Update assert in vli_ceil4().
729     
730     The argument to vli_ceil4() should always guarantee the return value
731     is also a valid lzma_vli. Thus the highest three valid lzma_vli values
732     are invalid arguments. All uses of the function ensure this so the
733     assert is updated to match this.
734
735  src/liblzma/common/index.h | 2 +-
736  1 file changed, 1 insertion(+), 1 deletion(-)
737
738 commit 68bda971bb8b666a009331455fcedb4e18d837a4
739 Author: Jia Tan <jiat0218@gmail.com>
740 Date:   2023-08-28 21:31:25 +0800
741
742     liblzma: Add overflow check for Unpadded size in lzma_index_append().
743     
744     This was not a security bug since there was no path to overflow
745     UINT64_MAX in lzma_index_append() or when it calls index_file_size().
746     The bug was discovered by a failing assert() in vli_ceil4() when called
747     from index_file_size() when unpadded_sum (the sum of the compressed size
748     of current Stream and the unpadded_size parameter) exceeds LZMA_VLI_MAX.
749     
750     Previously, the unpadded_size parameter was checked to be not greater
751     than UNPADDED_SIZE_MAX, but no check was done once compressed_base was
752     added.
753     
754     This could not have caused an integer overflow in index_file_size() when
755     called by lzma_index_append(). The calculation for file_size breaks down
756     into the sum of:
757     
758     - Compressed base from all previous Streams
759     - 2 * LZMA_STREAM_HEADER_SIZE (size of the current Streams header and
760       footer)
761     - stream_padding (can be set by lzma_index_stream_padding())
762     - Compressed base from the current Stream
763     - Unpadded size (parameter to lzma_index_append())
764     
765     The sum of everything except for Unpadded size must be less than
766     LZMA_VLI_MAX. This is guarenteed by overflow checks in the functions
767     that can set these values including lzma_index_stream_padding(),
768     lzma_index_append(), and lzma_index_cat(). The maximum value for
769     Unpadded size is enforced by lzma_index_append() to be less than or
770     equal UNPADDED_SIZE_MAX. Thus, the sum cannot exceed UINT64_MAX since
771     LZMA_VLI_MAX is half of UINT64_MAX.
772     
773     Thanks to Joona Kannisto for reporting this.
774
775  src/liblzma/common/index.c | 6 ++++++
776  1 file changed, 6 insertions(+)
777
778 commit b41bb79c602481d7ea93d65f5b3e3f08dc54233b
779 Author: Jia Tan <jiat0218@gmail.com>
780 Date:   2023-08-28 22:18:29 +0800
781
782     Translations: Update the Esperanto translation.
783
784  po/eo.po | 47 +++++++++++++++++++++++++++++------------------
785  1 file changed, 29 insertions(+), 18 deletions(-)
786
787 commit 6614e6d4bf8e2b5af6eb73930148e0ffc8d2265a
788 Author: Jia Tan <jiat0218@gmail.com>
789 Date:   2023-08-09 20:55:36 +0800
790
791     Docs: Update INSTALL for --enable-threads method win95.
792     
793     The Autotools build allows win95 threads and --enable-small together now
794     if the compiler supports __attribute__((__constructor__)).
795
796  INSTALL | 6 ++++--
797  1 file changed, 4 insertions(+), 2 deletions(-)
798
799 commit bfb623ad96fa6f1dbc0c560403c4296e3c8e26c9
800 Author: Jia Tan <jiat0218@gmail.com>
801 Date:   2023-08-09 20:54:15 +0800
802
803     CMake: Conditionally allow win95 threads and --enable-small.
804
805  CMakeLists.txt | 27 +++++++++++++++++++--------
806  1 file changed, 19 insertions(+), 8 deletions(-)
807
808 commit e919ebb29ac9f5270cd7176a39d0d3b4cea875a9
809 Author: Jia Tan <jiat0218@gmail.com>
810 Date:   2023-08-09 20:35:16 +0800
811
812     Build: Conditionally allow win95 threads and --enable-small.
813     
814     When the compiler supports __attribute__((__constructor__))
815     mythread_once() is never used, even with --enable-small. A configuration
816     with win95 threads and --enable-small will compile and be thread safe so
817     it can be allowed.
818     
819     This isn't a very common configuration since MSVC does not support
820     __attribute__((__constructor__)), but MINGW32 and CLANG32 environments
821     for MSYS2 can use win95 threads and have
822     __attribute__((__constructor__)) support.
823
824  configure.ac | 21 +++++++++++++--------
825  1 file changed, 13 insertions(+), 8 deletions(-)
826
827 commit c0c0cd4a483a672b66a13761583bc4f84d86d501
828 Author: Jamaika1 <lukaszcz18@wp.pl>
829 Date:   2023-08-08 14:07:59 +0200
830
831     mythread.h: Fix typo error in Vista threads mythread_once().
832     
833     The "once_" variable was accidentally referred to as just "once". This
834     prevented building with Vista threads when
835     HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR was not defined.
836
837  src/common/mythread.h | 2 +-
838  1 file changed, 1 insertion(+), 1 deletion(-)
839
840 commit d93fbefcc48a8737fdf5678ce66d1c1d605752a0
841 Author: Jia Tan <jiat0218@gmail.com>
842 Date:   2023-08-03 20:10:21 +0800
843
844     Tests: Style fixes to test_lzip_decoder.c.
845
846  tests/test_lzip_decoder.c | 36 ++++++++++++++++++++++++------------
847  1 file changed, 24 insertions(+), 12 deletions(-)
848
849 commit 65981d8e45741fd1502e007609469e1d60312e69
850 Author: Jia Tan <jiat0218@gmail.com>
851 Date:   2023-08-03 15:56:20 +0800
852
853     Translations: Update the Chinese (simplified) translation.
854
855  po/zh_CN.po | 2 +-
856  1 file changed, 1 insertion(+), 1 deletion(-)
857
858 commit a108ed589171d683c34238a87e358b87f69e39a0
859 Author: Lasse Collin <lasse.collin@tukaani.org>
860 Date:   2023-08-02 17:15:12 +0300
861
862     xz: Omit an empty paragraph on the man page.
863
864  src/xz/xz.1 | 1 -
865  1 file changed, 1 deletion(-)
866
867 commit 03c51c5c08fe3579d8bbc8eea8251a1128001330
868 Author: Jia Tan <jiat0218@gmail.com>
869 Date:   2023-08-02 20:32:20 +0800
870
871     Bump version and soname for 5.4.4.
872
873  src/liblzma/Makefile.am        | 2 +-
874  src/liblzma/api/lzma/version.h | 2 +-
875  2 files changed, 2 insertions(+), 2 deletions(-)
876
877 commit d7fa3f1b58a77f79b1a4e12452418b5555632e18
878 Author: Jia Tan <jiat0218@gmail.com>
879 Date:   2023-08-02 20:30:07 +0800
880
881     Add NEWS for 5.4.4.
882
883  NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
884  1 file changed, 43 insertions(+)
885
886 commit 6a1093c0004c42eeaef312456c295671496dd67a
887 Author: Lasse Collin <lasse.collin@tukaani.org>
888 Date:   2023-08-02 15:19:43 +0300
889
890     build-aux/manconv.sh: Fix US-ASCII and UTF-8 output.
891     
892     groff defaults to SGR escapes. Using -P-c passes -c to grotty
893     which restores the old behavior. Perhaps there is a better way to
894     get pure plain text output but this works for now.
895
896  build-aux/manconv.sh | 4 ++--
897  1 file changed, 2 insertions(+), 2 deletions(-)
898
899 commit f6f9f5651a7e2d89f588981533155ab850e063f7
900 Author: Lasse Collin <lasse.collin@tukaani.org>
901 Date:   2023-08-01 19:10:43 +0300
902
903     Update THANKS.
904
905  THANKS | 1 +
906  1 file changed, 1 insertion(+)
907
908 commit 0dd83ba8767dad722e0f0f94e0e4146e290a28cb
909 Author: Lasse Collin <lasse.collin@tukaani.org>
910 Date:   2023-08-01 18:22:24 +0300
911
912     Update THANKS.
913
914  THANKS | 1 +
915  1 file changed, 1 insertion(+)
916
917 commit 4170a80785cc69edfc5fdfe498bed5f40db6a7ef
918 Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com>
919 Date:   2023-08-01 18:17:17 +0300
920
921     mythread.h: Disable signal functions in builds targeting Wasm + WASI.
922     
923     signal.h in WASI SDK doesn't currently provide sigprocmask()
924     or sigset_t. liblzma doesn't need them so this change makes
925     liblzma and xzdec build against WASI SDK. xz doesn't build yet
926     and the tests don't either as tuktest needs setjmp() which
927     isn't (yet?) implemented in WASI SDK.
928     
929     Closes: https://github.com/tukaani-project/xz/pull/57
930     See also: https://github.com/tukaani-project/xz/pull/56
931     
932     (The original commit was edited a little by Lasse Collin.)
933
934  src/common/mythread.h | 2 +-
935  1 file changed, 1 insertion(+), 1 deletion(-)
936
937 commit 0db6fbe0be1545a4f25fcd6993371155b37bbb26
938 Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
939 Date:   2023-07-31 14:02:21 +0200
940
941     Docs: Fix typos found by codespell
942
943  CMakeLists.txt                            | 4 ++--
944  NEWS                                      | 2 +-
945  configure.ac                              | 2 +-
946  src/liblzma/api/lzma/container.h          | 4 ++--
947  src/liblzma/api/lzma/filter.h             | 2 +-
948  src/liblzma/api/lzma/lzma12.h             | 4 ++--
949  src/liblzma/common/block_buffer_encoder.c | 2 +-
950  src/liblzma/common/common.h               | 2 +-
951  src/liblzma/common/file_info.c            | 2 +-
952  src/liblzma/common/lzip_decoder.c         | 2 +-
953  src/liblzma/common/stream_decoder_mt.c    | 8 ++++----
954  src/liblzma/common/string_conversion.c    | 6 +++---
955  src/liblzma/lz/lz_encoder.h               | 2 +-
956  src/liblzma/lzma/lzma_encoder.c           | 4 ++--
957  src/xz/hardware.c                         | 4 ++--
958  tests/test_filter_flags.c                 | 4 ++--
959  tests/test_index.c                        | 2 +-
960  tests/test_vli.c                          | 2 +-
961  18 files changed, 29 insertions(+), 29 deletions(-)
962
963 commit 84a3a1f4e4f146b3b5fa73fe708cacb0d9f829f3
964 Author: Jia Tan <jiat0218@gmail.com>
965 Date:   2023-07-26 20:26:23 +0800
966
967     Update .gitignore.
968
969  .gitignore | 4 ++++
970  1 file changed, 4 insertions(+)
971
972 commit 962b3d41e0c27355ba3052ef7b7d9a887de807e5
973 Author: Jia Tan <jiat0218@gmail.com>
974 Date:   2023-07-28 22:03:08 +0800
975
976     CMake: Conditionally allow the creation of broken symlinks.
977     
978     The CMake build will try to create broken symlinks on Unix and Unix-like
979     platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create
980     broken symlinks. The value of the CYGWIN or MSYS environment variables
981     determine if broken symlinks are valid.
982     
983     The default for MSYS2 does not allow for broken symlinks, so the CMake
984     build has been broken for MSYS2 since commit
985     80a1a8bb838842a2be343bd88ad1462c21c5e2c9.
986
987  CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
988  1 file changed, 75 insertions(+), 7 deletions(-)
989
990 commit 19899340cf74d98304f9f5b726c72e85c7017d72
991 Author: Jia Tan <jiat0218@gmail.com>
992 Date:   2023-07-24 21:43:44 +0800
993
994     liblzma: Prevent an empty translation unit in Windows builds.
995     
996     To workaround Automake lacking Windows resource compiler support, an
997     empty source file is compiled to overwrite the resource files for static
998     library builds. Translation units without an external declaration are
999     not allowed by the C standard and result in a warning when used with
1000     -Wempty-translation-unit (Clang) or -pedantic (GCC).
1001
1002  src/liblzma/Makefile.am | 6 +++++-
1003  1 file changed, 5 insertions(+), 1 deletion(-)
1004
1005 commit ef7fbe83937abd7f55f1637c1d08b559f1d3d6cc
1006 Author: Jia Tan <jiat0218@gmail.com>
1007 Date:   2023-07-21 18:05:44 +0800
1008
1009     Tests: Skip .lz files in test_files.sh if not configured.
1010     
1011     Previously if the lzip decoder was not configured then test_files.sh
1012     would pass the lzip tests instead of skipping them.
1013
1014  tests/test_files.sh | 2 +-
1015  1 file changed, 1 insertion(+), 1 deletion(-)
1016
1017 commit e49815ba7aa610b72e8724025eceee23c27e7b23
1018 Author: Jia Tan <jiat0218@gmail.com>
1019 Date:   2023-07-20 22:11:13 +0800
1020
1021     Tests: Add ARM64 filter test to test_compress.sh.
1022
1023  tests/test_compress.sh | 1 +
1024  1 file changed, 1 insertion(+)
1025
1026 commit db5b57b827c2b084586c51da1b8a3ab0984bdb40
1027 Author: Jia Tan <jiat0218@gmail.com>
1028 Date:   2023-07-22 18:37:56 +0800
1029
1030     Translations: Update the Vietnamese translation.
1031
1032  po/vi.po | 45 ++++++++++++++++++++++++++++-----------------
1033  1 file changed, 28 insertions(+), 17 deletions(-)
1034
1035 commit e6ba5014081c98cb068253b3e5f9e372dd157f3c
1036 Author: Jia Tan <jiat0218@gmail.com>
1037 Date:   2023-07-20 20:30:05 +0800
1038
1039     Translations: Update the Croatian translation.
1040
1041  po/hr.po | 49 ++++++++++++++++++++++++++++++-------------------
1042  1 file changed, 30 insertions(+), 19 deletions(-)
1043
1044 commit 82657a1f10a25050a3e9c246c41deb785cccba3a
1045 Author: Jia Tan <jiat0218@gmail.com>
1046 Date:   2023-07-20 20:28:32 +0800
1047
1048     Translations: Update the Korean man page translations.
1049
1050  po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------
1051  1 file changed, 629 insertions(+), 626 deletions(-)
1052
1053 commit fab35907d13efbe7c457e00a310123335d7bae3e
1054 Author: Jia Tan <jiat0218@gmail.com>
1055 Date:   2023-07-20 20:25:24 +0800
1056
1057     Translations: Update the Korean translation.
1058
1059  po/ko.po | 45 ++++++++++++++++++++++++++++-----------------
1060  1 file changed, 28 insertions(+), 17 deletions(-)
1061
1062 commit f530fe1964c34797fa3b775ec5804d68007c1579
1063 Author: Jia Tan <jiat0218@gmail.com>
1064 Date:   2023-07-20 20:24:05 +0800
1065
1066     Translations: Update the Polish translation.
1067
1068  po/pl.po | 47 +++++++++++++++++++++++++++++------------------
1069  1 file changed, 29 insertions(+), 18 deletions(-)
1070
1071 commit 10b3500cc2617aabdbc802a63164ce0a3683ad2b
1072 Author: Jia Tan <jiat0218@gmail.com>
1073 Date:   2023-07-20 20:22:23 +0800
1074
1075     Translations: Update the German man page translations.
1076
1077  po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------
1078  1 file changed, 629 insertions(+), 626 deletions(-)
1079
1080 commit 3d14e8a34dba176f975326924ae28a3ab5fee165
1081 Author: Jia Tan <jiat0218@gmail.com>
1082 Date:   2023-07-20 20:18:44 +0800
1083
1084     Translations: Update the German translation.
1085
1086  po/de.po | 47 +++++++++++++++++++++++++++++------------------
1087  1 file changed, 29 insertions(+), 18 deletions(-)
1088
1089 commit bdcc180a2da15039c47455c1cafd1ce9aff442e4
1090 Author: Jia Tan <jiat0218@gmail.com>
1091 Date:   2023-07-20 20:17:10 +0800
1092
1093     Translations: Update the Chinese (simplified) translation.
1094
1095  po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------
1096  1 file changed, 29 insertions(+), 18 deletions(-)
1097
1098 commit 844240350d33cb46ba8827b74dc8758e2abed9e5
1099 Author: Jia Tan <jiat0218@gmail.com>
1100 Date:   2023-07-20 20:15:47 +0800
1101
1102     Translations: Update the Swedish translation.
1103
1104  po/sv.po | 47 +++++++++++++++++++++++++++++------------------
1105  1 file changed, 29 insertions(+), 18 deletions(-)
1106
1107 commit bdc7952bcfbc20c134f723ff5cbf84ab690fb4fc
1108 Author: Jia Tan <jiat0218@gmail.com>
1109 Date:   2023-07-20 20:14:00 +0800
1110
1111     Translations: Update the Ukrainian man page translations.
1112
1113  po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------
1114  1 file changed, 628 insertions(+), 625 deletions(-)
1115
1116 commit 143396e070c8d8afb56e3a5f688b214222cf71e0
1117 Author: Jia Tan <jiat0218@gmail.com>
1118 Date:   2023-07-20 20:09:15 +0800
1119
1120     Translations: Update the Ukrainian translation.
1121
1122  po/uk.po | 45 ++++++++++++++++++++++++++++-----------------
1123  1 file changed, 28 insertions(+), 17 deletions(-)
1124
1125 commit 1b8146d64eaac51b40079f5788b85c1eb79e35de
1126 Author: Jia Tan <jiat0218@gmail.com>
1127 Date:   2023-07-20 20:06:57 +0800
1128
1129     Translations: Update the Spanish translation.
1130
1131  po/es.po | 47 +++++++++++++++++++++++++++++------------------
1132  1 file changed, 29 insertions(+), 18 deletions(-)
1133
1134 commit f947ce09d79ef8fa6549d350c4d72e4a8a9fa697
1135 Author: Jia Tan <jiat0218@gmail.com>
1136 Date:   2023-07-20 20:05:19 +0800
1137
1138     Translations: Update the Romanian translation.
1139
1140  po/ro.po | 48 ++++++++++++++++++++++++++++++------------------
1141  1 file changed, 30 insertions(+), 18 deletions(-)
1142
1143 commit f681301a368def3f597a7c7bea7cb3f7a2f933e7
1144 Author: Jia Tan <jiat0218@gmail.com>
1145 Date:   2023-07-20 20:02:56 +0800
1146
1147     Translations: Update the Romanian man page translations.
1148
1149  po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------
1150  1 file changed, 629 insertions(+), 625 deletions(-)
1151
1152 commit 8bc3146c6be920b56283f4ee846456cb34ae4b6f
1153 Author: Jia Tan <jiat0218@gmail.com>
1154 Date:   2023-07-13 21:26:47 +0800
1155
1156     xz: Update man page Authors and date.
1157
1158  src/xz/xz.1 | 5 +++--
1159  1 file changed, 3 insertions(+), 2 deletions(-)
1160
1161 commit c2905540ef905412b54c76488758712d3e2a0f9d
1162 Author: Jia Tan <jiat0218@gmail.com>
1163 Date:   2023-07-18 23:19:09 +0800
1164
1165     xz: Slight reword in xz man page for consistency.
1166     
1167     Changed will print => prints in xz --robot --version description to
1168     match --robot --info-memory description.
1169
1170  src/xz/xz.1 | 2 +-
1171  1 file changed, 1 insertion(+), 1 deletion(-)
1172
1173 commit 2600d3352449faf57d9cb3fa00cbe40548a1310f
1174 Author: Jia Tan <jiat0218@gmail.com>
1175 Date:   2023-07-18 22:49:57 +0800
1176
1177     liblzma: Improve comment in string_conversion.c.
1178     
1179     The comment used "flag" when referring to decoder options. Just
1180     referring to them as options is more clear and consistent.
1181
1182  src/liblzma/common/string_conversion.c | 4 ++--
1183  1 file changed, 2 insertions(+), 2 deletions(-)
1184
1185 commit 98fc14541eec3e1dcf694075c8533f19a3cee552
1186 Author: Jia Tan <jiat0218@gmail.com>
1187 Date:   2023-05-13 21:21:54 +0800
1188
1189     liblzma: Reword lzma_str_list_filters() documentation.
1190     
1191     Reword "options required" to "options read". The previous wording
1192     may have suggested that the options listed were all required when
1193     the filters are used for encoding or decoding. Now it should be
1194     more clear that the options listed are the ones relevant for
1195     encoding or decoding.
1196
1197  src/liblzma/api/lzma/filter.h | 2 +-
1198  1 file changed, 1 insertion(+), 1 deletion(-)
1199
1200 commit 1ac79b4cbaecf3f4930a5d8ce6f7e1f2b63c2a01
1201 Author: Lasse Collin <lasse.collin@tukaani.org>
1202 Date:   2023-07-18 17:37:33 +0300
1203
1204     xz: Translate the second "%s: " in message.c since French needs "%s : ".
1205     
1206     This string is used to print a filename when using "xz -v" and
1207     stderr isn't a terminal.
1208
1209  src/xz/message.c | 2 +-
1210  1 file changed, 1 insertion(+), 1 deletion(-)
1211
1212 commit 97851be2c6c64494f23c3a735601c13d4387820b
1213 Author: Lasse Collin <lasse.collin@tukaani.org>
1214 Date:   2023-07-18 14:35:33 +0300
1215
1216     xz: Make "%s: %s" translatable because French needs "%s : %s".
1217
1218  src/xz/args.c    |  5 ++++-
1219  src/xz/coder.c   |  8 ++++----
1220  src/xz/file_io.c |  8 ++++----
1221  src/xz/list.c    | 11 ++++++-----
1222  4 files changed, 18 insertions(+), 14 deletions(-)
1223
1224 commit b406828a6dfd3caa4f77efe3ff3e3eea263eee62
1225 Author: Lasse Collin <lasse.collin@tukaani.org>
1226 Date:   2023-07-18 13:57:54 +0300
1227
1228     liblzma: Tweak #if condition in memcmplen.h.
1229     
1230     Maybe ICC always #defines _MSC_VER on Windows but now
1231     it's very clear which code will get used.
1232
1233  src/liblzma/common/memcmplen.h | 4 ++--
1234  1 file changed, 2 insertions(+), 2 deletions(-)
1235
1236 commit ef4a07ad9434f81417395f6fe0bb331e027a703b
1237 Author: Lasse Collin <lasse.collin@tukaani.org>
1238 Date:   2023-07-18 13:49:43 +0300
1239
1240     liblzma: Omit unnecessary parenthesis in a preprocessor directive.
1241
1242  src/liblzma/common/memcmplen.h | 4 ++--
1243  1 file changed, 2 insertions(+), 2 deletions(-)
1244
1245 commit 64ee0caaea06654b28afaee850fb187a11bf9cb2
1246 Author: Jia Tan <jiat0218@gmail.com>
1247 Date:   2023-06-28 20:22:38 +0800
1248
1249     liblzma: Prevent warning for MSYS2 Windows build.
1250     
1251     In lzma_memcmplen(), the <intrin.h> header file is only included if
1252     _MSC_VER and _M_X64 are both defined but _BitScanForward64() was
1253     previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but
1254     not _MSC_VER so _BitScanForward64() was used without including
1255     <intrin.h>.
1256     
1257     Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as
1258     expected.
1259
1260  src/liblzma/common/memcmplen.h | 6 ++++--
1261  1 file changed, 4 insertions(+), 2 deletions(-)
1262
1263 commit ba177057643dae6e9c167ee26471181c199c8a00
1264 Author: Jia Tan <jiat0218@gmail.com>
1265 Date:   2023-07-14 23:20:33 +0800
1266
1267     Docs: Add a new section to INSTALL for Tests.
1268     
1269     The new Tests section describes basic information about the tests, how
1270     to run them, and important details when cross compiling. We have had a
1271     few questions about how to compile the tests without running them, so
1272     hopefully this information will help others with the same question in the
1273     future.
1274     
1275     Fixes: https://github.com/tukaani-project/xz/issues/54
1276
1277  INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------
1278  1 file changed, 64 insertions(+), 17 deletions(-)
1279
1280 commit 0745b900fafa5ac2c31e8ec3cfba3053457c8b1f
1281 Author: Jia Tan <jiat0218@gmail.com>
1282 Date:   2023-07-14 21:10:27 +0800
1283
1284     Docs: Update README.
1285     
1286     This adds an entry to "Other implementations of the .xz format" for
1287     XZ for Java.
1288
1289  README | 4 ++++
1290  1 file changed, 4 insertions(+)
1291
1292 commit c972d44103c4edf88e73917ef08bde69db9d06cb
1293 Author: Jia Tan <jiat0218@gmail.com>
1294 Date:   2023-07-18 13:27:46 +0300
1295
1296     xz: Fix typo in man page.
1297     
1298     The Memory limit information section described three output
1299     columns when it actually has six. This was reworded to
1300     "multiple" to make it more future proof.
1301
1302  src/xz/xz.1 | 2 +-
1303  1 file changed, 1 insertion(+), 1 deletion(-)
1304
1305 commit 6e21f1b4e2c580b64d258e3b81ac9e44d53b9283
1306 Author: Jia Tan <jiat0218@gmail.com>
1307 Date:   2023-07-14 21:30:25 +0800
1308
1309     Tests: Improve feature testing for skipping.
1310     
1311     Fixed a bug where test_compress_* would all fail if arm64 or armthumb
1312     filters were enabled for compression but arm was disabled. Since the
1313     grep tests only checked for "define HAVE_ENCODER_ARM", this would match
1314     on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB.
1315     
1316     Now the config.h feature test requires " 1" at the end to prevent the
1317     prefix problem. have_feature() was also updated for this even though
1318     there were known current bugs affecting it. This is just in case future
1319     features have a similar prefix problem.
1320
1321  tests/test_compress.sh | 4 ++--
1322  tests/test_files.sh    | 2 +-
1323  2 files changed, 3 insertions(+), 3 deletions(-)
1324
1325 commit 26c37d290c0884a4518a26b949575420a77fb938
1326 Author: Jia Tan <jiat0218@gmail.com>
1327 Date:   2023-07-10 20:56:28 +0800
1328
1329     Translations: Update the Chinese (traditional) translation.
1330
1331  po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++--------------------------
1332  1 file changed, 377 insertions(+), 282 deletions(-)
1333
1334 commit 2ec65181e28335692a3a4fac4fefc4303111d355
1335 Author: Jia Tan <jiat0218@gmail.com>
1336 Date:   2023-07-08 20:03:59 +0800
1337
1338     Translations: Update the Vietnamese translation.
1339
1340  po/vi.po | 620 +++++++++++++++++++++++++++++++++++----------------------------
1341  1 file changed, 349 insertions(+), 271 deletions(-)
1342
1343 commit c44c7e7590db1b89c97e106f5c516bf69189e233
1344 Author: Jia Tan <jiat0218@gmail.com>
1345 Date:   2023-06-28 20:46:31 +0800
1346
1347     Tests: Fix memory leaks in test_index.
1348     
1349     Several tests were missing calls to lzma_index_end() to clean up the
1350     lzma_index structs. The memory leaks were discovered by using
1351     -fsanitize=address with GCC.
1352
1353  tests/test_index.c | 11 +++++++++++
1354  1 file changed, 11 insertions(+)
1355
1356 commit b9499c94fccc03eba5311b5305f04149a7c5af65
1357 Author: Jia Tan <jiat0218@gmail.com>
1358 Date:   2023-06-28 20:43:29 +0800
1359
1360     Tests: Fix memory leaks in test_block_header.
1361     
1362     test_block_header was not properly freeing the filter options between
1363     calls to lzma_block_header_decode(). The memory leaks were discovered by
1364     using -fsanitize=address with GCC.
1365
1366  tests/test_block_header.c | 38 ++++++++++++++++++++++----------------
1367  1 file changed, 22 insertions(+), 16 deletions(-)
1368
1369 commit 1155471651ad456c5f90aee6435931fae65682bf
1370 Author: Jia Tan <jiat0218@gmail.com>
1371 Date:   2023-06-28 20:31:11 +0800
1372
1373     liblzma: Prevent uninitialzed warning in mt stream encoder.
1374     
1375     This change only impacts the compiler warning since it was impossible
1376     for the wait_abs struct in stream_encode_mt() to be used before it was
1377     initialized since mythread_condtime_set() will always be called before
1378     mythread_cond_timedwait().
1379     
1380     Since the mythread.h code is different between the POSIX and
1381     Windows versions, this warning was only present on Windows builds.
1382     
1383     Thanks to Arthur S for reporting the warning and providing an initial
1384     patch.
1385
1386  src/liblzma/common/stream_encoder_mt.c | 2 +-
1387  1 file changed, 1 insertion(+), 1 deletion(-)
1388
1389 commit 62dd1c9bf0c66679ceeebc8b99bca136ca43bcb9
1390 Author: Jia Tan <jiat0218@gmail.com>
1391 Date:   2023-06-07 00:10:38 +0800
1392
1393     Update THANKS.
1394
1395  THANKS | 1 +
1396  1 file changed, 1 insertion(+)
1397
1398 commit d04eb78ab3892d3678c180437dd66379efa051fd
1399 Author: Benjamin Buch <bebuch@users.noreply.github.com>
1400 Date:   2023-06-06 15:32:45 +0200
1401
1402     CMake: Protects against double find_package
1403     
1404     Boost iostream uses `find_package` in quiet mode and then again uses
1405     `find_package` with required. This second call triggers a
1406     `add_library cannot create imported target "LibLZMA::LibLZMA"
1407     because another target with the same name already exists.`
1408     
1409     This can simply be fixed by skipping the alias part on secondary
1410     `find_package` runs.
1411
1412  CMakeLists.txt | 16 +++++++++-------
1413  1 file changed, 9 insertions(+), 7 deletions(-)
1414
1415 commit 12ea1fb29763dd72376aca73d69621aff01eaa7f
1416 Author: Jia Tan <jiat0218@gmail.com>
1417 Date:   2023-05-31 20:26:42 +0800
1418
1419     Translations: Update the Esperanto translation.
1420
1421  po/eo.po | 185 +++++++++++++++++++++++++++++++--------------------------------
1422  1 file changed, 92 insertions(+), 93 deletions(-)
1423
1424 commit a4d45c07c1e4aa0ea9410b4eed7301c97e960319
1425 Author: Jia Tan <jiat0218@gmail.com>
1426 Date:   2023-05-31 20:25:00 +0800
1427
1428     Translations: Update the Croatian translation.
1429
1430  po/hr.po | 2 +-
1431  1 file changed, 1 insertion(+), 1 deletion(-)
1432
1433 commit f51b7bcea6f948db9529b3e6d850e76a30cc0e96
1434 Author: Jia Tan <jiat0218@gmail.com>
1435 Date:   2023-05-31 20:15:53 +0800
1436
1437     Translations: Update the Chinese (simplified) translation.
1438
1439  po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------
1440  1 file changed, 157 insertions(+), 160 deletions(-)
1441
1442 commit d5b81c19a7594fbb913bb3450360bc2145f29568
1443 Author: Jia Tan <jiat0218@gmail.com>
1444 Date:   2023-05-17 23:12:13 +0800
1445
1446     Translations: Update German translation of man pages.
1447
1448  po4a/de.po | 52 ++++++++++++----------------------------------------
1449  1 file changed, 12 insertions(+), 40 deletions(-)
1450
1451 commit 36860a3e30d5675b4dba3a343159458d8864bceb
1452 Author: Jia Tan <jiat0218@gmail.com>
1453 Date:   2023-05-17 23:09:18 +0800
1454
1455     Translations: Update the German translation.
1456
1457  po/de.po | 189 +++++++++++++++++++++++++++++++--------------------------------
1458  1 file changed, 94 insertions(+), 95 deletions(-)
1459
1460 commit f05641ef0d4990c4c58f459039d412475b94b37d
1461 Author: Jia Tan <jiat0218@gmail.com>
1462 Date:   2023-05-17 20:30:01 +0800
1463
1464     Translations: Update the Croatian translation.
1465
1466  po/hr.po | 187 +++++++++++++++++++++++++++++++--------------------------------
1467  1 file changed, 93 insertions(+), 94 deletions(-)
1468
1469 commit b852f6f11d43cafce871cd158c80488f86619a63
1470 Author: Jia Tan <jiat0218@gmail.com>
1471 Date:   2023-05-17 20:26:54 +0800
1472
1473     Translations: Update Korean translation of man pages.
1474
1475  po4a/ko.po | 3015 ++++++++++++------------------------------------------------
1476  1 file changed, 568 insertions(+), 2447 deletions(-)
1477
1478 commit fdcb78fb6f5313eda363869690685471d7ab9731
1479 Author: Jia Tan <jiat0218@gmail.com>
1480 Date:   2023-05-17 20:13:01 +0800
1481
1482     Translations: Update the Korean translation.
1483
1484  po/ko.po | 319 +++++++++++++++++++++++++++++++--------------------------------
1485  1 file changed, 158 insertions(+), 161 deletions(-)
1486
1487 commit 9e39cebe3ccdd4bc320ce6e7eea989bdd167c8b2
1488 Author: Jia Tan <jiat0218@gmail.com>
1489 Date:   2023-05-16 23:49:09 +0800
1490
1491     Translations: Update the Spanish translation.
1492
1493  po/es.po | 319 +++++++++++++++++++++++++++++++--------------------------------
1494  1 file changed, 158 insertions(+), 161 deletions(-)
1495
1496 commit 7a578d1d8293fc1cf7c6f9df76bc6a0e55c51a14
1497 Author: Jia Tan <jiat0218@gmail.com>
1498 Date:   2023-05-16 23:47:23 +0800
1499
1500     Translations: Update the Romanian translation.
1501
1502  po/ro.po | 195 ++++++++++++++++++++++++++++++++-------------------------------
1503  1 file changed, 98 insertions(+), 97 deletions(-)
1504
1505 commit 362320fea5383bae179763763625532bad6d10e8
1506 Author: Jia Tan <jiat0218@gmail.com>
1507 Date:   2023-05-16 23:45:43 +0800
1508
1509     Translations: Update Romanian translation of man pages.
1510
1511  po4a/ro.po | 19 ++++++++++---------
1512  1 file changed, 10 insertions(+), 9 deletions(-)
1513
1514 commit 29c5a870be23d0a565b959404b34a8b1babef7df
1515 Author: Jia Tan <jiat0218@gmail.com>
1516 Date:   2023-05-16 23:43:51 +0800
1517
1518     Translations: Update Ukrainian translation of man pages.
1519
1520  po4a/uk.po | 12 ++++++------
1521  1 file changed, 6 insertions(+), 6 deletions(-)
1522
1523 commit 5ee57572773207371712b1bbcd9b5b8c1baad2cc
1524 Author: Jia Tan <jiat0218@gmail.com>
1525 Date:   2023-05-16 23:37:54 +0800
1526
1527     Translations: Update the Ukrainian translation.
1528
1529  po/uk.po | 321 +++++++++++++++++++++++++++++++--------------------------------
1530  1 file changed, 159 insertions(+), 162 deletions(-)
1531
1532 commit dfc257bdb224780d3c8cdeca5a8e52848b9adc0a
1533 Author: Jia Tan <jiat0218@gmail.com>
1534 Date:   2023-05-16 23:07:35 +0800
1535
1536     Translations: Update the Polish translation.
1537
1538  po/pl.po | 316 +++++++++++++++++++++++++++++++--------------------------------
1539  1 file changed, 155 insertions(+), 161 deletions(-)
1540
1541 commit f6df4c4ab7378d2971ae1606f4eecc011ea5fc6d
1542 Author: Jia Tan <jiat0218@gmail.com>
1543 Date:   2023-05-16 22:52:14 +0800
1544
1545     Translations: Update the Swedish translation.
1546
1547  po/sv.po | 319 +++++++++++++++++++++++++++++++--------------------------------
1548  1 file changed, 158 insertions(+), 161 deletions(-)
1549
1550 commit 25da22e0521ec698dae4eb5e994b4cd3f4708b60
1551 Author: Jia Tan <jiat0218@gmail.com>
1552 Date:   2023-05-16 21:21:38 +0800
1553
1554     Translations: Update the Esperanto translation.
1555
1556  po/eo.po | 34 +++++++++++++++++-----------------
1557  1 file changed, 17 insertions(+), 17 deletions(-)
1558
1559 commit 4f57a9c9915b7b9267885cf9fca58e5c8208458d
1560 Author: Jia Tan <jiat0218@gmail.com>
1561 Date:   2023-05-11 23:49:23 +0800
1562
1563     liblzma: Adds lzma_nothrow to MicroLZMA API functions.
1564     
1565     None of the liblzma functions may throw an exception, so this
1566     attribute should be applied to all liblzma API functions.
1567
1568  src/liblzma/api/lzma/container.h | 5 +++--
1569  1 file changed, 3 insertions(+), 2 deletions(-)
1570
1571 commit 238b4e5458b4bd2cadefb768b8ea7c6b70a191ac
1572 Author: Jia Tan <jiat0218@gmail.com>
1573 Date:   2023-05-04 20:38:52 +0800
1574
1575     Translations: Update the Croatian translation.
1576
1577  po/hr.po | 6 +++---
1578  1 file changed, 3 insertions(+), 3 deletions(-)
1579
1580 commit 0cee63c3c6c4f9084a5e7fa7c15a1863ac8e5ffc
1581 Author: Jia Tan <jiat0218@gmail.com>
1582 Date:   2023-05-04 19:50:42 +0800
1583
1584     Bump version and soname for 5.4.3.
1585
1586  src/liblzma/Makefile.am        | 2 +-
1587  src/liblzma/api/lzma/version.h | 2 +-
1588  2 files changed, 2 insertions(+), 2 deletions(-)
1589
1590 commit 01f937ea9a49005c5091c0165fa0c1e572dd1749
1591 Author: Jia Tan <jiat0218@gmail.com>
1592 Date:   2023-05-02 20:39:56 +0800
1593
1594     Add NEWS for 5.4.3.
1595
1596  NEWS | 10 ++++++++++
1597  1 file changed, 10 insertions(+)
1598
1599 commit e9b9ea953179502d5245b4e6ca4f5ffe9d5797b1
1600 Author: Lasse Collin <lasse.collin@tukaani.org>
1601 Date:   2023-05-03 22:46:42 +0300
1602
1603     tuklib_integer.h: Fix a recent copypaste error in Clang detection.
1604     
1605     Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7.
1606     Also, this has >= instead of == since ints larger than 32 bits would
1607     work too even if not relevant in practice.
1608
1609  src/common/tuklib_integer.h | 4 ++--
1610  1 file changed, 2 insertions(+), 2 deletions(-)
1611
1612 commit be6e39a8622f0d905072874ec25b1ffd155b12e1
1613 Author: Jia Tan <jiat0218@gmail.com>
1614 Date:   2023-04-20 20:15:00 +0800
1615
1616     Update THANKS.
1617
1618  THANKS | 1 +
1619  1 file changed, 1 insertion(+)
1620
1621 commit 9e343a46cf87a345799222c0b0b3a6f3358dde0c
1622 Author: Jia Tan <jiat0218@gmail.com>
1623 Date:   2023-04-19 22:22:16 +0800
1624
1625     Windows: Include <intrin.h> when needed.
1626     
1627     Legacy Windows did not need to #include <intrin.h> to use the MSVC
1628     intrinsics. Newer versions likely just issue a warning, but the MSVC
1629     documentation says to include the header file for the intrinsics we use.
1630     
1631     GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are
1632     needed in tuklib_integer.h to only include <intrin.h> when it will is
1633     actually needed.
1634
1635  src/common/tuklib_integer.h    |  6 ++++++
1636  src/liblzma/common/memcmplen.h | 10 ++++++++++
1637  2 files changed, 16 insertions(+)
1638
1639 commit 12321a9390acc076b414035a46df9d7545ac379f
1640 Author: Jia Tan <jiat0218@gmail.com>
1641 Date:   2023-04-19 21:59:03 +0800
1642
1643     tuklib_integer: Use __builtin_clz() with Clang.
1644     
1645     Clang has support for __builtin_clz(), but previously Clang would
1646     fallback to either the MSVC intrinsic or the regular C code. This was
1647     discovered due to a bug where a new version of Clang required the
1648     <intrin.h> header file in order to use the MSVC intrinsics.
1649     
1650     Thanks to Anton Kochkov for notifying us about the bug.
1651
1652  src/common/tuklib_integer.h | 6 +++---
1653  1 file changed, 3 insertions(+), 3 deletions(-)
1654
1655 commit d1f0e01c395960efd6c29ff144eda4f4c8c1c6d3
1656 Author: Lasse Collin <lasse.collin@tukaani.org>
1657 Date:   2023-04-14 18:42:33 +0300
1658
1659     liblzma: Update project maintainers in lzma.h.
1660     
1661     AUTHORS was updated earlier, lzma.h was simply forgotten.
1662
1663  src/liblzma/api/lzma.h | 2 +-
1664  1 file changed, 1 insertion(+), 1 deletion(-)
1665
1666 commit 8204c5d1304e1e3b7487801b4acaf8e3179a6c52
1667 Author: Jia Tan <jiat0218@gmail.com>
1668 Date:   2023-04-13 20:45:19 +0800
1669
1670     liblzma: Cleans up old commented out code.
1671
1672  src/liblzma/common/alone_encoder.c | 11 -----------
1673  1 file changed, 11 deletions(-)
1674
1675 commit 32980d1562bc031013306be1c787761fa63da87d
1676 Author: Jia Tan <jiat0218@gmail.com>
1677 Date:   2023-03-28 22:32:40 +0800
1678
1679     CMake: Update liblzma-config.cmake generation.
1680     
1681     Now that the threading is configurable, the liblzma CMake package only
1682     needs the threading library when using POSIX threads.
1683
1684  CMakeLists.txt | 33 ++++++++++++++++++++++-----------
1685  1 file changed, 22 insertions(+), 11 deletions(-)
1686
1687 commit 023907faa965476fb921a6344253c50e0ba795f9
1688 Author: Jia Tan <jiat0218@gmail.com>
1689 Date:   2023-03-28 22:25:33 +0800
1690
1691     CMake: Allows setting thread method.
1692     
1693     The thread method is now configurable for the CMake build. It matches
1694     the Autotools build by allowing ON (pick the best threading method),
1695     OFF (no threading), posix, win95, and vista. If both Windows and
1696     posix threading are both available, then ON will choose Windows
1697     threading. Windows threading will also not use:
1698     
1699     target_link_libraries(liblzma Threads::Threads)
1700     
1701     since on systems like MinGW-w64 it would link the posix threads
1702     without purpose.
1703
1704  CMakeLists.txt | 144 +++++++++++++++++++++++++++++++++++++++++----------------
1705  1 file changed, 104 insertions(+), 40 deletions(-)
1706
1707 commit ba176d77cbb164b13006516660fc1ff6c59dedb5
1708 Author: Jia Tan <jiat0218@gmail.com>
1709 Date:   2023-03-24 20:05:59 +0800
1710
1711     CMake: Only build xzdec if decoders are enabled.
1712
1713  CMakeLists.txt | 2 +-
1714  1 file changed, 1 insertion(+), 1 deletion(-)
1715
1716 commit c99d697df800e9bc47e09facf88bcfdb9e0264a5
1717 Author: Jia Tan <jiat0218@gmail.com>
1718 Date:   2023-03-22 15:42:04 +0800
1719
1720     Build: Removes redundant check for LZMA1 filter support.
1721
1722  src/liblzma/lzma/Makefile.inc | 5 +----
1723  1 file changed, 1 insertion(+), 4 deletions(-)
1724
1725 commit 54a2fd8c850e626343b79c4cc8fcac2f638ec890
1726 Author: Lasse Collin <lasse.collin@tukaani.org>
1727 Date:   2023-03-23 15:14:29 +0200
1728
1729     CMake: Bump maximum policy version to 3.26.
1730     
1731     It adds only one new policy related to FOLDERS which we don't use.
1732     This makes it clear that the code is compatible with the policies
1733     up to 3.26.
1734
1735  CMakeLists.txt | 2 +-
1736  1 file changed, 1 insertion(+), 1 deletion(-)
1737
1738 commit 622d0fdc02d5f565c2872d79bc70c669c95c8284
1739 Author: Jia Tan <jiat0218@gmail.com>
1740 Date:   2023-03-21 23:36:00 +0800
1741
1742     CMake: Conditionally build xz list.* files if decoders are enabled.
1743
1744  CMakeLists.txt | 9 +++++++--
1745  1 file changed, 7 insertions(+), 2 deletions(-)
1746
1747 commit 3e2dc523c596cd770a6a7c58cacc0d0d8761e853
1748 Author: Jia Tan <jiat0218@gmail.com>
1749 Date:   2023-02-25 11:46:50 +0800
1750
1751     CMake: Allow configuring features as cache variables.
1752     
1753     This allows users to change the features they build either in
1754     CMakeCache.txt or by using a CMake GUI. The sources built for
1755     liblzma are affected by this too, so only the necessary files
1756     will be compiled.
1757
1758  CMakeLists.txt | 528 ++++++++++++++++++++++++++++++++++++++++++---------------
1759  1 file changed, 391 insertions(+), 137 deletions(-)
1760
1761 commit 0c053f97337fa4ead77acefb577e8e86f8ef388d
1762 Author: Lasse Collin <lasse.collin@tukaani.org>
1763 Date:   2023-03-21 14:07:51 +0200
1764
1765     Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69.
1766     
1767     It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC
1768     but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler.
1769
1770  configure.ac | 3 +++
1771  1 file changed, 3 insertions(+)
1772
1773 commit 915d4f6058d52f84d2b58b0a5f3c8272eaa6c1bd
1774 Author: Lasse Collin <lasse.collin@tukaani.org>
1775 Date:   2023-03-21 14:04:37 +0200
1776
1777     Build: configure.ac: Use AS_IF and AS_CASE where required.
1778     
1779     This makes no functional difference in the generated configure
1780     (at least with the Autotools versions I have installed) but this
1781     change might prevent future bugs like the one that was just
1782     fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294.
1783
1784  configure.ac | 30 +++++++++++++++---------------
1785  1 file changed, 15 insertions(+), 15 deletions(-)
1786
1787 commit b848c039586ed2cddb6fb033680dac107cc5143f
1788 Author: Lasse Collin <lasse.collin@tukaani.org>
1789 Date:   2023-03-21 13:12:03 +0200
1790
1791     Update THANKS.
1792
1793  THANKS | 1 +
1794  1 file changed, 1 insertion(+)
1795
1796 commit c775ba1602a74f29dbc2088bbe4d02c23fc32ba1
1797 Author: Lasse Collin <lasse.collin@tukaani.org>
1798 Date:   2023-03-21 13:11:49 +0200
1799
1800     Build: Fix --disable-threads breaking the building of shared libs.
1801     
1802     This is broken in the releases 5.2.6 to 5.4.2. A workaround
1803     for these releases is to pass EGREP='grep -E' as an argument
1804     to configure in addition to --disable-threads.
1805     
1806     The problem appeared when m4/ax_pthread.m4 was updated in
1807     the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which
1808     introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls
1809     AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP
1810     but this was only executed if POSIX threads were enabled.
1811     Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf
1812     omits it as AC_PROG_EGREP has already been required earlier.
1813     Thus, if not using POSIX threads, the shell variable EGREP
1814     would be undefined in the Libtool code in configure.
1815     
1816     ax_pthread.m4 is fine. The bug was in configure.ac which called
1817     AX_PTHREAD conditionally in an incorrect way. Using AS_CASE
1818     ensures that all AC_REQUIREs get always run.
1819     
1820     Thanks to Frank Busse for reporting the bug.
1821     Fixes: https://github.com/tukaani-project/xz/issues/45
1822
1823  configure.ac | 16 ++++++++--------
1824  1 file changed, 8 insertions(+), 8 deletions(-)
1825
1826 commit 0673c9ec98b6bae12b33dc295564514aaa26e2fc
1827 Author: Lasse Collin <lasse.collin@tukaani.org>
1828 Date:   2023-03-19 22:45:59 +0200
1829
1830     liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h.
1831     
1832     Thanks to Christian Hesse for reporting the issue.
1833     Fixes: https://github.com/tukaani-project/xz/issues/44
1834
1835  src/liblzma/common/memcmplen.h | 3 ++-
1836  1 file changed, 2 insertions(+), 1 deletion(-)
1837
1838 commit 6ca8046ecbc7a1c81ee08f544bfd1414819fb2e8
1839 Author: Jia Tan <jiat0218@gmail.com>
1840 Date:   2023-03-18 23:22:06 +0800
1841
1842     Bump version and soname for 5.4.2.
1843
1844  src/liblzma/Makefile.am        | 2 +-
1845  src/liblzma/api/lzma/version.h | 2 +-
1846  2 files changed, 2 insertions(+), 2 deletions(-)
1847
1848 commit ce4f246600db10e77fc93d492ea045b4c9830bc6
1849 Author: Jia Tan <jiat0218@gmail.com>
1850 Date:   2023-03-18 22:10:57 +0800
1851
1852     Add NEWS for 5.4.2.
1853
1854  NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1855  1 file changed, 48 insertions(+)
1856
1857 commit 3634fe330788fc0df217acdb6581031a851600a3
1858 Author: Lasse Collin <lasse.collin@tukaani.org>
1859 Date:   2023-03-18 16:00:54 +0200
1860
1861     Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3.
1862
1863  COPYING.GPLv3 | 8 ++++----
1864  1 file changed, 4 insertions(+), 4 deletions(-)
1865
1866 commit 97679d25ce7cb014328f1455bb338903c003d54f
1867 Author: Lasse Collin <lasse.collin@tukaani.org>
1868 Date:   2023-03-18 15:51:57 +0200
1869
1870     Change a few HTTP URLs to HTTPS.
1871     
1872     The xz man page timestamp was intentionally left unchanged.
1873
1874  INSTALL                    |  2 +-
1875  README                     |  8 ++++----
1876  configure.ac               |  2 +-
1877  dos/INSTALL.txt            |  4 ++--
1878  src/liblzma/api/lzma.h     |  8 ++++----
1879  src/liblzma/check/sha256.c |  2 +-
1880  src/xz/xz.1                |  2 +-
1881  windows/INSTALL-MinGW.txt  | 10 +++++-----
1882  8 files changed, 19 insertions(+), 19 deletions(-)
1883
1884 commit 01a67e89a56c3ebf5f6681bd06f0edc22a1ae594
1885 Author: Jia Tan <jiat0218@gmail.com>
1886 Date:   2023-03-18 00:40:28 +0800
1887
1888     CMake: Fix typo in a comment.
1889
1890  CMakeLists.txt | 2 +-
1891  1 file changed, 1 insertion(+), 1 deletion(-)
1892
1893 commit 5dca3f5cbab31105196c89cd6df0a9bbc3307c05
1894 Author: Lasse Collin <lasse.collin@tukaani.org>
1895 Date:   2023-03-17 18:36:22 +0200
1896
1897     Windows: build.bash: Copy liblzma API docs to the output package.
1898
1899  windows/build.bash | 3 ++-
1900  1 file changed, 2 insertions(+), 1 deletion(-)
1901
1902 commit ae252862b30b509ab88b2bbcaa08e8d51b57e928
1903 Author: Lasse Collin <lasse.collin@tukaani.org>
1904 Date:   2023-03-17 08:53:38 +0200
1905
1906     Windows: Add microlzma_*.c to the VS project files.
1907     
1908     These should have been included in 5.3.2alpha already.
1909
1910  windows/vs2013/liblzma.vcxproj     | 2 ++
1911  windows/vs2013/liblzma_dll.vcxproj | 2 ++
1912  windows/vs2017/liblzma.vcxproj     | 2 ++
1913  windows/vs2017/liblzma_dll.vcxproj | 2 ++
1914  windows/vs2019/liblzma.vcxproj     | 2 ++
1915  windows/vs2019/liblzma_dll.vcxproj | 2 ++
1916  6 files changed, 12 insertions(+)
1917
1918 commit 147d282cc3733e2723df82622b6540ddfb52635e
1919 Author: Lasse Collin <lasse.collin@tukaani.org>
1920 Date:   2023-03-17 08:43:51 +0200
1921
1922     CMake: Add microlzma_*.c to the build.
1923     
1924     These should have been included in 5.3.2alpha already.
1925
1926  CMakeLists.txt | 2 ++
1927  1 file changed, 2 insertions(+)
1928
1929 commit 4523a5ee29f45c0256af67a15771bc8bbd25ba53
1930 Author: Lasse Collin <lasse.collin@tukaani.org>
1931 Date:   2023-03-17 08:41:36 +0200
1932
1933     Build: Update comments about unaligned access to mention 64-bit.
1934
1935  cmake/tuklib_integer.cmake | 7 +++----
1936  m4/tuklib_integer.m4       | 4 ++--
1937  2 files changed, 5 insertions(+), 6 deletions(-)
1938
1939 commit 82aacb40367dc580b09c5a7b270f6c98b63e49b9
1940 Author: Lasse Collin <lasse.collin@tukaani.org>
1941 Date:   2023-03-17 00:02:30 +0200
1942
1943     Tests: Update .gitignore.
1944
1945  .gitignore | 3 ++-
1946  1 file changed, 2 insertions(+), 1 deletion(-)
1947
1948 commit 5d022c24921eec938604a8cb10d70aa08dbd8575
1949 Author: Lasse Collin <lasse.collin@tukaani.org>
1950 Date:   2023-03-14 20:04:03 +0200
1951
1952     po4a/update-po: Display the script name consistently in error messages.
1953
1954  po4a/update-po | 2 +-
1955  1 file changed, 1 insertion(+), 1 deletion(-)
1956
1957 commit 896295117324f323c0b8db6a31ad6ebfaa88793d
1958 Author: Jia Tan <jiat0218@gmail.com>
1959 Date:   2023-03-17 01:30:36 +0800
1960
1961     Doc: Rename Doxygen HTML doc directory name liblzma => api.
1962     
1963     When the docs are installed, calling the directory "liblzma" is
1964     confusing since multiple other files in the doc directory are for
1965     liblzma. This should also make it more natural for distros when they
1966     package the documentation.
1967
1968  .gitignore             |  2 +-
1969  Makefile.am            | 18 +++++++++---------
1970  PACKAGERS              |  4 ++--
1971  doxygen/Doxyfile       |  2 +-
1972  doxygen/update-doxygen | 18 +++++++++---------
1973  5 files changed, 22 insertions(+), 22 deletions(-)
1974
1975 commit 94097157fae308b2c1a5edb4e8597c68b45eeaea
1976 Author: Jia Tan <jiat0218@gmail.com>
1977 Date:   2023-03-16 22:07:15 +0800
1978
1979     liblzma: Remove note from lzma_options_bcj about the ARM64 exception.
1980     
1981     This was left in by mistake since an early version of the ARM64 filter
1982     used a different struct for its options.
1983
1984  src/liblzma/api/lzma/bcj.h | 2 +-
1985  1 file changed, 1 insertion(+), 1 deletion(-)
1986
1987 commit da16d0b73b79d7785ece6f78a577fadd1fb59d0e
1988 Author: Lasse Collin <lasse.collin@tukaani.org>
1989 Date:   2023-03-15 19:19:13 +0200
1990
1991     COPYING: Add a note about the included Doxygen-generated HTML.
1992
1993  COPYING | 11 +++++++++++
1994  1 file changed, 11 insertions(+)
1995
1996 commit e57c74f9ef19201f72c106f2c347596f40229936
1997 Author: Jia Tan <jiat0218@gmail.com>
1998 Date:   2023-03-16 21:41:09 +0800
1999
2000     Doc: Update PACKAGERS with details about liblzma API docs install.
2001
2002  PACKAGERS | 22 ++++++++++++++++------
2003  1 file changed, 16 insertions(+), 6 deletions(-)
2004
2005 commit 7e2fa48bb73edb25457232e2e62a4f81c6b95281
2006 Author: Jia Tan <jiat0218@gmail.com>
2007 Date:   2023-03-16 21:38:32 +0800
2008
2009     liblzma: Add set lzma.h as the main page for Doxygen documentation.
2010     
2011     The \mainpage command is used in the first block of comments in lzma.h.
2012     This changes the previously nearly empty index.html to use the first
2013     comment block in lzma.h for its contents.
2014     
2015     lzma.h is no longer documented separately, but this is for the better
2016     since lzma.h only defined a few macros that users do not need to use.
2017     The individual API header files all have a disclaimer that they should
2018     not be #included directly, so there should be no confusion on the fact
2019     that lzma.h should be the only header used by applications.
2020     
2021     Additionally, the note "See ../lzma.h for information about liblzma as
2022     a whole." was removed since lzma.h is now the main page of the
2023     generated HTML and does not have its own page anymore. So it would be
2024     confusing in the HTML version and was only a "nice to have" when
2025     browsing the source files.
2026
2027  src/liblzma/api/lzma.h              | 1 +
2028  src/liblzma/api/lzma/base.h         | 2 --
2029  src/liblzma/api/lzma/bcj.h          | 2 --
2030  src/liblzma/api/lzma/block.h        | 2 --
2031  src/liblzma/api/lzma/check.h        | 2 --
2032  src/liblzma/api/lzma/container.h    | 2 --
2033  src/liblzma/api/lzma/delta.h        | 2 --
2034  src/liblzma/api/lzma/filter.h       | 2 --
2035  src/liblzma/api/lzma/hardware.h     | 2 --
2036  src/liblzma/api/lzma/index.h        | 2 --
2037  src/liblzma/api/lzma/index_hash.h   | 4 +---
2038  src/liblzma/api/lzma/lzma12.h       | 2 --
2039  src/liblzma/api/lzma/stream_flags.h | 2 --
2040  src/liblzma/api/lzma/version.h      | 2 --
2041  src/liblzma/api/lzma/vli.h          | 2 --
2042  15 files changed, 2 insertions(+), 29 deletions(-)
2043
2044 commit d42977c7acfdf7fd9acc8803cf411eca7dc10478
2045 Author: Jia Tan <jiat0218@gmail.com>
2046 Date:   2023-03-16 21:37:32 +0800
2047
2048     Build: Generate doxygen documentation in autogen.sh.
2049     
2050     Another command line option (--no-doxygen) was added to disable
2051     creating the doxygen documenation in cases where it not wanted or
2052     if the doxygen tool is not installed.
2053
2054  autogen.sh | 35 +++++++++++++++++++++++++++++------
2055  1 file changed, 29 insertions(+), 6 deletions(-)
2056
2057 commit 8fc712fcf41d821069c670f22b8bf628e7a4a877
2058 Author: Jia Tan <jiat0218@gmail.com>
2059 Date:   2023-03-16 21:35:55 +0800
2060
2061     Build: Create doxygen/update-doxygen script.
2062     
2063     This is a helper script to generate the Doxygen documentation. It can be
2064     run in 'liblzma' or 'internal' mode by setting the first argument. It
2065     will default to 'liblzma' mode and only generate documentation for the
2066     liblzma API header files.
2067     
2068     The helper script will be run during the custom mydist hook when we
2069     create releases. This hook already alters the source directory, so its
2070     fine to do it here too. This way, we can include the Doxygen generated
2071     files in the distrubtion and when installing.
2072     
2073     In 'liblzma' mode, the JavaScript is stripped from the .html files and
2074     the .js files are removed. This avoids license hassle from jQuery and
2075     other libraries that Doxygen 1.9.6 puts into jquery.js in minified form.
2076
2077  Makefile.am            |   1 +
2078  doxygen/update-doxygen | 111 +++++++++++++++++++++++++++++++++++++++++++++++++
2079  2 files changed, 112 insertions(+)
2080
2081 commit 77d2c025d19fbac7277c63239cfb1338f02c66c0
2082 Author: Jia Tan <jiat0218@gmail.com>
2083 Date:   2023-03-16 21:34:36 +0800
2084
2085     Build: Install Doxygen docs and include in distribution if generated.
2086     
2087     Added a install-data-local target to install the Doxygen documentation
2088     only when it has been generated. In order to correctly remove the docs,
2089     a corresponding uninstall-local target was added.
2090     
2091     If the doxygen docs exist in the source tree, they will also be included
2092     in the distribution now too.
2093
2094  Makefile.am | 18 ++++++++++++++++++
2095  1 file changed, 18 insertions(+)
2096
2097 commit 9af8f6f947a43974a4ff025f4c896f2fb4c91b4f
2098 Author: Jia Tan <jiat0218@gmail.com>
2099 Date:   2023-01-03 20:37:30 +0800
2100
2101     Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile.
2102     
2103     Instead of having Doxyfile.in configured by Autoconf, the Doxyfile
2104     can have the tags that need to be configured piped into the doxygen
2105     command through stdin with the overrides after Doxyfile's contents.
2106     
2107     Going forward, the documentation should be generated in two different
2108     modes: liblzma or internal.
2109     
2110     liblzma is useful for most users. It is the documentation for just
2111     the liblzma API header files. This is the default.
2112     
2113     internal is for people who want to understand how xz and liblzma work.
2114     It might be useful for people who want to contribute to the project.
2115
2116  .gitignore       |    3 +-
2117  Doxyfile.in      | 1234 -------------------------
2118  Makefile.am      |    1 -
2119  configure.ac     |    1 -
2120  doxygen/Doxyfile | 2684 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2121  5 files changed, 2686 insertions(+), 1237 deletions(-)
2122
2123 commit 1c558a26928b753fcf1c0d4bce9c0643285edd86
2124 Author: Jia Tan <jiat0218@gmail.com>
2125 Date:   2023-02-28 23:22:36 +0800
2126
2127     Tests: Remove unused macros and functions.
2128
2129  tests/tests.h | 75 -----------------------------------------------------------
2130  1 file changed, 75 deletions(-)
2131
2132 commit 7479a69a45a1b8fdb9a209e11f247dce11ac1ba0
2133 Author: Jia Tan <jiat0218@gmail.com>
2134 Date:   2023-01-12 22:29:07 +0800
2135
2136     Tests: Refactors existing lzma_index tests.
2137     
2138     Converts the existing lzma_index tests into tuktests and covers every
2139     API function from index.h except for lzma_file_info_decoder, which can
2140     be tested in the future.
2141
2142  tests/test_index.c | 2036 ++++++++++++++++++++++++++++++++++++++--------------
2143  1 file changed, 1492 insertions(+), 544 deletions(-)
2144
2145 commit fd56d5353360279c10e8e5e05f5bc6ea03f64584
2146 Author: Lasse Collin <lasse.collin@tukaani.org>
2147 Date:   2023-03-07 19:59:23 +0200
2148
2149     xz: Make Capsicum sandbox more strict with stdin and stdout.
2150
2151  src/xz/file_io.c | 8 ++++++++
2152  1 file changed, 8 insertions(+)
2153
2154 commit d1bdaaebc68cae7f0ba457fa990b520df2186fd1
2155 Author: Lasse Collin <lasse.collin@tukaani.org>
2156 Date:   2023-03-11 19:31:40 +0200
2157
2158     xz: Don't fail if Capsicum is enabled but kernel doesn't support it.
2159     
2160     (This commit combines related commits from the master branch.)
2161     
2162     If Capsicum support is missing from the kernel or xz is being run
2163     in an emulator that lacks Capsicum suport, the syscalls will fail
2164     and set errno to ENOSYS. Previously xz would display and error and
2165     exit, making xz unusable. Now it will check for ENOSYS and run
2166     without sandbox support. Other tools like ssh behave similarly.
2167     
2168     Displaying a warning for missing Capsicum support was considered
2169     but such extra output would quickly become annoying. It would also
2170     break test_scripts.sh in "make check".
2171     
2172     Also move cap_enter() to be the first step instead of the last one.
2173     This matches the example in the cap_rights_limit(2) man page. With
2174     the current code it shouldn't make any practical difference though.
2175     
2176     Thanks to Xin Li for the bug report, suggesting a fix, and testing:
2177     https://github.com/tukaani-project/xz/pull/43
2178     
2179     Thanks to Jia Tan for most of the original commits.
2180
2181  src/xz/file_io.c | 15 ++++++++++++---
2182  1 file changed, 12 insertions(+), 3 deletions(-)
2183
2184 commit 5d351c69c19d212ddd2cf1f3bdb24900820c6776
2185 Author: Jia Tan <jiat0218@gmail.com>
2186 Date:   2023-02-04 21:06:35 +0800
2187
2188     Build: Adjust CMake version search regex.
2189     
2190     Now, the LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, and LZMA_VERSION_PATCH
2191     macros do not need to be on consecutive lines in version.h. They can be
2192     separated by more whitespace, comments, or even other content, as long
2193     as they appear in the proper order (major, minor, patch).
2194
2195  CMakeLists.txt | 2 ++
2196  1 file changed, 2 insertions(+)
2197
2198 commit b82d4831e3f2339c4cdbc47776c99462088c11b7
2199 Author: Jia Tan <jiat0218@gmail.com>
2200 Date:   2023-01-26 09:50:21 +0800
2201
2202     liblzma: Improve documentation for version.h.
2203     
2204     Specified parameter and return values for API functions and documented
2205     a few more of the macros.
2206
2207  src/liblzma/api/lzma/version.h | 29 ++++++++++++++++++++++-------
2208  1 file changed, 22 insertions(+), 7 deletions(-)
2209
2210 commit 2caba3efe3e0c2d7c6dca00e22c56812326a34e6
2211 Author: Jia Tan <jiat0218@gmail.com>
2212 Date:   2023-02-24 23:46:23 +0800
2213
2214     liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h.
2215     
2216     lzma_lzma_preset() does not guarentee that the lzma_options_lzma are
2217     usable in an encoder even if it returns false (success). If liblzma
2218     is built with default configurations, then the options will always be
2219     usable. However if the match finders hc3, hc4, or bt4 are disabled, then
2220     the options may not be usable depending on the preset level requested.
2221     
2222     The documentation was updated to reflect this complexity, since this
2223     behavior was unclear before.
2224
2225  src/liblzma/api/lzma/lzma12.h | 5 +++++
2226  1 file changed, 5 insertions(+)
2227
2228 commit 594f904673ba55a833adfa60bbab6b60d4902d08
2229 Author: Lasse Collin <lasse.collin@tukaani.org>
2230 Date:   2023-02-27 18:38:35 +0200
2231
2232     CMake: Require that the C compiler supports C99 or a newer standard.
2233     
2234     Thanks to autoantwort for reporting the issue and suggesting
2235     a different patch:
2236     https://github.com/tukaani-project/xz/pull/42
2237
2238  CMakeLists.txt | 8 ++++++++
2239  1 file changed, 8 insertions(+)
2240
2241 commit 88101143cb774bca6b7006c8335b09dc3f334140
2242 Author: Jia Tan <jiat0218@gmail.com>
2243 Date:   2023-02-24 18:10:37 +0800
2244
2245     Tests: Small tweak to test-vli.c.
2246     
2247     The static global variables can be disabled if encoders and decoders
2248     are not built. If they are not disabled and -Werror is used, it will
2249     cause an usused warning as an error.
2250
2251  tests/test_vli.c | 2 ++
2252  1 file changed, 2 insertions(+)
2253
2254 commit 4042dbf03a06e019ccdd1e9d1b94cf613d62d5a9
2255 Author: Jia Tan <jiat0218@gmail.com>
2256 Date:   2023-02-06 21:46:43 +0800
2257
2258     liblzma: Replace '\n' -> newline in filter.h documentation.
2259     
2260     The '\n' renders as a newline when the comments are converted to html
2261     by Doxygen.
2262
2263  src/liblzma/api/lzma/filter.h | 2 +-
2264  1 file changed, 1 insertion(+), 1 deletion(-)
2265
2266 commit 3971f5c5024750ce8286891c6f79ae1661047483
2267 Author: Jia Tan <jiat0218@gmail.com>
2268 Date:   2023-02-06 21:45:37 +0800
2269
2270     liblzma: Shorten return description for two functions in filter.h.
2271     
2272     Shorten the description for lzma_raw_encoder_memusage() and
2273     lzma_raw_decoder_memusage().
2274
2275  src/liblzma/api/lzma/filter.h | 8 ++------
2276  1 file changed, 2 insertions(+), 6 deletions(-)
2277
2278 commit 5e61b39432752b6cd1a7b518f0f9e4f0c3f0f242
2279 Author: Jia Tan <jiat0218@gmail.com>
2280 Date:   2023-02-06 21:44:45 +0800
2281
2282     liblzma: Reword a few lines in filter.h
2283
2284  src/liblzma/api/lzma/filter.h | 10 +++++-----
2285  1 file changed, 5 insertions(+), 5 deletions(-)
2286
2287 commit 8a53533869defa1191b41f176a0312cb53a139e2
2288 Author: Jia Tan <jiat0218@gmail.com>
2289 Date:   2023-02-06 21:35:06 +0800
2290
2291     liblzma: Improve documentation in filter.h.
2292     
2293     All functions now explicitly specify parameter and return values.
2294     The notes and code annotations were moved before the parameter and
2295     return value descriptions for consistency.
2296     
2297     Also, the description above lzma_filter_encoder_is_supported() about
2298     not being able to list available filters was removed since
2299     lzma_str_list_filters() will do this.
2300
2301  src/liblzma/api/lzma/filter.h | 226 ++++++++++++++++++++++++++----------------
2302  1 file changed, 143 insertions(+), 83 deletions(-)
2303
2304 commit 6d05b08b17ac8cb93165ee8f310fdd925b0b258f
2305 Author: Lasse Collin <lasse.collin@tukaani.org>
2306 Date:   2023-02-23 20:46:16 +0200
2307
2308     Update THANKS.
2309
2310  THANKS | 1 +
2311  1 file changed, 1 insertion(+)
2312
2313 commit dfc9a54082e0fc7b3b796ea15336b5075acc79d5
2314 Author: Lasse Collin <lasse.collin@tukaani.org>
2315 Date:   2023-02-21 22:57:10 +0200
2316
2317     liblzma: Avoid null pointer + 0 (undefined behavior in C).
2318     
2319     In the C99 and C17 standards, section 6.5.6 paragraph 8 means that
2320     adding 0 to a null pointer is undefined behavior. As of writing,
2321     "clang -fsanitize=undefined" (Clang 15) diagnoses this. However,
2322     I'm not aware of any compiler that would take advantage of this
2323     when optimizing (Clang 15 included). It's good to avoid this anyway
2324     since compilers might some day infer that pointer arithmetic implies
2325     that the pointer is not NULL. That is, the following foo() would then
2326     unconditionally return 0, even for foo(NULL, 0):
2327     
2328         void bar(char *a, char *b);
2329     
2330         int foo(char *a, size_t n)
2331         {
2332             bar(a, a + n);
2333             return a == NULL;
2334         }
2335     
2336     In contrast to C, C++ explicitly allows null pointer + 0. So if
2337     the above is compiled as C++ then there is no undefined behavior
2338     in the foo(NULL, 0) call.
2339     
2340     To me it seems that changing the C standard would be the sane
2341     thing to do (just add one sentence) as it would ensure that a huge
2342     amount of old code won't break in the future. Based on web searches
2343     it seems that a large number of codebases (where null pointer + 0
2344     occurs) are being fixed instead to be future-proof in case compilers
2345     will some day optimize based on it (like making the above foo(NULL, 0)
2346     return 0) which in the worst case will cause security bugs.
2347     
2348     Some projects don't plan to change it. For example, gnulib and thus
2349     many GNU tools currently require that null pointer + 0 is defined:
2350     
2351         https://lists.gnu.org/archive/html/bug-gnulib/2021-11/msg00000.html
2352     
2353         https://www.gnu.org/software/gnulib/manual/html_node/Other-portability-assumptions.html
2354     
2355     In XZ Utils null pointer + 0 issue should be fixed after this
2356     commit. This adds a few if-statements and thus branches to avoid
2357     null pointer + 0. These check for size > 0 instead of ptr != NULL
2358     because this way bugs where size > 0 && ptr == NULL will likely
2359     get caught quickly. None of them are in hot spots so it shouldn't
2360     matter for performance.
2361     
2362     A little less readable version would be replacing
2363     
2364         ptr + offset
2365     
2366     with
2367     
2368         offset != 0 ? ptr + offset : ptr
2369     
2370     or creating a macro for it:
2371     
2372         #define my_ptr_add(ptr, offset) \
2373                 ((offset) != 0 ? ((ptr) + (offset)) : (ptr))
2374     
2375     Checking for offset != 0 instead of ptr != NULL allows GCC >= 8.1,
2376     Clang >= 7, and Clang-based ICX to optimize it to the very same code
2377     as ptr + offset. That is, it won't create a branch. So for hot code
2378     this could be a good solution to avoid null pointer + 0. Unfortunately
2379     other compilers like ICC 2021 or MSVC 19.33 (VS2022) will create a
2380     branch from my_ptr_add().
2381     
2382     Thanks to Marcin Kowalczyk for reporting the problem:
2383     https://github.com/tukaani-project/xz/issues/36
2384
2385  src/liblzma/common/block_decoder.c |  5 ++++-
2386  src/liblzma/common/block_encoder.c |  7 +++++--
2387  src/liblzma/common/common.c        | 20 ++++++++++++++------
2388  src/liblzma/common/index_decoder.c | 13 ++++++++++---
2389  src/liblzma/common/index_encoder.c | 11 +++++++++--
2390  src/liblzma/common/index_hash.c    | 13 ++++++++++---
2391  src/liblzma/common/lzip_decoder.c  |  6 +++++-
2392  src/liblzma/delta/delta_decoder.c  |  7 ++++++-
2393  src/liblzma/delta/delta_encoder.c  | 12 ++++++++++--
2394  src/liblzma/simple/simple_coder.c  |  6 ++++--
2395  10 files changed, 77 insertions(+), 23 deletions(-)
2396
2397 commit f6dce49cb656b358e2fb2a3032e35e20af34dc84
2398 Author: Jia Tan <jiat0218@gmail.com>
2399 Date:   2023-02-07 00:00:44 +0800
2400
2401     liblzma: Adjust container.h for consistency with filter.h.
2402
2403  src/liblzma/api/lzma/container.h | 20 +++++++++-----------
2404  1 file changed, 9 insertions(+), 11 deletions(-)
2405
2406 commit 173d240bb4763aedc8c01df4d9c83e311d954c33
2407 Author: Jia Tan <jiat0218@gmail.com>
2408 Date:   2023-02-07 00:00:09 +0800
2409
2410     liblzma: Fix small typos and reword a few things in filter.h.
2411
2412  src/liblzma/api/lzma/container.h | 13 ++++++-------
2413  1 file changed, 6 insertions(+), 7 deletions(-)
2414
2415 commit 17797bacde3f7264048ef0976c137a600148d6cf
2416 Author: Jia Tan <jiat0218@gmail.com>
2417 Date:   2023-02-06 23:42:08 +0800
2418
2419     liblzma: Convert list of flags in lzma_mt to bulleted list.
2420
2421  src/liblzma/api/lzma/container.h | 9 ++++++---
2422  1 file changed, 6 insertions(+), 3 deletions(-)
2423
2424 commit 37da0e727161b401b8bfd8dccf163a4b2fc0460b
2425 Author: Jia Tan <jiat0218@gmail.com>
2426 Date:   2023-01-26 23:17:41 +0800
2427
2428     liblzma: Fix typo in documentation in container.h
2429     
2430     lzma_microlzma_decoder -> lzma_microlzma_encoder
2431
2432  src/liblzma/api/lzma/container.h | 2 +-
2433  1 file changed, 1 insertion(+), 1 deletion(-)
2434
2435 commit b8331077c626e6bf14f4671d09b561146eaf816a
2436 Author: Jia Tan <jiat0218@gmail.com>
2437 Date:   2023-01-26 23:16:34 +0800
2438
2439     liblzma: Improve documentation for container.h
2440     
2441     Standardizing each function to always specify parameters and return
2442     values. Also moved the parameters and return values to the end of each
2443     function description.
2444
2445  src/liblzma/api/lzma/container.h | 146 +++++++++++++++++++++++++--------------
2446  1 file changed, 93 insertions(+), 53 deletions(-)
2447
2448 commit b9a3511bb61d3b6ce49abd33dce6155a573f5272
2449 Author: Jia Tan <jiat0218@gmail.com>
2450 Date:   2023-02-22 20:59:41 +0800
2451
2452     CMake: Add LZIP decoder test to list of tests.
2453
2454  CMakeLists.txt | 1 +
2455  1 file changed, 1 insertion(+)
2456
2457 commit cd82ef2fb48b174c57cd03b84a9a0f978772cb89
2458 Author: Lasse Collin <lasse.collin@tukaani.org>
2459 Date:   2023-02-17 20:56:49 +0200
2460
2461     Update THANKS.
2462
2463  THANKS | 1 +
2464  1 file changed, 1 insertion(+)
2465
2466 commit 076e911ba25cadf2cbdfbd0f65991a002e210c0b
2467 Author: Lasse Collin <lasse.collin@tukaani.org>
2468 Date:   2023-02-17 20:48:28 +0200
2469
2470     Build: Use only the generic symbol versioning on MicroBlaze.
2471     
2472     On MicroBlaze, GCC 12 is broken in sense that
2473     __has_attribute(__symver__) returns true but it still doesn't
2474     support the __symver__ attribute even though the platform is ELF
2475     and symbol versioning is supported if using the traditional
2476     __asm__(".symver ...") method. Avoiding the traditional method is
2477     good because it breaks LTO (-flto) builds with GCC.
2478     
2479     See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
2480     
2481     For now the only extra symbols in liblzma_linux.map are the
2482     compatibility symbols with the patch that spread from RHEL/CentOS 7.
2483     These require the use of __symver__ attribute or __asm__(".symver ...")
2484     in the C code. Compatibility with the patch from CentOS 7 doesn't
2485     seem valuable on MicroBlaze so use liblzma_generic.map on MicroBlaze
2486     instead. It doesn't require anything special in the C code and thus
2487     no LTO issues either.
2488     
2489     An alternative would be to detect support for __symver__
2490     attribute in configure.ac and CMakeLists.txt and fall back
2491     to __asm__(".symver ...") but then LTO would be silently broken
2492     on MicroBlaze. It sounds likely that MicroBlaze is a special
2493     case so let's treat it as a such because that is simpler. If
2494     a similar issue exists on some other platform too then hopefully
2495     someone will report it and this can be reconsidered.
2496     
2497     (This doesn't do the same fix in CMakeLists.txt. Perhaps it should
2498     but perhaps CMake build of liblzma doesn't matter much on MicroBlaze.
2499     The problem breaks the build so it's easy to notice and can be fixed
2500     later.)
2501     
2502     Thanks to Vincent Fazio for reporting the problem and proposing
2503     a patch (in the end that solution wasn't used):
2504     https://github.com/tukaani-project/xz/pull/32
2505
2506  configure.ac | 12 ++++++++++--
2507  1 file changed, 10 insertions(+), 2 deletions(-)
2508
2509 commit bc34e5ac9996667d2c1ec9a7895ec5931ac4caea
2510 Author: Lasse Collin <lasse.collin@tukaani.org>
2511 Date:   2023-02-16 21:09:00 +0200
2512
2513     liblzma: Very minor API doc tweaks.
2514     
2515     Use "member" to refer to struct members as that's the term used
2516     by the C standard.
2517     
2518     Use lzma_options_delta.dist and such in docs so that in Doxygen's
2519     HTML output they will link to the doc of the struct member.
2520     
2521     Clean up a few trailing white spaces too.
2522
2523  src/liblzma/api/lzma/block.h        |  6 +++---
2524  src/liblzma/api/lzma/delta.h        |  6 +++---
2525  src/liblzma/api/lzma/index.h        | 10 +++++-----
2526  src/liblzma/api/lzma/stream_flags.h |  6 +++---
2527  4 files changed, 14 insertions(+), 14 deletions(-)
2528
2529 commit d31fbd28be5b79eb682db50004b0fb7aad5299ec
2530 Author: Jia Tan <jiat0218@gmail.com>
2531 Date:   2023-02-17 00:54:33 +0800
2532
2533     liblzma: Adjust spacing in doc headers in bcj.h.
2534
2535  src/liblzma/api/lzma/bcj.h | 14 +++++++-------
2536  1 file changed, 7 insertions(+), 7 deletions(-)
2537
2538 commit 701e9be6bede19771895f756082db0c017f86f07
2539 Author: Jia Tan <jiat0218@gmail.com>
2540 Date:   2023-02-17 00:44:44 +0800
2541
2542     liblzma: Adjust documentation in bcj.h for consistent style.
2543
2544  src/liblzma/api/lzma/bcj.h | 43 ++++++++++++++++++++++---------------------
2545  1 file changed, 22 insertions(+), 21 deletions(-)
2546
2547 commit 762c4d0b62d2694cf3a01e030fdfe68e09e7b503
2548 Author: Jia Tan <jiat0218@gmail.com>
2549 Date:   2023-02-17 00:36:05 +0800
2550
2551     liblzma: Rename field => member in documentation.
2552     
2553     Also adjusted preset value => preset level.
2554
2555  src/liblzma/api/lzma/base.h         | 18 +++++++--------
2556  src/liblzma/api/lzma/block.h        | 44 ++++++++++++++++++-------------------
2557  src/liblzma/api/lzma/container.h    | 26 +++++++++++-----------
2558  src/liblzma/api/lzma/delta.h        | 12 +++++-----
2559  src/liblzma/api/lzma/index.h        | 30 ++++++++++++-------------
2560  src/liblzma/api/lzma/lzma12.h       | 28 +++++++++++------------
2561  src/liblzma/api/lzma/stream_flags.h | 32 +++++++++++++--------------
2562  7 files changed, 95 insertions(+), 95 deletions(-)
2563
2564 commit 0ce1db0223854d94b4a0d17737ac0486a75d9e6a
2565 Author: Lasse Collin <lasse.collin@tukaani.org>
2566 Date:   2023-02-16 17:59:50 +0200
2567
2568     liblzma: Silence a warning from MSVC.
2569     
2570     It gives C4146 here since unary minus with unsigned integer
2571     is still unsigned (which is the intention here). Doing it
2572     with substraction makes it clearer and avoids the warning.
2573     
2574     Thanks to Nathan Moinvaziri for reporting this.
2575
2576  src/liblzma/check/crc64_fast.c | 2 +-
2577  1 file changed, 1 insertion(+), 1 deletion(-)
2578
2579 commit d83da006b3e8dbad9112e6cde6b27049d193c9ec
2580 Author: Jia Tan <jiat0218@gmail.com>
2581 Date:   2023-02-16 21:04:54 +0800
2582
2583     liblzma: Improve documentation for stream_flags.h
2584     
2585     Standardizing each function to always specify parameters and return
2586     values. Also moved the parameters and return values to the end of each
2587     function description.
2588     
2589     A few small things were reworded and long sentences broken up.
2590
2591  src/liblzma/api/lzma/stream_flags.h | 76 ++++++++++++++++++++++---------------
2592  1 file changed, 46 insertions(+), 30 deletions(-)
2593
2594 commit 2796bb4736f645d34939b5d62d5958f534e41e69
2595 Author: Jia Tan <jiat0218@gmail.com>
2596 Date:   2023-02-14 21:50:16 +0800
2597
2598     liblzma: Improve documentation in lzma12.h.
2599     
2600     All functions now explicitly specify parameter and return values.
2601
2602  src/liblzma/api/lzma/lzma12.h | 32 +++++++++++++++++++++++---------
2603  1 file changed, 23 insertions(+), 9 deletions(-)
2604
2605 commit ebebaa8d9381afea440eb1b01917117551adf68f
2606 Author: Jia Tan <jiat0218@gmail.com>
2607 Date:   2023-01-27 22:44:06 +0800
2608
2609     liblzma: Improve documentation in check.h.
2610     
2611     All functions now explicitly specify parameter and return values.
2612     Also moved the note about SHA-256 functions not being exported to the
2613     top of the file.
2614
2615  src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++-------------
2616  1 file changed, 28 insertions(+), 13 deletions(-)
2617
2618 commit 765fa2865aab97ea713c1715922e322b3cf599a7
2619 Author: Jia Tan <jiat0218@gmail.com>
2620 Date:   2023-02-08 21:33:52 +0800
2621
2622     liblzma: Improve documentation in index.h
2623     
2624     All functions now explicitly specify parameter and return values.
2625
2626  src/liblzma/api/lzma/index.h | 177 ++++++++++++++++++++++++++++++-------------
2627  1 file changed, 126 insertions(+), 51 deletions(-)
2628
2629 commit 918e208af5960728b6def01e692b395f7d8e3701
2630 Author: Jia Tan <jiat0218@gmail.com>
2631 Date:   2023-02-08 20:35:32 +0800
2632
2633     liblzma: Reword a comment in index.h.
2634
2635  src/liblzma/api/lzma/index.h | 4 ++--
2636  1 file changed, 2 insertions(+), 2 deletions(-)
2637
2638 commit 1f157d214bc09338876d2467b549935679abc0bf
2639 Author: Jia Tan <jiat0218@gmail.com>
2640 Date:   2023-02-08 20:30:23 +0800
2641
2642     liblzma: Omit lzma_index_iter's internal field from Doxygen docs.
2643     
2644     Add \private above this field and its sub-fields since it is not meant
2645     to be modified by users.
2646
2647  src/liblzma/api/lzma/index.h | 9 ++++++++-
2648  1 file changed, 8 insertions(+), 1 deletion(-)
2649
2650 commit 28757fa46d8e0f0a9c17628b2b6af9bcb3cd96fc
2651 Author: Jia Tan <jiat0218@gmail.com>
2652 Date:   2023-01-21 21:32:03 +0800
2653
2654     liblzma: Fix documentation for LZMA_MEMLIMIT_ERROR.
2655     
2656     LZMA_MEMLIMIT_ERROR was missing the "<" character needed to put
2657     documentation after a member.
2658
2659  src/liblzma/api/lzma/base.h | 2 +-
2660  1 file changed, 1 insertion(+), 1 deletion(-)
2661
2662 commit 135d5a1a65a9e199b9a5550c1f788cf43cd81018
2663 Author: Jia Tan <jiat0218@gmail.com>
2664 Date:   2023-01-21 00:29:38 +0800
2665
2666     liblzma: Improve documentation for base.h.
2667     
2668     Standardizing each function to always specify params and return values.
2669     Also fixed a small grammar mistake.
2670
2671  src/liblzma/api/lzma/base.h | 30 +++++++++++++++++++++++++-----
2672  1 file changed, 25 insertions(+), 5 deletions(-)
2673
2674 commit 2287d5668384e289d51e72724997dc920483768e
2675 Author: Jia Tan <jiat0218@gmail.com>
2676 Date:   2023-02-14 00:08:33 +0800
2677
2678     liblzma: Minor improvements to vli.h.
2679     
2680     Added [out] annotations to parameters that are pointers and can have
2681     their value changed. Also added a clarification to lzma_vli_is_valid.
2682
2683  src/liblzma/api/lzma/vli.h | 15 ++++++++-------
2684  1 file changed, 8 insertions(+), 7 deletions(-)
2685
2686 commit 7124b8a16ae60cb2e93218ff531868eebd673bde
2687 Author: Jia Tan <jiat0218@gmail.com>
2688 Date:   2023-02-10 21:38:02 +0800
2689
2690     liblzma: Add comments for macros in delta.h.
2691     
2692     Document LZMA_DELTA_DIST_MIN and LZMA_DELTA_DIST_MAX for completeness
2693     and to avoid Doxygen warnings.
2694
2695  src/liblzma/api/lzma/delta.h | 8 ++++++++
2696  1 file changed, 8 insertions(+)
2697
2698 commit 59c7bb8931159fdb1a31bbbeaed0e6984e2d3c81
2699 Author: Jia Tan <jiat0218@gmail.com>
2700 Date:   2023-02-10 21:35:23 +0800
2701
2702     liblzma: Improve documentation in index_hash.h.
2703     
2704     All functions now explicitly specify parameter and return values.
2705     Also reworded the description of lzma_index_hash_init() for readability.
2706
2707  src/liblzma/api/lzma/index_hash.h | 36 +++++++++++++++++++++++++++---------
2708  1 file changed, 27 insertions(+), 9 deletions(-)
2709
2710 commit e970c28ac3cb2e8051925f81db2fe953664c2645
2711 Author: Jia Tan <jiat0218@gmail.com>
2712 Date:   2023-02-03 00:33:32 +0800
2713
2714     liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length.
2715     
2716     The bug is only a problem in applications that do not properly terminate
2717     the filters[] array with LZMA_VLI_UNKNOWN or have more than
2718     LZMA_FILTERS_MAX filters. This bug does not affect xz.
2719
2720  src/liblzma/common/string_conversion.c | 7 +++++++
2721  1 file changed, 7 insertions(+)
2722
2723 commit 85e01266a96689448abb249da6c6abc3afcd4a4e
2724 Author: Jia Tan <jiat0218@gmail.com>
2725 Date:   2023-02-03 00:32:47 +0800
2726
2727     Tests: Create test_filter_str.c.
2728     
2729     Tests lzma_str_to_filters(), lzma_str_from_filters(), and
2730     lzma_str_list_filters() API functions.
2731
2732  CMakeLists.txt          |   1 +
2733  tests/Makefile.am       |   2 +
2734  tests/test_filter_str.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++
2735  3 files changed, 596 insertions(+)
2736
2737 commit 3fa0f3ba12dd3383f62dbfa18a864f9b4217fa0a
2738 Author: Jia Tan <jiat0218@gmail.com>
2739 Date:   2023-01-22 08:49:00 +0800
2740
2741     liblzma: Fix typos in comments in string_conversion.c.
2742
2743  src/liblzma/common/string_conversion.c | 4 ++--
2744  1 file changed, 2 insertions(+), 2 deletions(-)
2745
2746 commit 32dbe045d74e94f75c53236fa2a6c0454d7b6d9e
2747 Author: Jia Tan <jiat0218@gmail.com>
2748 Date:   2023-02-03 00:20:20 +0800
2749
2750     liblzma: Clarify block encoder and decoder documentation.
2751     
2752     Added a few sentences to the description for lzma_block_encoder() and
2753     lzma_block_decoder() to highlight that the Block Header must be coded
2754     before calling these functions.
2755
2756  src/liblzma/api/lzma/block.h | 15 +++++++++++----
2757  1 file changed, 11 insertions(+), 4 deletions(-)
2758
2759 commit ccf12acbfa7331b1bbb99ec55879186eb35f879f
2760 Author: Jia Tan <jiat0218@gmail.com>
2761 Date:   2023-02-03 00:12:24 +0800
2762
2763     Update lzma_block documentation for lzma_block_uncomp_encode().
2764
2765  src/liblzma/api/lzma/block.h | 3 +++
2766  1 file changed, 3 insertions(+)
2767
2768 commit 6a0b168dd9dc1ef437255c4bfdc6eff8b96fdb24
2769 Author: Jia Tan <jiat0218@gmail.com>
2770 Date:   2023-02-03 00:11:37 +0800
2771
2772     liblzma: Minor edits to lzma_block header_size documentation.
2773
2774  src/liblzma/api/lzma/block.h | 3 ++-
2775  1 file changed, 2 insertions(+), 1 deletion(-)
2776
2777 commit 84ce36f90e68471fec1f0e61cd93ac7ed9ab4883
2778 Author: Jia Tan <jiat0218@gmail.com>
2779 Date:   2023-02-03 00:11:07 +0800
2780
2781     liblzma: Enumerate functions that read version in lzma_block.
2782
2783  src/liblzma/api/lzma/block.h | 13 +++++++++++--
2784  1 file changed, 11 insertions(+), 2 deletions(-)
2785
2786 commit d6620774682830d606f57109861b6763805b3492
2787 Author: Jia Tan <jiat0218@gmail.com>
2788 Date:   2023-02-03 00:10:34 +0800
2789
2790     liblzma: Clarify comment in block.h.
2791
2792  src/liblzma/api/lzma/block.h | 3 ++-
2793  1 file changed, 2 insertions(+), 1 deletion(-)
2794
2795 commit 880adb5aa25f66a53d81c2f3acc716f7a4d373d1
2796 Author: Jia Tan <jiat0218@gmail.com>
2797 Date:   2023-02-03 00:07:23 +0800
2798
2799     liblzma: Improve documentation for block.h.
2800     
2801     Standardizing each function to always specify params and return values.
2802     Output pointer parameters are also marked with doxygen style [out] to
2803     make it clear. Any note sections were also moved above the parameter and
2804     return sections for consistency.
2805
2806  src/liblzma/api/lzma/block.h | 96 ++++++++++++++++++++++++++++++++++----------
2807  1 file changed, 75 insertions(+), 21 deletions(-)
2808
2809 commit b5b1b1f061c342271e4977ce5cba604a19c0ca52
2810 Author: Jia Tan <jiat0218@gmail.com>
2811 Date:   2023-02-01 23:38:30 +0800
2812
2813     liblzma: Clarify a comment about LZMA_STR_NO_VALIDATION.
2814     
2815     The flag description for LZMA_STR_NO_VALIDATION was previously confusing
2816     about the treatment for filters than cannot be used with .xz format
2817     (lzma1) without using LZMA_STR_ALL_FILTERS. Now, it is clear that
2818     LZMA_STR_NO_VALIDATION is not a super set of LZMA_STR_ALL_FILTERS.
2819
2820  src/liblzma/api/lzma/filter.h | 5 +++--
2821  1 file changed, 3 insertions(+), 2 deletions(-)
2822
2823 commit e904e778b82b14f2779aab80d6c8f3c01a3fc54b
2824 Author: Jia Tan <jiat0218@gmail.com>
2825 Date:   2023-01-27 20:14:51 +0800
2826
2827     Translations: Add Brazilian Portuguese translation of man pages.
2828     
2829     Thanks to Rafael Fontenelle.
2830
2831  po4a/po4a.conf |    2 +-
2832  po4a/pt_BR.po  | 3677 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2833  2 files changed, 3678 insertions(+), 1 deletion(-)
2834
2835 commit e9c47e79c9584ba1126f5fa0dbe6c96e67411aa6
2836 Author: Jia Tan <jiat0218@gmail.com>
2837 Date:   2023-01-24 20:48:50 +0800
2838
2839     liblzma: Fix documentation in filter.h for lzma_str_to_filters()
2840     
2841     The previous documentation for lzma_str_to_filters() was technically
2842     correct, but misleading. lzma_str_to_filters() returns NULL on success,
2843     which is in practice always defined to 0. This is the same value as
2844     LZMA_OK, but lzma_str_to_filters() does not return lzma_ret so we should
2845     be more clear.
2846
2847  src/liblzma/api/lzma/filter.h | 2 +-
2848  1 file changed, 1 insertion(+), 1 deletion(-)
2849
2850 commit 99575947a58a60416c570eb78038d18a1ea4cef4
2851 Author: Jia Tan <jiat0218@gmail.com>
2852 Date:   2023-01-07 21:55:06 +0800
2853
2854     xz: Refactor duplicated check for custom suffix when using --format=raw
2855
2856  src/xz/args.c   |  8 ++++++++
2857  src/xz/suffix.c | 26 ++++++++------------------
2858  src/xz/suffix.h |  8 ++++++++
2859  3 files changed, 24 insertions(+), 18 deletions(-)
2860
2861 commit 76dec92fcca4a9ccd2063ed6d5d9e3474665baad
2862 Author: Jia Tan <jiat0218@gmail.com>
2863 Date:   2023-01-20 21:53:14 +0800
2864
2865     liblzma: Set documentation on all reserved fields to private.
2866     
2867     This prevents the reserved fields from being part of the generated
2868     Doxygen documentation.
2869
2870  src/liblzma/api/lzma/base.h         | 17 +++++++++++++++
2871  src/liblzma/api/lzma/block.h        | 43 +++++++++++++++++++++++++++++++++++++
2872  src/liblzma/api/lzma/container.h    | 24 +++++++++++++++++++++
2873  src/liblzma/api/lzma/delta.h        | 12 +++++++++++
2874  src/liblzma/api/lzma/index.h        | 27 +++++++++++++++++++++++
2875  src/liblzma/api/lzma/lzma12.h       | 22 +++++++++++++++++++
2876  src/liblzma/api/lzma/stream_flags.h | 28 ++++++++++++++++++++++++
2877  7 files changed, 173 insertions(+)
2878
2879 commit bd213d06ebf92cf42eeb97e7c578bddc857f8ea8
2880 Author: Jia Tan <jiat0218@gmail.com>
2881 Date:   2022-12-21 23:59:43 +0800
2882
2883     liblzma: Highlight liblzma API headers should not be included directly.
2884     
2885     This improves the generated Doxygen HTML files to better highlight
2886     how to properly use the liblzma API header files.
2887
2888  src/liblzma/api/lzma/base.h         | 5 +++--
2889  src/liblzma/api/lzma/bcj.h          | 5 +++--
2890  src/liblzma/api/lzma/block.h        | 5 +++--
2891  src/liblzma/api/lzma/check.h        | 5 +++--
2892  src/liblzma/api/lzma/container.h    | 5 +++--
2893  src/liblzma/api/lzma/delta.h        | 5 +++--
2894  src/liblzma/api/lzma/filter.h       | 5 +++--
2895  src/liblzma/api/lzma/hardware.h     | 5 +++--
2896  src/liblzma/api/lzma/index.h        | 5 +++--
2897  src/liblzma/api/lzma/index_hash.h   | 5 +++--
2898  src/liblzma/api/lzma/lzma12.h       | 5 +++--
2899  src/liblzma/api/lzma/stream_flags.h | 5 +++--
2900  src/liblzma/api/lzma/version.h      | 5 +++--
2901  src/liblzma/api/lzma/vli.h          | 5 +++--
2902  14 files changed, 42 insertions(+), 28 deletions(-)
2903
2904 commit 257dbff0ba1a7bc45a74d203ece015c9f70c88cd
2905 Author: Jia Tan <jiat0218@gmail.com>
2906 Date:   2023-01-19 20:35:09 +0800
2907
2908     tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64.
2909     
2910     tuklib_physmem depends on GetProcAddress() for both MSVC and MinGW-w64
2911     to retrieve a function address. The proper way to do this is to cast the
2912     return value to the type of function pointer retrieved. Unfortunately,
2913     this causes a cast-function-type warning, so the best solution is to
2914     simply ignore the warning.
2915
2916  src/common/tuklib_physmem.c | 18 ++++++++++++++++++
2917  1 file changed, 18 insertions(+)
2918
2919 commit 720ad4a44282a7ee59aa9920eaf495d85d245d97
2920 Author: Jia Tan <jiat0218@gmail.com>
2921 Date:   2023-01-16 21:35:45 +0800
2922
2923     xz: Add missing comment for coder_set_compression_settings()
2924
2925  src/xz/coder.h | 3 ++-
2926  1 file changed, 2 insertions(+), 1 deletion(-)
2927
2928 commit 88dc19163421282369c0989e997c05f9a447edc6
2929 Author: Jia Tan <jiat0218@gmail.com>
2930 Date:   2023-01-16 20:55:10 +0800
2931
2932     xz: Do not set compression settings with raw format in list mode.
2933     
2934     Calling coder_set_compression_settings() in list mode with verbose mode
2935     on caused the filter chain and memory requirements to print. This was
2936     unnecessary since the command results in an error and not consistent
2937     with other formats like lzma and alone.
2938
2939  src/xz/args.c | 3 ++-
2940  1 file changed, 2 insertions(+), 1 deletion(-)
2941
2942 commit 039e0ab13efb144642f9d99eeeb9c668e76bb430
2943 Author: Jia Tan <jiat0218@gmail.com>
2944 Date:   2023-01-13 20:37:06 +0800
2945
2946     Translations: Update the Brazilian Portuguese translation.
2947
2948  po/pt_BR.po | 603 ++++++++++++++++++++++++++++++++++--------------------------
2949  1 file changed, 344 insertions(+), 259 deletions(-)
2950
2951 commit 718f7a60e740b26b8353965edaaddc7d4deb4d85
2952 Author: Lasse Collin <lasse.collin@tukaani.org>
2953 Date:   2023-01-12 13:04:05 +0200
2954
2955     Build: Omit -Wmissing-noreturn from the default warnings.
2956     
2957     It's not that important. It can be annoying in builds that
2958     disable many features since in those cases the tests programs
2959     will correctly trigger this warning with Clang.
2960
2961  configure.ac | 1 -
2962  1 file changed, 1 deletion(-)
2963
2964 commit 3ccedb09724c998c39d708c945f6da5852c39e13
2965 Author: Lasse Collin <lasse.collin@tukaani.org>
2966 Date:   2023-01-12 06:05:58 +0200
2967
2968     xz: Use ssize_t for the to-be-ignored return value from write(fd, ptr, 1).
2969     
2970     It makes no difference here as the return value fits into an int
2971     too and it then gets ignored but this looks better.
2972
2973  src/xz/file_io.c | 2 +-
2974  1 file changed, 1 insertion(+), 1 deletion(-)
2975
2976 commit 09fbd2f0527def89e839c8907de4fe7ef6bc5019
2977 Author: Lasse Collin <lasse.collin@tukaani.org>
2978 Date:   2023-01-12 06:01:12 +0200
2979
2980     xz: Silence warnings from -Wsign-conversion in a 32-bit build.
2981
2982  src/common/tuklib_mbstr_fw.c | 2 +-
2983  src/xz/list.c                | 4 ++--
2984  2 files changed, 3 insertions(+), 3 deletions(-)
2985
2986 commit 683d3f178ef1487b5418be49f331b0131a101b40
2987 Author: Lasse Collin <lasse.collin@tukaani.org>
2988 Date:   2023-01-12 05:38:48 +0200
2989
2990     liblzma: Silence another warning from -Wsign-conversion in a 32-bit build.
2991     
2992     It doesn't warn on a 64-bit system because truncating
2993     a ptrdiff_t (signed long) to uint32_t is diagnosed under
2994     -Wconversion by GCC and -Wshorten-64-to-32 by Clang.
2995
2996  src/liblzma/lz/lz_encoder_mf.c | 7 ++++---
2997  1 file changed, 4 insertions(+), 3 deletions(-)
2998
2999 commit 2b8062ef94a38d0f9ad0d1b309e8748db52f5c15
3000 Author: Lasse Collin <lasse.collin@tukaani.org>
3001 Date:   2023-01-12 04:46:45 +0200
3002
3003     liblzma: Silence a warning from -Wsign-conversion in a 32-bit build.
3004
3005  src/common/mythread.h | 4 ++--
3006  1 file changed, 2 insertions(+), 2 deletions(-)
3007
3008 commit b16b9c0d22227012518595c2222facc73bd833a8
3009 Author: Lasse Collin <lasse.collin@tukaani.org>
3010 Date:   2023-01-12 04:17:24 +0200
3011
3012     Build: Make configure add more warning flags for GCC and Clang.
3013     
3014     -Wstrict-aliasing was removed from the list since it is enabled
3015     by -Wall already.
3016     
3017     A normal build is clean with these on GNU/Linux x86-64 with
3018     GCC 12.2.0 and Clang 14.0.6.
3019
3020  configure.ac | 36 +++++++++++++++++++++++++++++++-----
3021  1 file changed, 31 insertions(+), 5 deletions(-)
3022
3023 commit c47ecd6d3909d0d3ff48dfd6e2ee41e7c7130b94
3024 Author: Lasse Collin <lasse.collin@tukaani.org>
3025 Date:   2023-01-12 04:14:18 +0200
3026
3027     Tests: Fix warnings from clang --Wassign-enum.
3028     
3029     Explicitly casting the integer to lzma_check silences the warning.
3030     Since such an invalid value is needed in multiple tests, a constant
3031     INVALID_LZMA_CHECK_ID was added to tests.h.
3032     
3033     The use of 0x1000 for lzma_block.check wasn't optimal as if
3034     the underlying type is a char then 0x1000 will be truncated to 0.
3035     However, in these test cases the value is ignored, thus even with
3036     such truncation the test would have passed.
3037
3038  tests/test_block_header.c | 6 +++---
3039  tests/test_check.c        | 2 +-
3040  tests/test_stream_flags.c | 8 ++++----
3041  tests/tests.h             | 9 +++++++++
3042  4 files changed, 17 insertions(+), 8 deletions(-)
3043
3044 commit 34e13ce015232968731de2a9ec3440a08b0084b1
3045 Author: Lasse Collin <lasse.collin@tukaani.org>
3046 Date:   2023-01-12 03:51:07 +0200
3047
3048     Tests: Silence warnings from -Wsign-conversion.
3049     
3050     Note that assigning an unsigned int to lzma_check doesn't warn
3051     on GNU/Linux x86-64 since the enum type is unsigned on that
3052     platform. The enum can be signed on some other platform though
3053     so it's best to use enumeration type lzma_check in these situations.
3054
3055  tests/test_check.c        |  6 +++---
3056  tests/test_stream_flags.c | 10 +++++-----
3057  2 files changed, 8 insertions(+), 8 deletions(-)
3058
3059 commit 6671d0fe46b77f0fafce860836b7a12dc3cda14a
3060 Author: Lasse Collin <lasse.collin@tukaani.org>
3061 Date:   2023-01-12 03:19:59 +0200
3062
3063     liblzma: Silence warnings from clang -Wconditional-uninitialized.
3064     
3065     This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0.
3066     The actual initialization of the variables is done inside
3067     mythread_sync() macro. Clang doesn't seem to see that
3068     the initialization code inside the macro is always executed.
3069
3070  src/liblzma/common/stream_decoder_mt.c | 8 +++++---
3071  src/liblzma/common/stream_encoder_mt.c | 2 +-
3072  2 files changed, 6 insertions(+), 4 deletions(-)
3073
3074 commit d3e833ca1d2abda54648494c33aca73a40a47efe
3075 Author: Lasse Collin <lasse.collin@tukaani.org>
3076 Date:   2023-01-12 03:11:40 +0200
3077
3078     Fix warnings from clang -Wdocumentation.
3079
3080  src/liblzma/check/check.h      | 4 ----
3081  src/liblzma/lz/lz_encoder_mf.c | 4 ++--
3082  src/xz/options.c               | 4 ++--
3083  3 files changed, 4 insertions(+), 8 deletions(-)
3084
3085 commit 977dd2e26bc50efec8d30fb90380394042d24558
3086 Author: Lasse Collin <lasse.collin@tukaani.org>
3087 Date:   2023-01-12 03:04:28 +0200
3088
3089     Tests: test_lzip_decoder: Remove trailing white-space.
3090
3091  tests/test_lzip_decoder.c | 4 ++--
3092  1 file changed, 2 insertions(+), 2 deletions(-)
3093
3094 commit c55157ed7437ab14f2afb7fecf331e321f2edf9a
3095 Author: Lasse Collin <lasse.collin@tukaani.org>
3096 Date:   2023-01-12 03:03:55 +0200
3097
3098     Tests: test_lzip_decoder: Silence warnings from -Wsign-conversion.
3099
3100  tests/test_lzip_decoder.c | 13 +++++++------
3101  1 file changed, 7 insertions(+), 6 deletions(-)
3102
3103 commit 18b845e69752c975dfeda418ec00eda22605c2ee
3104 Author: Lasse Collin <lasse.collin@tukaani.org>
3105 Date:   2023-01-11 18:52:54 +0200
3106
3107     Bump version and soname for 5.4.1.
3108
3109  src/liblzma/Makefile.am        | 2 +-
3110  src/liblzma/api/lzma/version.h | 2 +-
3111  2 files changed, 2 insertions(+), 2 deletions(-)
3112
3113 commit 4080bbb844fb36701ffb978f0c41ea2c2c9f8960
3114 Author: Jia Tan <jiat0218@gmail.com>
3115 Date:   2023-01-11 23:58:16 +0800
3116
3117     Add NEWS for 5.4.1.
3118
3119  NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3120  1 file changed, 70 insertions(+)
3121
3122 commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2
3123 Author: Lasse Collin <lasse.collin@tukaani.org>
3124 Date:   2023-01-10 11:56:11 +0200
3125
3126     sysdefs.h: Don't include strings.h anymore.
3127     
3128     On some platforms src/xz/suffix.c may need <strings.h> for
3129     strcasecmp() but suffix.c includes the header when it needs it.
3130     
3131     Unless there is an old system that otherwise supports enough C99
3132     to build XZ Utils but doesn't have C89/C90-compatible <string.h>,
3133     there should be no need to include <strings.h> in sysdefs.h.
3134
3135  src/common/sysdefs.h | 6 ------
3136  1 file changed, 6 deletions(-)
3137
3138 commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6
3139 Author: Lasse Collin <lasse.collin@tukaani.org>
3140 Date:   2023-01-10 11:23:41 +0200
3141
3142     xz: Include <strings.h> in suffix.c if needed for strcasecmp().
3143     
3144     SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>.
3145     Of these, strcasecmp() is used on some platforms in suffix.c.
3146     Nothing else in the project needs <strings.h> (at least if
3147     building on a modern system).
3148     
3149     sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is
3150     defined and suffix.c relied on this.
3151     
3152     Note that dos/config.h doesn't #define HAVE_STRINGS_H even though
3153     DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp()
3154     is also in <string.h> in DJGPP.
3155
3156  src/xz/suffix.c | 3 +++
3157  1 file changed, 3 insertions(+)
3158
3159 commit aea639e81beb548e3114c74b6d9a894d6e036189
3160 Author: Jia Tan <jiat0218@gmail.com>
3161 Date:   2023-01-11 22:46:48 +0800
3162
3163     xz: Fix warning -Wformat-nonliteral on clang in message.c.
3164     
3165     clang and gcc differ in how they handle -Wformat-nonliteral. gcc will
3166     allow a non-literal format string as long as the function takes its
3167     format arguments as a va_list.
3168
3169  src/xz/message.c | 9 +++++++++
3170  1 file changed, 9 insertions(+)
3171
3172 commit e3b42bfcb0f67988beee7c7022fed0361282be45
3173 Author: Jia Tan <jiat0218@gmail.com>
3174 Date:   2023-01-11 20:58:31 +0800
3175
3176     Tests: Fix test_filter_flags copy/paste error.
3177
3178  tests/test_filter_flags.c | 4 ++--
3179  1 file changed, 2 insertions(+), 2 deletions(-)
3180
3181 commit 21625b7e11d004788e40eb5eb88d9d89f65fe347
3182 Author: Jia Tan <jiat0218@gmail.com>
3183 Date:   2023-01-11 20:42:29 +0800
3184
3185     Tests: Fix type-limits warning in test_filter_flags.
3186     
3187     This only occurs in test_filter_flags when the BCJ filters are not
3188     configured and built. In this case, ARRAY_SIZE() returns 0 and causes a
3189     type-limits warning with the loop variable since an unsigned number will
3190     always be >= 0.
3191
3192  tests/test_filter_flags.c | 13 ++++++++++---
3193  1 file changed, 10 insertions(+), 3 deletions(-)
3194
3195 commit c337983e928682d56ce3470b286a8d5b8646e0ad
3196 Author: Lasse Collin <lasse.collin@tukaani.org>
3197 Date:   2023-01-10 22:14:03 +0200
3198
3199     liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt.
3200     
3201     This affects only 32-bit x86 builds. x86-64 is OK as is.
3202     
3203     I still cannot easily test this myself. The reporter has tested
3204     this and it passes the tests included in the CMake build and
3205     performance is good: raw CRC64 is 2-3 times faster than the
3206     C version of the slice-by-four method. (Note that liblzma doesn't
3207     include a MSVC-compatible version of the 32-bit x86 assembly code
3208     for the slice-by-four method.)
3209     
3210     Thanks to Iouri Kharon for figuring out a fix, testing, and
3211     benchmarking.
3212
3213  src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++
3214  1 file changed, 18 insertions(+)
3215
3216 commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7
3217 Author: Jia Tan <jiat0218@gmail.com>
3218 Date:   2023-01-11 01:18:50 +0800
3219
3220     Tests: Fix unused function warning in test_block_header.
3221     
3222     One of the global arrays of filters was only used in a test that
3223     required both encoders and decoders to be configured in the build.
3224
3225  tests/test_block_header.c | 4 ++++
3226  1 file changed, 4 insertions(+)
3227
3228 commit 68e9ef036d18d7c3952bff0b391d5989b86934da
3229 Author: Jia Tan <jiat0218@gmail.com>
3230 Date:   2023-01-11 01:08:03 +0800
3231
3232     Tests: Fix unused function warning in test_index_hash.
3233     
3234     test_index_hash does not use fill_index_hash() unless both encoders
3235     and decoders are configured in the build.
3236
3237  tests/test_index_hash.c | 4 +---
3238  1 file changed, 1 insertion(+), 3 deletions(-)
3239
3240 commit a387707cd8cdefbffb5b7429bda4b7fcc192954a
3241 Author: Lasse Collin <lasse.collin@tukaani.org>
3242 Date:   2023-01-10 00:33:14 +0200
3243
3244     Windows: Update INSTALL-MSVC.txt to recommend CMake over project files.
3245
3246  windows/INSTALL-MSVC.txt | 19 ++++++++++++-------
3247  1 file changed, 12 insertions(+), 7 deletions(-)
3248
3249 commit 52902ad69518255a14b0144f0a2379e06fde5b6e
3250 Author: Lasse Collin <lasse.collin@tukaani.org>
3251 Date:   2023-01-10 12:47:16 +0200
3252
3253     Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)."
3254     
3255     This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5.
3256     
3257     It was reported that it wasn't a good enough fix and MSVC
3258     still produced (different kind of) bad code when building
3259     for 32-bit x86 if optimizations are enabled.
3260     
3261     Thanks to Iouri Kharon.
3262
3263  src/liblzma/check/crc64_fast.c | 6 ------
3264  1 file changed, 6 deletions(-)
3265
3266 commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496
3267 Author: Lasse Collin <lasse.collin@tukaani.org>
3268 Date:   2023-01-10 10:05:13 +0200
3269
3270     sysdefs.h: Fix a comment.
3271
3272  src/common/sysdefs.h | 2 +-
3273  1 file changed, 1 insertion(+), 1 deletion(-)
3274
3275 commit 6e89ab58b031aa046308a0b3504ff0a5be042571
3276 Author: Lasse Collin <lasse.collin@tukaani.org>
3277 Date:   2023-01-10 10:04:06 +0200
3278
3279     sysdefs.h: Don't include memory.h anymore even if it were available.
3280     
3281     It quite probably was never needed, that is, any system where memory.h
3282     was required likely couldn't compile XZ Utils for other reasons anyway.
3283     
3284     XZ Utils 5.2.6 and later source packages were generated using
3285     Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code
3286     being removed is no longer used anyway.
3287
3288  src/common/sysdefs.h | 8 ++------
3289  1 file changed, 2 insertions(+), 6 deletions(-)
3290
3291 commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123
3292 Author: Lasse Collin <lasse.collin@tukaani.org>
3293 Date:   2023-01-10 08:50:26 +0200
3294
3295     CMake/Windows: Add a workaround for windres from GNU binutils.
3296     
3297     This is combined from the following commits in the master branch:
3298     443dfebced041adc88f10d824188eeef5b5821a9
3299     6b117d3b1fe91eb26d533ab16a2e552f84148d47
3300     5e34774c31d1b7509b5cb77a3be9973adec59ea0
3301     
3302     Thanks to Iouri Kharon for the bug report, the original patch,
3303     and testing.
3304
3305  CMakeLists.txt | 32 +++++++++++++++++++++++++++++++-
3306  1 file changed, 31 insertions(+), 1 deletion(-)
3307
3308 commit 43521e77acc907863fa4f94aae276366172cb9ee
3309 Author: Lasse Collin <lasse.collin@tukaani.org>
3310 Date:   2023-01-06 22:53:38 +0200
3311
3312     Tests: test_filter_flags: Clean up minor issues.
3313     
3314     Here are the list of the most significant issues addressed:
3315     - Avoid using internal common.h header. It's not good to copy the
3316     constants like this but common.h cannot be included for use outside
3317     of liblzma. This is the quickest thing to do that could be fixed later.
3318     
3319     - Omit the INIT_FILTER macro. Initialization should be done with just
3320     regular designated initializers.
3321     
3322     - Use start_offset = 257 for BCJ tests. It demonstrates that Filter
3323     Flags encoder and decoder don't validate the options thoroughly.
3324     257 is valid only for the x86 filter. This is a bit silly but
3325     not a significant problem in practice because the encoder and
3326     decoder initialization functions will catch bad alignment still.
3327     Perhaps this should be fixed but it's not urgent and doesn't need
3328     to be in 5.4.x.
3329     
3330     - Various tweaks to comments such as filter id -> Filter ID
3331
3332  tests/test_filter_flags.c | 153 +++++++++++++++++++++++-----------------------
3333  1 file changed, 78 insertions(+), 75 deletions(-)
3334
3335 commit 6b44cead95d767414272dc3a67898a36bfdf95b3
3336 Author: Jia Tan <jiat0218@gmail.com>
3337 Date:   2022-12-29 23:33:33 +0800
3338
3339     Tests: Refactors existing filter flags tests.
3340     
3341     Converts the existing filter flags tests into tuktests.
3342
3343  tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++--------------
3344  1 file changed, 457 insertions(+), 198 deletions(-)
3345
3346 commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7
3347 Author: Lasse Collin <lasse.collin@tukaani.org>
3348 Date:   2023-01-08 00:32:29 +0200
3349
3350     Tests: tuktest.h: Support tuktest_malloc(0).
3351     
3352     It's not needed in XZ Utils at least for now. It's good to support
3353     it still because if such use is needed later, it wouldn't be
3354     caught on GNU/Linux since malloc(0) from glibc returns non-NULL.
3355
3356  tests/tuktest.h | 4 ++--
3357  1 file changed, 2 insertions(+), 2 deletions(-)
3358
3359 commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee
3360 Author: Lasse Collin <lasse.collin@tukaani.org>
3361 Date:   2023-01-07 21:57:11 +0200
3362
3363     CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25.
3364     
3365     The changes listed on cmake-policies(7) for versions 3.17 to 3.25
3366     shouldn't affect this project.
3367
3368  CMakeLists.txt | 2 +-
3369  1 file changed, 1 insertion(+), 1 deletion(-)
3370
3371 commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2
3372 Author: Lasse Collin <lasse.collin@tukaani.org>
3373 Date:   2023-01-08 00:24:23 +0200
3374
3375     Update THANKS.
3376
3377  THANKS | 1 +
3378  1 file changed, 1 insertion(+)
3379
3380 commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab
3381 Author: Lasse Collin <lasse.collin@tukaani.org>
3382 Date:   2023-01-07 19:50:35 +0200
3383
3384     Update THANKS.
3385
3386  THANKS | 1 +
3387  1 file changed, 1 insertion(+)
3388
3389 commit 3d45987451b1c3bb42697b29341824c0e5484cba
3390 Author: Lasse Collin <lasse.collin@tukaani.org>
3391 Date:   2023-01-09 11:27:24 +0200
3392
3393     CMake: Fix a copypaste error in xzdec Windows resource file handling.
3394     
3395     It was my mistake. Thanks to Iouri Kharon for the bug report.
3396
3397  CMakeLists.txt | 4 ++--
3398  1 file changed, 2 insertions(+), 2 deletions(-)
3399
3400 commit 706bce5018d7cf83094e13454a0731169ec119b5
3401 Author: Lasse Collin <lasse.collin@tukaani.org>
3402 Date:   2023-01-07 19:50:03 +0200
3403
3404     CMake/Windows: Add resource files to xz.exe and xzdec.exe.
3405     
3406     The command line tools cannot be built with MSVC for now but
3407     they can be built with MinGW-w64.
3408     
3409     Thanks to Iouri Kharon for the bug report and the original patch.
3410
3411  CMakeLists.txt | 16 ++++++++++++++++
3412  1 file changed, 16 insertions(+)
3413
3414 commit e96dee55df04113c33b387ccdb6cb70935422d91
3415 Author: Lasse Collin <lasse.collin@tukaani.org>
3416 Date:   2023-01-09 12:22:05 +0200
3417
3418     liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022).
3419     
3420     I haven't tested with MSVC myself and there doesn't seem to be
3421     information about the problem online, so I'm relying on the bug report.
3422     
3423     Thanks to Iouri Kharon for the bug report and the patch.
3424
3425  src/liblzma/check/crc64_fast.c | 6 ++++++
3426  1 file changed, 6 insertions(+)
3427
3428 commit 52bc1ee34dda9bb6fb40175e5952863066681b77
3429 Author: Lasse Collin <lasse.collin@tukaani.org>
3430 Date:   2023-01-07 19:31:15 +0200
3431
3432     Build: Require that _mm_set_epi64x() is usable to enable CLMUL support.
3433     
3434     VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets
3435     disabled with VS2013.
3436     
3437     Thanks to Iouri Kharon for the bug report.
3438
3439  CMakeLists.txt | 3 ++-
3440  configure.ac   | 8 ++++++--
3441  2 files changed, 8 insertions(+), 3 deletions(-)
3442
3443 commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa
3444 Author: Jia Tan <jiat0218@gmail.com>
3445 Date:   2022-12-29 00:25:18 +0800
3446
3447     Tests: Creates test_index_hash.c
3448     
3449     Tests all API functions exported from index_hash.h. Does not have a
3450     dedicated test for lzma_index_hash_end.
3451     
3452     [Minor edits were made by Lasse Collin.]
3453
3454  .gitignore              |   1 +
3455  CMakeLists.txt          |   2 +
3456  tests/Makefile.am       |   3 +
3457  tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++
3458  4 files changed, 394 insertions(+)
3459
3460 commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1
3461 Author: Jia Tan <jiat0218@gmail.com>
3462 Date:   2023-01-05 20:57:25 +0800
3463
3464     liblzma: Remove common.h include from common/index.h.
3465     
3466     common/index.h is needed by liblzma internally and tests. common.h will
3467     include and define many things that are not needed by the tests.
3468     
3469     Also, this prevents include order problems because both common.h and
3470     lzma.h define LZMA_API. On most platforms it results only in a warning
3471     but on Windows it would break the build as the definition in common.h
3472     must be used only for building liblzma itself.
3473
3474  src/liblzma/common/index.c                 | 1 +
3475  src/liblzma/common/index.h                 | 9 +++++++--
3476  src/liblzma/common/index_decoder.h         | 1 +
3477  src/liblzma/common/stream_buffer_encoder.c | 1 +
3478  4 files changed, 10 insertions(+), 2 deletions(-)
3479
3480 commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb
3481 Author: Jia Tan <jiat0218@gmail.com>
3482 Date:   2022-08-17 20:20:16 +0800
3483
3484     liblzma: Add NULL check to lzma_index_hash_append.
3485     
3486     This is for consistency with lzma_index_append.
3487
3488  src/liblzma/common/index_hash.c | 2 +-
3489  1 file changed, 1 insertion(+), 1 deletion(-)
3490
3491 commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc
3492 Author: Jia Tan <jiat0218@gmail.com>
3493 Date:   2022-08-17 17:59:51 +0800
3494
3495     liblzma: Replaced hardcoded 0x0 index indicator byte with macro
3496
3497  src/liblzma/common/index.h             | 3 +++
3498  src/liblzma/common/index_decoder.c     | 2 +-
3499  src/liblzma/common/index_encoder.c     | 2 +-
3500  src/liblzma/common/index_hash.c        | 2 +-
3501  src/liblzma/common/stream_decoder.c    | 3 ++-
3502  src/liblzma/common/stream_decoder_mt.c | 2 +-
3503  6 files changed, 9 insertions(+), 5 deletions(-)
3504
3505 commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6
3506 Author: Jia Tan <jiat0218@gmail.com>
3507 Date:   2023-01-06 20:43:31 +0800
3508
3509     Style: Change #if !defined() to #ifndef in mythread.h.
3510
3511  src/common/mythread.h | 2 +-
3512  1 file changed, 1 insertion(+), 1 deletion(-)
3513
3514 commit 3f0130aa288e4ed57ace609517db9700a41223af
3515 Author: Jia Tan <jiat0218@gmail.com>
3516 Date:   2023-01-06 20:35:55 +0800
3517
3518     Build: Add missing stream_decoder_mt.c to .vcxproj files.
3519     
3520     The line in the .vcxproj files for building with was missing in 5.4.0.
3521     Thank to Hajin Jang for reporting the issue.
3522
3523  windows/vs2013/liblzma.vcxproj     | 1 +
3524  windows/vs2013/liblzma_dll.vcxproj | 1 +
3525  windows/vs2017/liblzma.vcxproj     | 1 +
3526  windows/vs2017/liblzma_dll.vcxproj | 1 +
3527  windows/vs2019/liblzma.vcxproj     | 1 +
3528  windows/vs2019/liblzma_dll.vcxproj | 1 +
3529  6 files changed, 6 insertions(+)
3530
3531 commit f204d1050a515d17851eed9049862ce5a9c729c1
3532 Author: Lasse Collin <lasse.collin@tukaani.org>
3533 Date:   2023-01-04 22:40:54 +0200
3534
3535     Update THANKS.
3536
3537  THANKS | 1 +
3538  1 file changed, 1 insertion(+)
3539
3540 commit 34a9c2d650d6c30bd88e1b21910dd863209aa884
3541 Author: Lasse Collin <lasse.collin@tukaani.org>
3542 Date:   2023-01-04 18:40:28 +0200
3543
3544     Tests: Adjust style in test_compress.sh.
3545
3546  tests/test_compress.sh | 12 +++++++-----
3547  1 file changed, 7 insertions(+), 5 deletions(-)
3548
3549 commit 761c208d58e0c3daa0f46e68b406adfc318d2a46
3550 Author: Jia Tan <jiat0218@gmail.com>
3551 Date:   2023-01-04 23:58:58 +0800
3552
3553     Tests: Replace non portable shell parameter expansion
3554     
3555     The shell parameter expansion using # and ## is not supported in
3556     Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully
3557     portable, so we should avoid it.
3558
3559  tests/create_compress_files.c          |  2 +-
3560  tests/test_compress.sh                 | 20 +++++++++++++-------
3561  tests/test_compress_prepared_bcj_sparc |  2 +-
3562  tests/test_compress_prepared_bcj_x86   |  2 +-
3563  4 files changed, 16 insertions(+), 10 deletions(-)
3564
3565 commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4
3566 Author: Jia Tan <jiat0218@gmail.com>
3567 Date:   2023-01-03 21:02:38 +0800
3568
3569     Translations: Add Korean translation of man pages.
3570     
3571     Thanks to Seong-ho Cho
3572
3573  po4a/ko.po     | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3574  po4a/po4a.conf |    2 +-
3575  2 files changed, 5553 insertions(+), 1 deletion(-)
3576
3577 commit ca2af49bb8be5995eb0e6a3abf457622626d49a7
3578 Author: Jia Tan <jiat0218@gmail.com>
3579 Date:   2023-01-03 20:47:27 +0800
3580
3581     Translations: Update the Esperanto translation.
3582
3583  po/eo.po | 620 ++++++++++++++++++++++++++++++++++-----------------------------
3584  1 file changed, 332 insertions(+), 288 deletions(-)
3585
3586 commit bfba3394aed03311fe9a746d3141b2e16d8b9325
3587 Author: Lasse Collin <lasse.collin@tukaani.org>
3588 Date:   2023-01-02 17:05:07 +0200
3589
3590     Build: Fix config.h comments.
3591
3592  configure.ac          | 2 +-
3593  m4/tuklib_progname.m4 | 2 +-
3594  2 files changed, 2 insertions(+), 2 deletions(-)
3595
3596 commit 507648ad114c2ae0cd6d181063e1ac07e8106718
3597 Author: Jia Tan <jiat0218@gmail.com>
3598 Date:   2023-01-02 22:33:48 +0800
3599
3600     Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1.
3601     
3602     HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to
3603     HAVE_PROGRAM_INVOCATION_NAME. Previously,
3604     HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when
3605     building with autotools. CMake would only set this when it was 1, and the
3606     dos/config.h did not define it. The new macro definition is consistent
3607     across build systems.
3608
3609  cmake/tuklib_progname.cmake  | 5 ++---
3610  m4/tuklib_progname.m4        | 5 ++++-
3611  src/common/tuklib_progname.c | 2 +-
3612  src/common/tuklib_progname.h | 2 +-
3613  4 files changed, 8 insertions(+), 6 deletions(-)
3614
3615 commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5
3616 Author: Lasse Collin <lasse.collin@tukaani.org>
3617 Date:   2022-12-30 20:10:08 +0200
3618
3619     Tests: test_check: Test corner cases of CLMUL CRC64.
3620
3621  tests/test_check.c | 27 +++++++++++++++++++++++++++
3622  1 file changed, 27 insertions(+)
3623
3624 commit 8791826f31733fda0a13b411c2ed930faaeb25aa
3625 Author: Lasse Collin <lasse.collin@tukaani.org>
3626 Date:   2022-12-30 19:36:49 +0200
3627
3628     Tests: Clarify a comment in test_lzip_decoder.c.
3629
3630  tests/test_lzip_decoder.c | 8 ++++++--
3631  1 file changed, 6 insertions(+), 2 deletions(-)
3632
3633 commit c410d812ea12bfc74f6b727c1a799478c79f19ca
3634 Author: Jia Tan <jiat0218@gmail.com>
3635 Date:   2022-12-29 01:55:19 +0800
3636
3637     xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c.
3638     
3639     Previously, mytime.c depended on mythread.h for <time.h> to be included.
3640
3641  src/xz/mytime.c | 4 +++-
3642  1 file changed, 3 insertions(+), 1 deletion(-)
3643
3644 commit 501c6013d4a59fae5d4368e9657c4885493db809
3645 Author: Jia Tan <jiat0218@gmail.com>
3646 Date:   2022-12-29 01:15:27 +0800
3647
3648     liblzma: Includes sys/time.h conditionally in mythread
3649     
3650     Previously, <sys/time.h> was always included, even if mythread only used
3651     clock_gettime. <time.h> is still needed even if clock_gettime is not used
3652     though because struct timespec is needed for mythread_condtime.
3653
3654  src/common/mythread.h | 8 +++++++-
3655  1 file changed, 7 insertions(+), 1 deletion(-)
3656
3657 commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f
3658 Author: Jia Tan <jiat0218@gmail.com>
3659 Date:   2022-12-29 01:10:53 +0800
3660
3661     Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set.
3662     
3663     Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always
3664     be set to 0 or 1. However, this macro was needed in xz so if xz was not
3665     built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but
3666     HAVE_CLOCK_GETTIME was, it caused a warning during build. Now,
3667     HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and
3668     will only be set if it is 1.
3669
3670  CMakeLists.txt        | 8 +++-----
3671  configure.ac          | 5 ++++-
3672  src/common/mythread.h | 4 ++--
3673  src/xz/mytime.c       | 5 ++---
3674  4 files changed, 11 insertions(+), 11 deletions(-)
3675
3676 commit 6fc3e5467911572fa9af4021ea46396261aae796
3677 Author: Jia Tan <jiat0218@gmail.com>
3678 Date:   2022-12-28 01:14:07 +0800
3679
3680     Translations: Add Ukrainian translations of man pages.
3681     
3682     Thanks to Yuri Chornoivan
3683
3684  po4a/po4a.conf |    2 +-
3685  po4a/uk.po     | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3686  2 files changed, 3677 insertions(+), 1 deletion(-)
3687
3688 commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e
3689 Author: Jia Tan <jiat0218@gmail.com>
3690 Date:   2022-12-22 23:14:53 +0800
3691
3692     liblzma: Update documentation for lzma_filter_encoder.
3693
3694  src/liblzma/common/filter_encoder.c | 7 +++++--
3695  1 file changed, 5 insertions(+), 2 deletions(-)
3696
3697 commit b14b8dbba9a3b232787ae218b46430b9246383dd
3698 Author: Jia Tan <jiat0218@gmail.com>
3699 Date:   2022-12-21 21:12:03 +0800
3700
3701     Tests: Adds lzip decoder tests
3702
3703  .gitignore                |   1 +
3704  tests/Makefile.am         |   2 +
3705  tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++
3706  3 files changed, 474 insertions(+)
3707
3708 commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710
3709 Author: Jia Cheong Tan <jiat0218@gmail.com>
3710 Date:   2022-12-20 22:05:21 +0800
3711
3712     Doxygen: Update .gitignore for generating docs for in source build.
3713     
3714     In source builds are not recommended, but we should still ignore
3715     the generated artifacts.
3716
3717  .gitignore | 2 ++
3718  1 file changed, 2 insertions(+)
3719
3720 commit d3e6fe44196bf9478ad193522e2b48febf2eca6b
3721 Author: Jia Tan <jiat0218@gmail.com>
3722 Date:   2022-12-20 20:46:44 +0800
3723
3724     liblzma: Fix lzma_microlzma_encoder() return value.
3725     
3726     Using return_if_error on lzma_lzma_lclppb_encode was improper because
3727     return_if_error is expecting an lzma_ret value, but
3728     lzma_lzma_lclppb_encode returns a boolean. This could result in
3729     lzma_microlzma_encoder, which would be misleading for applications.
3730
3731  src/liblzma/common/microlzma_encoder.c | 3 ++-
3732  1 file changed, 2 insertions(+), 1 deletion(-)
3733
3734 commit b55a27b46f52524a4a8d9cdef03e6689cefc1375
3735 Author: Lasse Collin <lasse.collin@tukaani.org>
3736 Date:   2022-12-16 18:30:02 +0200
3737
3738     liblzma: Update authors list in arm64.c.
3739
3740  src/liblzma/simple/arm64.c | 1 +
3741  1 file changed, 1 insertion(+)
3742
3743 commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d
3744 Author: Jia Tan <jiat0218@gmail.com>
3745 Date:   2022-12-16 20:58:55 +0800
3746
3747     CMake: Update .gitignore for CMake artifacts from in source build.
3748     
3749     In source builds are not recommended, but we can make it easier
3750     by ignoring the generated artifacts from CMake.
3751
3752  .gitignore | 23 +++++++++++++++++++++++
3753  1 file changed, 23 insertions(+)
3754
3755 commit b69da6d4bb6bb11fc0cf066920791990d2b22a06
3756 Author: Lasse Collin <lasse.collin@tukaani.org>
3757 Date:   2022-12-13 20:37:17 +0200
3758
3759     Bump version to 5.4.0 and soname to 5.4.0.
3760
3761  src/liblzma/Makefile.am         | 2 +-
3762  src/liblzma/api/lzma/version.h  | 6 +++---
3763  src/liblzma/liblzma_generic.map | 2 +-
3764  src/liblzma/liblzma_linux.map   | 2 +-
3765  4 files changed, 6 insertions(+), 6 deletions(-)
3766
3767 commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19
3768 Author: Lasse Collin <lasse.collin@tukaani.org>
3769 Date:   2022-12-13 20:29:39 +0200
3770
3771     Update INSTALL: CMake on Windows isn't experimental anymore.
3772     
3773     Using CMake to build liblzma should work on a few other OSes
3774     but building the command line tools is still subtly broken.
3775     
3776     It is known that shared library versioning may differ between
3777     CMake and Libtool builds on some OSes, most notably Darwin.
3778
3779  INSTALL | 10 ++++------
3780  1 file changed, 4 insertions(+), 6 deletions(-)
3781
3782 commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852
3783 Author: Lasse Collin <lasse.collin@tukaani.org>
3784 Date:   2022-12-13 19:47:53 +0200
3785
3786     Add NEWS for 5.4.0.
3787
3788  NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3789  1 file changed, 202 insertions(+)
3790
3791 commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14
3792 Author: Lasse Collin <lasse.collin@tukaani.org>
3793 Date:   2022-12-13 17:41:20 +0200
3794
3795     Fix a typo in NEWS.
3796
3797  NEWS | 2 +-
3798  1 file changed, 1 insertion(+), 1 deletion(-)
3799
3800 commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245
3801 Author: Lasse Collin <lasse.collin@tukaani.org>
3802 Date:   2022-12-13 17:41:03 +0200
3803
3804     Add NEWS for 5.2.10.
3805
3806  NEWS | 12 ++++++++++++
3807  1 file changed, 12 insertions(+)
3808
3809 commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6
3810 Author: Lasse Collin <lasse.collin@tukaani.org>
3811 Date:   2022-12-13 12:30:45 +0200
3812
3813     Tests: Fix a typo in tests/files/README.
3814
3815  tests/files/README | 2 +-
3816  1 file changed, 1 insertion(+), 1 deletion(-)
3817
3818 commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5
3819 Author: Lasse Collin <lasse.collin@tukaani.org>
3820 Date:   2022-12-13 12:30:09 +0200
3821
3822     Tests: Add two ARM64 test files.
3823
3824  tests/files/README                  |   7 +++++++
3825  tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes
3826  tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes
3827  tests/test_files.sh                 |   5 +++++
3828  4 files changed, 12 insertions(+)
3829
3830 commit f5e419550619c548c7c35d7e367cf00580a56521
3831 Author: Lasse Collin <lasse.collin@tukaani.org>
3832 Date:   2022-12-12 22:44:21 +0200
3833
3834     Translations: Update the Catalan translation.
3835
3836  po/ca.po | 657 +++++++++++++++++++++++++++++----------------------------------
3837  1 file changed, 306 insertions(+), 351 deletions(-)
3838
3839 commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8
3840 Author: Lasse Collin <lasse.collin@tukaani.org>
3841 Date:   2022-12-12 19:18:12 +0200
3842
3843     Update THANKS.
3844
3845  THANKS | 1 +
3846  1 file changed, 1 insertion(+)
3847
3848 commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc
3849 Author: Lasse Collin <lasse.collin@tukaani.org>
3850 Date:   2022-12-12 19:07:58 +0200
3851
3852     Update AUTHORS.
3853
3854  AUTHORS | 12 ++++++++++++
3855  1 file changed, 12 insertions(+)
3856
3857 commit f2d98e691099d82054d5f3071ef6f5e809932e44
3858 Author: Lasse Collin <lasse.collin@tukaani.org>
3859 Date:   2022-12-12 15:31:14 +0200
3860
3861     Docs: Omit multi-threaded decompress from TODO.
3862     
3863     The TODO file outdated still.
3864
3865  TODO | 2 --
3866  1 file changed, 2 deletions(-)
3867
3868 commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da
3869 Author: Lasse Collin <lasse.collin@tukaani.org>
3870 Date:   2022-12-11 21:16:09 +0200
3871
3872     Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter.
3873
3874  doc/xz-file-format.txt | 29 ++++++++++++++++++++++-------
3875  1 file changed, 22 insertions(+), 7 deletions(-)
3876
3877 commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f
3878 Author: Lasse Collin <lasse.collin@tukaani.org>
3879 Date:   2022-12-11 21:13:57 +0200
3880
3881     xz: Rename --experimental-arm64 to --arm64.
3882
3883  src/xz/args.c | 2 +-
3884  1 file changed, 1 insertion(+), 1 deletion(-)
3885
3886 commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5
3887 Author: Lasse Collin <lasse.collin@tukaani.org>
3888 Date:   2022-12-11 21:13:06 +0200
3889
3890     liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A.
3891
3892  src/liblzma/api/lzma/bcj.h | 6 +-----
3893  1 file changed, 1 insertion(+), 5 deletions(-)
3894
3895 commit 01b3549e523edac899ec4925b282ceddd20da116
3896 Author: Lasse Collin <lasse.collin@tukaani.org>
3897 Date:   2022-12-08 19:24:22 +0200
3898
3899     xz: Make args_info.files_name a const pointer.
3900
3901  src/xz/args.c | 2 +-
3902  src/xz/args.h | 2 +-
3903  2 files changed, 2 insertions(+), 2 deletions(-)
3904
3905 commit bc665b84ea6bf7946394a08122177efe41b26a5f
3906 Author: Lasse Collin <lasse.collin@tukaani.org>
3907 Date:   2022-12-08 19:18:16 +0200
3908
3909     xz: Don't modify argv[].
3910     
3911     The code that parses --memlimit options and --block-list modified
3912     the argv[] when parsing the option string from optarg. This was
3913     visible in "ps auxf" and such and could be confusing. I didn't
3914     understand it back in the day when I wrote that code. Now a copy
3915     is allocated when modifiable strings are needed.
3916
3917  src/xz/args.c | 23 +++++++++++++++++++----
3918  1 file changed, 19 insertions(+), 4 deletions(-)
3919
3920 commit a13064e1c290de7933db72b6dffbd65cfce59c9f
3921 Author: Lasse Collin <lasse.collin@tukaani.org>
3922 Date:   2022-12-08 18:18:57 +0200
3923
3924     Translations: Update the German man page translations.
3925
3926  po4a/de.po | 4570 ++++++++++++++++++------------------------------------------
3927  1 file changed, 1374 insertions(+), 3196 deletions(-)
3928
3929 commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a
3930 Author: Jia Tan <jiat0218@gmail.com>
3931 Date:   2022-12-06 23:05:56 +0800
3932
3933     Translations: Update the German translation.
3934
3935  po/de.po | 586 ++++++++++++++++++++++++++++++++++-----------------------------
3936  1 file changed, 315 insertions(+), 271 deletions(-)
3937
3938 commit 5c304b57c24ef40ff57f864301065f0244c05bde
3939 Author: Jia Tan <jiat0218@gmail.com>
3940 Date:   2022-12-06 23:04:25 +0800
3941
3942     Translations: Update the Turkish translation.
3943
3944  po/tr.po | 221 +++++++++++++++++++++++++++++++--------------------------------
3945  1 file changed, 108 insertions(+), 113 deletions(-)
3946
3947 commit 6d86781fdb937970486500447ebb49b98244235b
3948 Author: Jia Tan <jiat0218@gmail.com>
3949 Date:   2022-12-06 23:02:11 +0800
3950
3951     Translations: Update the Croatian translation.
3952
3953  po/hr.po | 228 +++++++++++++++++++++++++++++++--------------------------------
3954  1 file changed, 113 insertions(+), 115 deletions(-)
3955
3956 commit 7a5b4b8075eb36026b1796f04ffed5830c42396a
3957 Author: Jia Tan <jiat0218@gmail.com>
3958 Date:   2022-12-06 22:56:30 +0800
3959
3960     Translations: Add Romanian translation of man pages.
3961     
3962     Thanks to Remus-Gabriel Chelu.
3963
3964  po4a/po4a.conf |    2 +-
3965  po4a/ro.po     | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3966  2 files changed, 3693 insertions(+), 1 deletion(-)
3967
3968 commit c6977e7400088177556e8771bcb839eb7d90caa3
3969 Author: Jia Tan <jiat0218@gmail.com>
3970 Date:   2022-12-06 22:52:13 +0800
3971
3972     Translations: Update the Romanian translation.
3973
3974  po/ro.po | 294 +++++++++++++++++++++++++++++++--------------------------------
3975  1 file changed, 147 insertions(+), 147 deletions(-)
3976
3977 commit ac2a747e939c2cbccff7a49c399769af5e02d2ab
3978 Author: Lasse Collin <lasse.collin@tukaani.org>
3979 Date:   2022-12-08 17:30:09 +0200
3980
3981     liblzma: Check for unexpected NULL pointers in block_header_decode().
3982     
3983     The API docs gave an impression that such checks are done
3984     but they actually weren't done. In practice it made little
3985     difference since the calling code has a bug if these are NULL.
3986     
3987     Thanks to Jia Tan for the original patch that checked for
3988     block->filters == NULL.
3989
3990  src/liblzma/common/block_header_decoder.c | 4 ++++
3991  1 file changed, 4 insertions(+)
3992
3993 commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25
3994 Author: Lasse Collin <lasse.collin@tukaani.org>
3995 Date:   2022-12-01 20:59:32 +0200
3996
3997     Bump version number for 5.3.5beta.
3998     
3999     This also sorts the symbol names alphabetically in liblzma_*.map.
4000
4001  src/liblzma/api/lzma/version.h  |  4 ++--
4002  src/liblzma/liblzma_generic.map | 10 +++++-----
4003  src/liblzma/liblzma_linux.map   | 10 +++++-----
4004  3 files changed, 12 insertions(+), 12 deletions(-)
4005
4006 commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa
4007 Author: Lasse Collin <lasse.collin@tukaani.org>
4008 Date:   2022-12-01 20:57:26 +0200
4009
4010     Add NEWS for 5.3.5beta.
4011
4012  NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
4013  1 file changed, 43 insertions(+)
4014
4015 commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e
4016 Author: Lasse Collin <lasse.collin@tukaani.org>
4017 Date:   2022-12-01 20:57:09 +0200
4018
4019     Update THANKS.
4020
4021  THANKS | 3 +++
4022  1 file changed, 3 insertions(+)
4023
4024 commit 62b270988ec67314d69976df484d2974c6eacfda
4025 Author: Lasse Collin <lasse.collin@tukaani.org>
4026 Date:   2022-12-01 20:04:17 +0200
4027
4028     liblzma: Use __has_attribute(__symver__) to fix Clang detection.
4029     
4030     If someone sets up Clang to define __GNUC__ to 10 or greater
4031     then symvers broke. __has_attribute is supported by such GCC
4032     and Clang versions that don't support __symver__ so this should
4033     be much better and simpler way to detect if __symver__ is
4034     actually supported.
4035     
4036     Thanks to Tomasz Gajc for the bug report.
4037
4038  src/liblzma/common/common.h | 15 ++++++++++++++-
4039  1 file changed, 14 insertions(+), 1 deletion(-)
4040
4041 commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb
4042 Author: Lasse Collin <lasse.collin@tukaani.org>
4043 Date:   2022-12-01 18:51:52 +0200
4044
4045     liblzma: Omit zero-skipping from ARM64 filter.
4046     
4047     It has some complicated downsides and its usefulness is more limited
4048     than I originally thought. So this change is bad for certain very
4049     specific situations but a generic solution that works for other
4050     filters (and is otherwise better too) is planned anyway. And this
4051     way 7-Zip can use the same compatible filter for the .7z format.
4052     
4053     This is still marked as experimental with a new temporary Filter ID.
4054
4055  src/liblzma/api/lzma/bcj.h |  2 +-
4056  src/liblzma/simple/arm64.c | 81 +++++++++++++---------------------------------
4057  2 files changed, 24 insertions(+), 59 deletions(-)
4058
4059 commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b
4060 Author: Lasse Collin <lasse.collin@tukaani.org>
4061 Date:   2022-12-01 18:13:27 +0200
4062
4063     xz: Omit the special notes about ARM64 filter on the man page.
4064
4065  src/xz/xz.1 | 5 ++---
4066  1 file changed, 2 insertions(+), 3 deletions(-)
4067
4068 commit 0c3627b51862eb0dcdd4fc283d046250571991c6
4069 Author: Lasse Collin <lasse.collin@tukaani.org>
4070 Date:   2022-12-01 18:12:03 +0200
4071
4072     liblzma: Don't be over-specific in lzma_str_to_filters API doc.
4073
4074  src/liblzma/api/lzma/filter.h | 3 +--
4075  1 file changed, 1 insertion(+), 2 deletions(-)
4076
4077 commit 94adf057f27b1970f493dc99cd166407d7255639
4078 Author: Lasse Collin <lasse.collin@tukaani.org>
4079 Date:   2022-12-01 17:54:23 +0200
4080
4081     liblzma: Silence unused variable warning when BCJ filters are disabled.
4082     
4083     Thanks to Jia Tan for the original patch.
4084
4085  src/liblzma/common/string_conversion.c | 15 +++++++++++++++
4086  1 file changed, 15 insertions(+)
4087
4088 commit c68af4441744e5ffc41a472e1be9c9d53a1d9780
4089 Author: Lasse Collin <lasse.collin@tukaani.org>
4090 Date:   2022-12-01 17:38:03 +0200
4091
4092     Translations: Update the Chinese (simplified) translation.
4093
4094  po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++--------------------------
4095  1 file changed, 348 insertions(+), 260 deletions(-)
4096
4097 commit 3be6942e5c27d29995d41da52fbe274e4ce4a537
4098 Author: Lasse Collin <lasse.collin@tukaani.org>
4099 Date:   2022-11-30 18:55:03 +0200
4100
4101     Add NEWS for 5.2.9.
4102
4103  NEWS | 34 ++++++++++++++++++++++++++++++++++
4104  1 file changed, 34 insertions(+)
4105
4106 commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d
4107 Author: Jia Tan <jiat0218@gmail.com>
4108 Date:   2022-11-30 23:33:08 +0800
4109
4110     xz: Remove message_filters_to_str function prototype from message.h.
4111     
4112     This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b.
4113
4114  src/xz/message.h | 16 ----------------
4115  1 file changed, 16 deletions(-)
4116
4117 commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7
4118 Author: Lasse Collin <lasse.collin@tukaani.org>
4119 Date:   2022-11-30 18:08:34 +0200
4120
4121     Change the bug report address.
4122     
4123     It forwards to me and Jia Tan.
4124     
4125     Also update the IRC reference in README as #tukaani was moved
4126     to Libera Chat long ago.
4127
4128  CMakeLists.txt             |  2 +-
4129  README                     | 11 +++++------
4130  configure.ac               |  2 +-
4131  dos/config.h               |  2 +-
4132  windows/README-Windows.txt |  2 +-
4133  5 files changed, 9 insertions(+), 10 deletions(-)
4134
4135 commit c21983c76031e01da01ad3c6cc716fe4b8a75070
4136 Author: Lasse Collin <lasse.collin@tukaani.org>
4137 Date:   2022-11-30 17:50:17 +0200
4138
4139     Build: Add string_conversion.c to CMake, DOS, and VS files.
4140
4141  CMakeLists.txt                     | 1 +
4142  dos/Makefile                       | 1 +
4143  windows/vs2013/liblzma.vcxproj     | 1 +
4144  windows/vs2013/liblzma_dll.vcxproj | 1 +
4145  windows/vs2017/liblzma.vcxproj     | 1 +
4146  windows/vs2017/liblzma_dll.vcxproj | 1 +
4147  windows/vs2019/liblzma.vcxproj     | 1 +
4148  windows/vs2019/liblzma_dll.vcxproj | 1 +
4149  8 files changed, 8 insertions(+)
4150
4151 commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82
4152 Author: Lasse Collin <lasse.collin@tukaani.org>
4153 Date:   2022-11-30 17:38:32 +0200
4154
4155     Update to HTTPS URLs in AUTHORS.
4156
4157  AUTHORS | 6 +++---
4158  1 file changed, 3 insertions(+), 3 deletions(-)
4159
4160 commit 0a72b9ca2fe20082da9b7128fe0d908af947a851
4161 Author: Jia Tan <jiat0218@gmail.com>
4162 Date:   2022-11-30 00:52:06 +0800
4163
4164     liblzma: Improve documentation for string to filter functions.
4165
4166  src/liblzma/api/lzma/filter.h | 17 +++++++++--------
4167  1 file changed, 9 insertions(+), 8 deletions(-)
4168
4169 commit a6e21fcede3b196160a52dd294d965c508a4bb33
4170 Author: Lasse Collin <lasse.collin@tukaani.org>
4171 Date:   2022-11-29 22:27:42 +0200
4172
4173     liblzma: Two fixes to lzma_str_list_filters() API docs.
4174     
4175     Thanks to Jia Tan.
4176
4177  src/liblzma/api/lzma/filter.h | 6 +++---
4178  1 file changed, 3 insertions(+), 3 deletions(-)
4179
4180 commit 7484744af6cbabe81e92af7d9e061dfd597fff7b
4181 Author: Lasse Collin <lasse.collin@tukaani.org>
4182 Date:   2022-11-28 21:57:47 +0200
4183
4184     xz: Use lzma_str_from_filters().
4185     
4186     Two uses: Displaying encoder filter chain when compressing with -vv,
4187     and displaying the decoder filter chain in --list -vv.
4188
4189  src/xz/list.c    |  28 ++++++---
4190  src/xz/message.c | 175 +++----------------------------------------------------
4191  2 files changed, 28 insertions(+), 175 deletions(-)
4192
4193 commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203
4194 Author: Lasse Collin <lasse.collin@tukaani.org>
4195 Date:   2022-11-28 21:37:48 +0200
4196
4197     liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters.
4198     
4199     lzma_str_to_filters() uses static error messages which makes
4200     them not very precise. It tells the position in the string
4201     where an error occurred though which helps quite a bit if
4202     applications take advantage of it. Dynamic error messages can
4203     be added later with a new flag if it seems important enough.
4204
4205  src/liblzma/api/lzma/filter.h          |  258 +++++++
4206  src/liblzma/common/Makefile.inc        |    1 +
4207  src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++
4208  src/liblzma/liblzma_generic.map        |    3 +
4209  src/liblzma/liblzma_linux.map          |    3 +
4210  5 files changed, 1567 insertions(+)
4211
4212 commit 072ebf7b1335421193ffa9d4a70d5533786b8995
4213 Author: Lasse Collin <lasse.collin@tukaani.org>
4214 Date:   2022-11-28 21:02:19 +0200
4215
4216     liblzma: Make lzma_validate_chain() available outside filter_common.c.
4217
4218  src/liblzma/common/filter_common.c | 8 ++++----
4219  src/liblzma/common/filter_common.h | 3 +++
4220  2 files changed, 7 insertions(+), 4 deletions(-)
4221
4222 commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf
4223 Author: Lasse Collin <lasse.collin@tukaani.org>
4224 Date:   2022-11-28 10:51:03 +0200
4225
4226     liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused.
4227
4228  src/liblzma/lz/lz_decoder.c | 14 --------------
4229  src/liblzma/lz/lz_decoder.h |  3 ---
4230  2 files changed, 17 deletions(-)
4231
4232 commit cee83206465b95729ab649aa2f57fdbde8dcaf89
4233 Author: Lasse Collin <lasse.collin@tukaani.org>
4234 Date:   2022-11-28 10:48:53 +0200
4235
4236     liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder().
4237     
4238     Here too this avoids the slightly ugly method to set
4239     the uncompressed size.
4240     
4241     Also moved the setting of dict_size to the struct initializer.
4242
4243  src/liblzma/common/microlzma_decoder.c | 15 ++++++++-------
4244  1 file changed, 8 insertions(+), 7 deletions(-)
4245
4246 commit e310e8b6a490dfb468f4ed68feff246d776b323c
4247 Author: Lasse Collin <lasse.collin@tukaani.org>
4248 Date:   2022-11-28 10:28:20 +0200
4249
4250     liblzma: Use LZMA1EXT feature in lzma_alone_decoder().
4251     
4252     This avoids the need to use the slightly ugly method to
4253     set the uncompressed size.
4254
4255  src/liblzma/common/alone_decoder.c | 18 +++++++++++++-----
4256  1 file changed, 13 insertions(+), 5 deletions(-)
4257
4258 commit 33b8a24b6646a9dbfd8358405aec466b13078559
4259 Author: Lasse Collin <lasse.collin@tukaani.org>
4260 Date:   2022-11-27 23:16:21 +0200
4261
4262     liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker.
4263     
4264     Some file formats need support for LZMA1 streams that don't use
4265     the end of payload marker (EOPM) alias end of stream (EOS) marker.
4266     So far liblzma API has supported decompressing such streams via
4267     lzma_alone_decoder() when .lzma header specifies a known
4268     uncompressed size. Encoding support hasn't been available in the API.
4269     
4270     Instead of adding a new LZMA1-only API for this purpose, this commit
4271     adds a new filter ID for use with raw encoder and decoder. The main
4272     benefit of this approach is that then also filter chains are possible,
4273     for example, if someone wants to implement support for .7z files that
4274     use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported
4275     in liblzma).
4276
4277  src/liblzma/api/lzma/lzma12.h           | 123 ++++++++++++++++++++++++++++++--
4278  src/liblzma/common/filter_common.c      |   7 ++
4279  src/liblzma/common/filter_decoder.c     |   6 ++
4280  src/liblzma/common/filter_encoder.c     |   9 +++
4281  src/liblzma/lzma/lzma2_encoder.c        |   2 +-
4282  src/liblzma/lzma/lzma_decoder.c         |  26 ++++++-
4283  src/liblzma/lzma/lzma_encoder.c         |  40 +++++++++--
4284  src/liblzma/lzma/lzma_encoder.h         |   3 +-
4285  src/liblzma/lzma/lzma_encoder_private.h |   3 +
4286  9 files changed, 204 insertions(+), 15 deletions(-)
4287
4288 commit 9a304bf1e45b3ddf61aaeaa7c764915b34618ede
4289 Author: Lasse Collin <lasse.collin@tukaani.org>
4290 Date:   2022-11-27 18:43:07 +0200
4291
4292     liblzma: Avoid unneeded use of void pointer in LZMA decoder.
4293
4294  src/liblzma/lzma/lzma_decoder.c | 3 +--
4295  src/liblzma/lzma/lzma_decoder.h | 2 +-
4296  2 files changed, 2 insertions(+), 3 deletions(-)
4297
4298 commit 218394958c7683f892275bb40eae880620feebcc
4299 Author: Lasse Collin <lasse.collin@tukaani.org>
4300 Date:   2022-11-27 18:20:33 +0200
4301
4302     liblzma: Pass the Filter ID to LZ encoder and decoder.
4303     
4304     This allows using two Filter IDs with the same
4305     initialization function and data structures.
4306
4307  src/liblzma/common/alone_decoder.c     | 1 +
4308  src/liblzma/common/alone_encoder.c     | 1 +
4309  src/liblzma/common/common.h            | 7 +++++--
4310  src/liblzma/common/lzip_decoder.c      | 1 +
4311  src/liblzma/common/microlzma_decoder.c | 1 +
4312  src/liblzma/common/microlzma_encoder.c | 1 +
4313  src/liblzma/lz/lz_decoder.c            | 5 +++--
4314  src/liblzma/lz/lz_decoder.h            | 3 ++-
4315  src/liblzma/lz/lz_encoder.c            | 5 +++--
4316  src/liblzma/lz/lz_encoder.h            | 3 ++-
4317  src/liblzma/lzma/lzma2_decoder.c       | 3 ++-
4318  src/liblzma/lzma/lzma2_encoder.c       | 3 ++-
4319  src/liblzma/lzma/lzma_decoder.c        | 2 +-
4320  src/liblzma/lzma/lzma_encoder.c        | 2 +-
4321  14 files changed, 26 insertions(+), 12 deletions(-)
4322
4323 commit 1663c7676b76f4c514031797f3db1896e8100f7f
4324 Author: Lasse Collin <lasse.collin@tukaani.org>
4325 Date:   2022-11-27 01:03:16 +0200
4326
4327     liblzma: Remove two FIXME comments.
4328
4329  src/liblzma/common/filter_encoder.c | 4 ++--
4330  1 file changed, 2 insertions(+), 2 deletions(-)
4331
4332 commit 11fe708db783ac36ebeeb85da164e29e8c300910
4333 Author: Lasse Collin <lasse.collin@tukaani.org>
4334 Date:   2022-11-26 22:25:30 +0200
4335
4336     xz: Use lzma_filters_free().
4337
4338  src/xz/list.c | 8 ++------
4339  1 file changed, 2 insertions(+), 6 deletions(-)
4340
4341 commit e782af9110d8499c7ac2929bc871540eefea5ea1
4342 Author: Lasse Collin <lasse.collin@tukaani.org>
4343 Date:   2022-11-26 22:21:13 +0200
4344
4345     liblzma: Use lzma_filters_free() in more places.
4346
4347  src/liblzma/common/block_header_decoder.c | 20 ++------------------
4348  src/liblzma/common/stream_decoder.c       |  4 +---
4349  src/liblzma/common/stream_decoder_mt.c    | 22 +++++-----------------
4350  3 files changed, 8 insertions(+), 38 deletions(-)
4351
4352 commit 90caaded2dc6db1d6a55b01160d7e87f4a423628
4353 Author: Lasse Collin <lasse.collin@tukaani.org>
4354 Date:   2022-11-25 18:04:37 +0200
4355
4356     liblzma: Omit simple coder init functions if they are disabled.
4357
4358  src/liblzma/simple/arm.c      | 4 ++++
4359  src/liblzma/simple/armthumb.c | 4 ++++
4360  src/liblzma/simple/ia64.c     | 4 ++++
4361  src/liblzma/simple/powerpc.c  | 4 ++++
4362  src/liblzma/simple/sparc.c    | 4 ++++
4363  src/liblzma/simple/x86.c      | 4 ++++
4364  6 files changed, 24 insertions(+)
4365
4366 commit 5cd9f0df78cc4f8a7807bf6104adea13034fbb45
4367 Author: Lasse Collin <lasse.collin@tukaani.org>
4368 Date:   2022-11-24 23:24:59 +0200
4369
4370     xz: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
4371     
4372     Now that liblzma accepts these, we avoid the extra check and
4373     there's one message less for translators too.
4374
4375  src/xz/options.c | 5 -----
4376  1 file changed, 5 deletions(-)
4377
4378 commit 3be88ae071371caa279b44e13f4836fb178fe4ae
4379 Author: Lasse Collin <lasse.collin@tukaani.org>
4380 Date:   2022-11-24 23:23:55 +0200
4381
4382     liblzma: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
4383     
4384     That is, if the specified nice_len is smaller than the minimum
4385     of the match finder, silently use the match finder's minimum value
4386     instead of reporting an error. The old behavior is annoying to users
4387     and it complicates xz options handling too.
4388
4389  src/liblzma/lz/lz_encoder.c     | 14 +++++++++-----
4390  src/liblzma/lz/lz_encoder.h     |  9 +++++++++
4391  src/liblzma/lzma/lzma_encoder.c | 11 ++++++++---
4392  3 files changed, 26 insertions(+), 8 deletions(-)
4393
4394 commit 93439cfafe1768b3b18d67d2356ef7e7559bba59
4395 Author: Lasse Collin <lasse.collin@tukaani.org>
4396 Date:   2022-11-24 16:25:10 +0200
4397
4398     liblzma: Add lzma_filters_update() support to the multi-threaded encoder.
4399     
4400     A tiny downside of this is that now a 1-4 tiny allocations are made
4401     for every Block because each worker thread needs its own copy of
4402     the filter chain.
4403
4404  src/liblzma/api/lzma/filter.h          | 36 +++++++------
4405  src/liblzma/common/stream_encoder_mt.c | 96 +++++++++++++++++++++++++++++++---
4406  2 files changed, 109 insertions(+), 23 deletions(-)
4407
4408 commit 17ac51e689794eb41cab3e80946fec689caea2d2
4409 Author: Lasse Collin <lasse.collin@tukaani.org>
4410 Date:   2022-11-24 14:53:22 +0200
4411
4412     Update THANKS.
4413
4414  THANKS | 1 +
4415  1 file changed, 1 insertion(+)
4416
4417 commit 06824396b2b6c84f3a235cb7c19c2a9701167797
4418 Author: Lasse Collin <lasse.collin@tukaani.org>
4419 Date:   2022-11-24 14:52:44 +0200
4420
4421     Build: Don't put GNU/Linux-specific symbol versions into static liblzma.
4422     
4423     It not only makes no sense to put symbol versions into a static library
4424     but it can also cause breakage.
4425     
4426     By default Libtool #defines PIC if building a shared library and
4427     doesn't define it for static libraries. This is documented in the
4428     Libtool manual. It can be overriden using --with-pic or --without-pic.
4429     configure.ac detects if --with-pic or --without-pic is used and then
4430     gives an error if neither --disable-shared nor --disable-static was
4431     used at the same time. Thus, in normal situations it works to build
4432     both shared and static library at the same time on GNU/Linux,
4433     only --with-pic or --without-pic requires that only one type of
4434     library is built.
4435     
4436     Thanks to John Paul Adrian Glaubitz from Debian for reporting
4437     the problem that occurred on ia64:
4438     https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html
4439
4440  CMakeLists.txt              |   5 +-
4441  configure.ac                | 143 +++++++++++++++++++++++++++++---------------
4442  src/liblzma/common/common.h |  12 ++++
4443  3 files changed, 111 insertions(+), 49 deletions(-)
4444
4445 commit e1acf7107291f8b3d6d609a7133331ff36d35d14
4446 Author: Lasse Collin <lasse.collin@tukaani.org>
4447 Date:   2022-11-24 01:32:16 +0200
4448
4449     liblzma: Refactor to use lzma_filters_free().
4450     
4451     lzma_filters_free() sets the options to NULL and ids to
4452     LZMA_VLI_UNKNOWN so there is no need to do it by caller;
4453     the filter arrays will always be left in a safe state.
4454     
4455     Also use memcpy() instead of a loop to copy a filter chain
4456     when it is known to be safe to copy LZMA_FILTERS_MAX + 1
4457     (even if the elements past the terminator might be uninitialized).
4458
4459  src/liblzma/common/stream_encoder.c    | 16 ++++------------
4460  src/liblzma/common/stream_encoder_mt.c | 11 ++---------
4461  2 files changed, 6 insertions(+), 21 deletions(-)
4462
4463 commit cb05dbcf8b868441ec805016222f3fd77f1c5caa
4464 Author: Lasse Collin <lasse.collin@tukaani.org>
4465 Date:   2022-11-24 01:26:37 +0200
4466
4467     liblzma: Fix another invalid free() after memory allocation failure.
4468     
4469     This time it can happen when lzma_stream_encoder_mt() is used
4470     to reinitialize an existing multi-threaded Stream encoder
4471     and one of 1-4 tiny allocations in lzma_filters_copy() fail.
4472     
4473     It's very similar to the previous bug
4474     10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with
4475     an array of lzma_filter structures whose old options are freed
4476     but the replacement never arrives due to a memory allocation
4477     failure in lzma_filters_copy().
4478
4479  src/liblzma/common/stream_encoder_mt.c | 4 ++++
4480  1 file changed, 4 insertions(+)
4481
4482 commit 75f1a6c26df4ce329da0882786403e3ccf5cd898
4483 Author: Jia Tan <jiat0218@gmail.com>
4484 Date:   2022-05-05 20:53:42 +0800
4485
4486     liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder.
4487     
4488     The documentation mentions that lzma_block_encoder() supports
4489     LZMA_SYNC_FLUSH but it was never added to supported_actions[]
4490     in the internal structure. Because of this, LZMA_SYNC_FLUSH could
4491     not be used with the Block encoder unless it was the next coder
4492     after something like stream_encoder() or stream_encoder_mt().
4493
4494  src/liblzma/common/block_encoder.c | 1 +
4495  1 file changed, 1 insertion(+)
4496
4497 commit d0901645170b638c517f5c50866b6ef48f491c65
4498 Author: Lasse Collin <lasse.collin@tukaani.org>
4499 Date:   2022-11-24 01:02:50 +0200
4500
4501     liblzma: Add new API function lzma_filters_free().
4502     
4503     This is small but convenient and should have been added
4504     a long time ago.
4505
4506  src/liblzma/api/lzma/filter.h      | 21 +++++++++++++++++++++
4507  src/liblzma/common/filter_common.c | 26 ++++++++++++++++++++++++++
4508  src/liblzma/liblzma_generic.map    |  1 +
4509  src/liblzma/liblzma_linux.map      |  1 +
4510  4 files changed, 49 insertions(+)
4511
4512 commit ae1f8a723dcde2f2c5cf444bcbb5fc5026b3c3c5
4513 Author: Lasse Collin <lasse.collin@tukaani.org>
4514 Date:   2022-11-24 00:02:31 +0200
4515
4516     CMake: Don't use symbol versioning with static library.
4517
4518  CMakeLists.txt | 10 +++++++---
4519  1 file changed, 7 insertions(+), 3 deletions(-)
4520
4521 commit 48c1b99dc537a27e1ca929d8837e778e5ba32191
4522 Author: Lasse Collin <lasse.collin@tukaani.org>
4523 Date:   2022-11-23 21:55:22 +0200
4524
4525     liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy().
4526
4527  src/liblzma/api/lzma/filter.h | 3 ++-
4528  1 file changed, 2 insertions(+), 1 deletion(-)
4529
4530 commit 10430fbf3820dafd4eafd38ec8be161a6978ed2b
4531 Author: Lasse Collin <lasse.collin@tukaani.org>
4532 Date:   2022-11-23 21:26:21 +0200
4533
4534     liblzma: Fix invalid free() after memory allocation failure.
4535     
4536     The bug was in the single-threaded .xz Stream encoder
4537     in the code that is used for both re-initialization and for
4538     lzma_filters_update(). To trigger it, an application had
4539     to either re-initialize an existing encoder instance with
4540     lzma_stream_encoder() or use lzma_filters_update(), and
4541     then one of the 1-4 tiny allocations in lzma_filters_copy()
4542     (called from stream_encoder_update()) must fail. An error
4543     was correctly reported but the encoder state was corrupted.
4544     
4545     This is related to the recent fix in
4546     f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but
4547     it wasn't enough to fix the main problem in stream_encoder.c.
4548
4549  src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++--------
4550  1 file changed, 31 insertions(+), 8 deletions(-)
4551
4552 commit cafd6dc397ca8b5b5f7775e8d6876b8fe70f8e70
4553 Author: Lasse Collin <lasse.collin@tukaani.org>
4554 Date:   2022-11-22 16:37:15 +0200
4555
4556     liblzma: Fix language in a comment.
4557
4558  src/liblzma/common/stream_encoder.c | 2 +-
4559  1 file changed, 1 insertion(+), 1 deletion(-)
4560
4561 commit c392bf8ccba857baaf50399c4b460119befacd54
4562 Author: Lasse Collin <lasse.collin@tukaani.org>
4563 Date:   2022-11-22 11:20:17 +0200
4564
4565     liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB.
4566     
4567     The encoder doesn't support dictionary sizes larger than 1536 MiB.
4568     This is validated, for example, when calculating the memory usage
4569     via lzma_raw_encoder_memusage(). It is also enforced by the LZ
4570     part of the encoder initialization. However, LZMA encoder with
4571     LZMA_MODE_NORMAL did an unsafe calculation with dict_size before
4572     such validation and that results in an infinite loop if dict_size
4573     was 2 << 30 or greater.
4574
4575  src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++----
4576  1 file changed, 15 insertions(+), 4 deletions(-)
4577
4578 commit f50534c973a591ccf65485adfc827a8a7126ca6c
4579 Author: Lasse Collin <lasse.collin@tukaani.org>
4580 Date:   2022-11-21 13:02:33 +0200
4581
4582     liblzma: Fix two Doxygen commands in the API headers.
4583     
4584     These were caught by clang -Wdocumentation.
4585
4586  src/liblzma/api/lzma/hardware.h   | 2 +-
4587  src/liblzma/api/lzma/index_hash.h | 2 +-
4588  2 files changed, 2 insertions(+), 2 deletions(-)
4589
4590 commit 649d4872ed2f55196114a061d45b416fc4353569
4591 Author: Lasse Collin <lasse.collin@tukaani.org>
4592 Date:   2022-11-19 19:09:55 +0200
4593
4594     xz: Refactor duplicate code from hardware_memlimit_mtenc_get().
4595
4596  src/xz/hardware.c | 2 +-
4597  1 file changed, 1 insertion(+), 1 deletion(-)
4598
4599 commit d327743bb547a53364e5951a16e5f1663fe4b9ff
4600 Author: Lasse Collin <lasse.collin@tukaani.org>
4601 Date:   2022-11-19 19:06:13 +0200
4602
4603     xz: Add support --threads=+N so that -T+1 gives threaded mode.
4604
4605  src/xz/args.c     | 18 +++++++++++++++---
4606  src/xz/hardware.c | 17 +++++++++++++++--
4607  src/xz/hardware.h |  1 +
4608  src/xz/xz.1       | 21 ++++++++++++++++++++-
4609  4 files changed, 51 insertions(+), 6 deletions(-)
4610
4611 commit a11a2b8b5e830ba682c1d81aaa7078842b296995
4612 Author: Jia Tan <jiat0218@gmail.com>
4613 Date:   2022-11-19 23:18:04 +0800
4614
4615     CMake: Adds test_memlimit to CMake tests
4616
4617  CMakeLists.txt | 1 +
4618  1 file changed, 1 insertion(+)
4619
4620 commit 2af8d9e9b3f44f62d19e7c39297ec63af2e8c64f
4621 Author: Lasse Collin <lasse.collin@tukaani.org>
4622 Date:   2022-11-15 19:10:21 +0200
4623
4624     Translations: Update the Korean translation.
4625
4626  po/ko.po | 652 ++++++++++++++++++++++++++++++++++++---------------------------
4627  1 file changed, 371 insertions(+), 281 deletions(-)
4628
4629 commit 16ac05677292f7e21a4feaddcfb2ab062ea5f385
4630 Author: Lasse Collin <lasse.collin@tukaani.org>
4631 Date:   2022-11-15 19:09:28 +0200
4632
4633     Translations: Update the Turkish translation.
4634
4635  po/tr.po | 568 ++++++++++++++++++++++++++++++++++-----------------------------
4636  1 file changed, 310 insertions(+), 258 deletions(-)
4637
4638 commit b9a67d9a5fa207062d4aa8a01639234609315d31
4639 Author: Lasse Collin <lasse.collin@tukaani.org>
4640 Date:   2022-11-15 10:58:39 +0200
4641
4642     Bump version number for 5.3.4alpha.
4643
4644  src/liblzma/api/lzma/version.h  | 2 +-
4645  src/liblzma/liblzma_generic.map | 2 +-
4646  src/liblzma/liblzma_linux.map   | 2 +-
4647  3 files changed, 3 insertions(+), 3 deletions(-)
4648
4649 commit 5b999ba289b3280457b7386b9ac65dbbdf1575a5
4650 Author: Lasse Collin <lasse.collin@tukaani.org>
4651 Date:   2022-11-15 10:54:40 +0200
4652
4653     Add NEWS for 5.3.4alpha.
4654
4655  NEWS | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4656  1 file changed, 96 insertions(+)
4657
4658 commit ce8db9e37da4f6c87691c5066f51f91f2411c44a
4659 Author: Lasse Collin <lasse.collin@tukaani.org>
4660 Date:   2022-11-15 10:54:08 +0200
4661
4662     Add NEWS for 5.2.8.
4663
4664  NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4665  1 file changed, 79 insertions(+)
4666
4667 commit b56bc8251d2736224af6bdaaae734ceb8926a879
4668 Author: Lasse Collin <lasse.collin@tukaani.org>
4669 Date:   2022-11-14 23:19:57 +0200
4670
4671     Revert "liblzma: Simple/BCJ filters: Allow disabling generic BCJ options."
4672     
4673     This reverts commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
4674     and also does equivalent change to arm64.c.
4675     
4676     Now that ARM64 filter will use lzma_options_bcj, this change
4677     is not needed anymore.
4678
4679  src/liblzma/simple/arm.c            | 2 +-
4680  src/liblzma/simple/arm64.c          | 2 +-
4681  src/liblzma/simple/armthumb.c       | 2 +-
4682  src/liblzma/simple/ia64.c           | 2 +-
4683  src/liblzma/simple/powerpc.c        | 2 +-
4684  src/liblzma/simple/simple_coder.c   | 4 ++--
4685  src/liblzma/simple/simple_private.h | 2 +-
4686  src/liblzma/simple/sparc.c          | 2 +-
4687  src/liblzma/simple/x86.c            | 3 +--
4688  9 files changed, 10 insertions(+), 11 deletions(-)
4689
4690 commit 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35
4691 Author: Lasse Collin <lasse.collin@tukaani.org>
4692 Date:   2022-11-14 23:14:41 +0200
4693
4694     Replace the experimental ARM64 filter with a new experimental version.
4695     
4696     This is incompatible with the previous version.
4697     
4698     This has space/tab fixes in filter_*.c and bcj.h too.
4699
4700  src/liblzma/api/lzma/bcj.h          |  41 +-----
4701  src/liblzma/common/filter_common.c  |  14 +-
4702  src/liblzma/common/filter_decoder.c |  12 +-
4703  src/liblzma/common/filter_encoder.c |  17 +--
4704  src/liblzma/simple/arm64.c          | 283 ++++++++++++++----------------------
4705  src/liblzma/simple/simple_decoder.h |   4 -
4706  src/liblzma/simple/simple_encoder.h |   2 -
4707  src/xz/args.c                       |   2 +-
4708  src/xz/message.c                    |  13 +-
4709  src/xz/options.c                    |  39 -----
4710  src/xz/options.h                    |   7 -
4711  11 files changed, 147 insertions(+), 287 deletions(-)
4712
4713 commit f644473a211394447824ea00518d0a214ff3f7f2
4714 Author: Lasse Collin <lasse.collin@tukaani.org>
4715 Date:   2022-11-14 21:34:57 +0200
4716
4717     liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL.
4718     
4719     It also works on E2K as it supports these intrinsics.
4720     
4721     On x86-64 runtime detection is used so the code keeps working on
4722     older processors too. A CLMUL-only build can be done by using
4723     -msse4.1 -mpclmul in CFLAGS and this will reduce the library
4724     size since the generic implementation and its 8 KiB lookup table
4725     will be omitted.
4726     
4727     On 32-bit x86 this isn't used by default for now because by default
4728     on 32-bit x86 the separate assembly file crc64_x86.S is used.
4729     If --disable-assembler is used then this new CLMUL code is used
4730     the same way as on 64-bit x86. However, a CLMUL-only build
4731     (-msse4.1 -mpclmul) won't omit the 8 KiB lookup table on
4732     32-bit x86 due to a currently-missing check for disabled
4733     assembler usage.
4734     
4735     The configure.ac check should be such that the code won't be
4736     built if something in the toolchain doesn't support it but
4737     --disable-clmul-crc option can be used to unconditionally
4738     disable this feature.
4739     
4740     CLMUL speeds up decompression of files that have compressed very
4741     well (assuming CRC64 is used as a check type). It is know that
4742     the CLMUL code is significantly slower than the generic code for
4743     tiny inputs (especially 1-8 bytes but up to 16 bytes). If that
4744     is a real-world problem then there is already a commented-out
4745     variant that uses the generic version for small inputs.
4746     
4747     Thanks to Ilya Kurdyukov for the original patch which was
4748     derived from a white paper from Intel [1] (published in 2009)
4749     and public domain code from [2] (released in 2016).
4750     
4751     [1] https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf
4752     [2] https://github.com/rawrunprotected/crc
4753
4754  CMakeLists.txt                  |  26 ++-
4755  INSTALL                         |  12 ++
4756  configure.ac                    |  59 +++++-
4757  src/liblzma/check/crc64_fast.c  | 449 +++++++++++++++++++++++++++++++++++++++-
4758  src/liblzma/check/crc64_table.c |  21 +-
4759  5 files changed, 554 insertions(+), 13 deletions(-)
4760
4761 commit 3b466bc79672bb2b06d1245a500588e6026e0ba0
4762 Author: Lasse Collin <lasse.collin@tukaani.org>
4763 Date:   2022-11-14 20:14:34 +0200
4764
4765     Translations: Update the Swedish translation one more time.
4766
4767  po/sv.po | 6 +++---
4768  1 file changed, 3 insertions(+), 3 deletions(-)
4769
4770 commit e963379a8622ebdff6ce78e76b803bcd1e1d16d6
4771 Author: Lasse Collin <lasse.collin@tukaani.org>
4772 Date:   2022-11-14 19:34:15 +0200
4773
4774     Translations: Update the Swedish translation again.
4775
4776  po/sv.po | 16 ++++++++--------
4777  1 file changed, 8 insertions(+), 8 deletions(-)
4778
4779 commit a4bc689a823a2254f29ac9d233170add5121b307
4780 Author: Lasse Collin <lasse.collin@tukaani.org>
4781 Date:   2022-11-14 19:07:45 +0200
4782
4783     Translations: Update the Swedish translation.
4784
4785  po/sv.po | 671 ++++++++++++++++++++++++++++++++++++---------------------------
4786  1 file changed, 382 insertions(+), 289 deletions(-)
4787
4788 commit bbf2073d824ab4ba33bed4b77f467435abd333a5
4789 Author: Lasse Collin <lasse.collin@tukaani.org>
4790 Date:   2022-11-14 18:58:09 +0200
4791
4792     Translations: Update the Ukrainian translation.
4793
4794  po/uk.po | 618 ++++++++++++++++++++++++++++++++++++---------------------------
4795  1 file changed, 354 insertions(+), 264 deletions(-)
4796
4797 commit ac10b1b3622e70881595586edfb8a3ebdcd76bb6
4798 Author: Lasse Collin <lasse.collin@tukaani.org>
4799 Date:   2022-11-14 17:58:07 +0200
4800
4801     Build: Omit x86_64 from --enable-assembler.
4802     
4803     It didn't do anything. There are only 32-bit x86 assembly files
4804     and it feels likely that new files won't be added as intrinsics
4805     in C are more portable across toolchains and OSes.
4806
4807  configure.ac | 6 ++----
4808  1 file changed, 2 insertions(+), 4 deletions(-)
4809
4810 commit eb0f1450ad9f23dac03050d9c8375980240aee21
4811 Author: Lasse Collin <lasse.collin@tukaani.org>
4812 Date:   2022-11-14 16:00:52 +0200
4813
4814     liblzma: Use __attribute__((__constructor__)) if available.
4815     
4816     This uses it for CRC table initializations when using --disable-small.
4817     It avoids mythread_once() overhead. It also means that then
4818     --disable-small --disable-threads is thread-safe if this attribute
4819     is supported.
4820
4821  CMakeLists.txt                  | 15 +++++++++++++++
4822  INSTALL                         |  4 +++-
4823  configure.ac                    | 31 ++++++++++++++++++++++++++++---
4824  src/liblzma/check/crc32_small.c |  7 +++++++
4825  src/liblzma/check/crc64_small.c |  5 +++++
4826  src/liblzma/lz/lz_encoder.c     |  2 +-
4827  6 files changed, 59 insertions(+), 5 deletions(-)
4828
4829 commit 6553f49b11dafad35c73b05f12e14865ea1fd8a1
4830 Author: Lasse Collin <lasse.collin@tukaani.org>
4831 Date:   2022-11-12 21:19:52 +0200
4832
4833     Translations: Update the Romanian translation.
4834
4835  po/ro.po | 651 +++++++++++++++++++++++++++++++++++++--------------------------
4836  1 file changed, 380 insertions(+), 271 deletions(-)
4837
4838 commit db97e69e12393becc29f8febd53133d0d36989bd
4839 Author: Lasse Collin <lasse.collin@tukaani.org>
4840 Date:   2022-11-12 21:17:45 +0200
4841
4842     Translations: Update the Hungarian translation.
4843
4844  po/hu.po | 625 ++++++++++++++++++++++++++++++++++++---------------------------
4845  1 file changed, 357 insertions(+), 268 deletions(-)
4846
4847 commit 2bbb9c0f3829a8b121b36998d273a6c6f92000f4
4848 Author: Lasse Collin <lasse.collin@tukaani.org>
4849 Date:   2022-11-11 17:58:57 +0200
4850
4851     Translations: Update the Finnish translation.
4852
4853  po/fi.po | 610 ++++++++++++++++++++++++++++++++++++---------------------------
4854  1 file changed, 348 insertions(+), 262 deletions(-)
4855
4856 commit 3c8cbb8137b6f8ed9416c1209d73cdbcb015251f
4857 Author: Lasse Collin <lasse.collin@tukaani.org>
4858 Date:   2022-11-11 17:58:18 +0200
4859
4860     Translations: Update the Croatian translation.
4861
4862  po/hr.po | 680 +++++++++++++++++++++++++++++++++++----------------------------
4863  1 file changed, 381 insertions(+), 299 deletions(-)
4864
4865 commit 26c3359eac0988d6f3986735cd1363bec1678e8e
4866 Author: Lasse Collin <lasse.collin@tukaani.org>
4867 Date:   2022-11-11 17:57:18 +0200
4868
4869     Translations: Update the Polish translation.
4870
4871  po/pl.po | 569 ++++++++++++++++++++++++++++++++++-----------------------------
4872  1 file changed, 309 insertions(+), 260 deletions(-)
4873
4874 commit 577e467b137c735afb8de6ae71ac7a73c2960cc4
4875 Author: Lasse Collin <lasse.collin@tukaani.org>
4876 Date:   2022-11-11 17:56:44 +0200
4877
4878     Translations: Update the Spanish translation.
4879
4880  po/es.po | 598 ++++++++++++++++++++++++++++++++++++---------------------------
4881  1 file changed, 344 insertions(+), 254 deletions(-)
4882
4883 commit f9b4ff6e9a0f1678650775582d3e4fe782abce97
4884 Author: Lasse Collin <lasse.collin@tukaani.org>
4885 Date:   2022-11-11 17:16:03 +0200
4886
4887     Update THANKS.
4888
4889  THANKS | 1 +
4890  1 file changed, 1 insertion(+)
4891
4892 commit a39961ef211e1bf030b17edeea3cff29fe263b67
4893 Author: Lasse Collin <lasse.collin@tukaani.org>
4894 Date:   2022-11-11 17:15:25 +0200
4895
4896     liblzma: Fix building with Intel ICC (the classic compiler).
4897     
4898     It claims __GNUC__ >= 10 but doesn't support __symver__ attribute.
4899     
4900     Thanks to Stephen Sachs.
4901
4902  src/liblzma/common/common.h | 2 +-
4903  1 file changed, 1 insertion(+), 1 deletion(-)
4904
4905 commit c715f683dcb1a817d565da292cddfbceda643e12
4906 Author: Lasse Collin <lasse.collin@tukaani.org>
4907 Date:   2022-11-11 14:35:58 +0200
4908
4909     liblzma: Fix incorrect #ifdef for x86 SSE2 support.
4910     
4911     __SSE2__ is the correct macro for SSE2 support with GCC, Clang,
4912     and ICC. __SSE2_MATH__ means doing floating point math with SSE2
4913     instead of 387. Often the latter macro is defined if the first
4914     one is but it was still a bug.
4915
4916  src/liblzma/common/memcmplen.h | 3 +--
4917  1 file changed, 1 insertion(+), 2 deletions(-)
4918
4919 commit bd334ae56afe7f642ad4d0f1ac19e74e82daa1ce
4920 Author: Lasse Collin <lasse.collin@tukaani.org>
4921 Date:   2022-11-11 13:27:06 +0200
4922
4923     Add NEWS for 5.2.7 (forgotten cherry-pick from v5.2).
4924
4925  NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4926  1 file changed, 74 insertions(+)
4927
4928 commit 3c7860cf49de6f81046b3a4034a89f3a4803a576
4929 Author: Lasse Collin <lasse.collin@tukaani.org>
4930 Date:   2022-11-11 13:16:21 +0200
4931
4932     xzdiff: Add support for .lz files.
4933     
4934     The other scripts don't need changes for .lz support because
4935     in those scripts it is enough that xz supports .lz.
4936
4937  src/scripts/xzdiff.in | 10 +++++-----
4938  1 file changed, 5 insertions(+), 5 deletions(-)
4939
4940 commit d76c752a6d77052e5ad57ade555082585f7ac5d8
4941 Author: Lasse Collin <lasse.collin@tukaani.org>
4942 Date:   2022-11-11 12:23:58 +0200
4943
4944     Scripts: Ignore warnings from xz.
4945     
4946     In practice this means making the scripts work when
4947     the input files have an unsupported check type which
4948     isn't a problem in practice unless support for
4949     some check types has been disabled at build time.
4950
4951  src/scripts/xzdiff.in | 5 +++--
4952  src/scripts/xzgrep.in | 2 +-
4953  src/scripts/xzless.in | 4 ++--
4954  src/scripts/xzmore.in | 4 ++--
4955  4 files changed, 8 insertions(+), 7 deletions(-)
4956
4957 commit 6552535afd1fe29d726ab6e68cf14ce3624fd48c
4958 Author: Lasse Collin <lasse.collin@tukaani.org>
4959 Date:   2022-11-10 12:34:43 +0200
4960
4961     Translations: Rename poa4/fr_FR.po to po4a/fr.po.
4962     
4963     That's how it is preferred at the Translation Project.
4964     On my system /usr/share/man/fr_FR doesn't contain any
4965     other man pages than XZ Utils while /usr/share/man/fr
4966     has quite a few, so this will fix that too.
4967     
4968     Thanks to Benno Schulenberg from the Translation Project.
4969
4970  po4a/{fr_FR.po => fr.po} | 0
4971  po4a/po4a.conf           | 2 +-
4972  2 files changed, 1 insertion(+), 1 deletion(-)
4973
4974 commit 0918159ce4c75bfb60aff0193b559f8a9f41d25a
4975 Author: Lasse Collin <lasse.collin@tukaani.org>
4976 Date:   2022-11-09 18:48:50 +0200
4977
4978     xz: Update the man page about BCJ filters, including upcoming --arm64.
4979     
4980     The --arm64 isn't actually implemented yet in the form
4981     described in this commit.
4982     
4983     Thanks to Jia Tan.
4984
4985  src/xz/xz.1 | 66 +++++++++++++++++++++++++++----------------------------------
4986  1 file changed, 29 insertions(+), 37 deletions(-)
4987
4988 commit ba2ae3596f6be1587495f33b367488f6e00e56f1
4989 Author: Lasse Collin <lasse.collin@tukaani.org>
4990 Date:   2022-11-09 18:14:14 +0200
4991
4992     xz: Add --arm64 to --long-help and omit endianness from ARM(-Thumb).
4993     
4994     Modern 32-bit ARM in big endian mode use little endian for
4995     instruction encoding still, so the filters work on such
4996     executables too. It's likely less confusing for users this way.
4997     
4998     The --arm64 option hasn't been implemented yet (there is
4999     --experimental-arm64 but it's different). The --arm64 option
5000     is added now anyway because this is the likely result and the
5001     strings need to be ready for translators.
5002     
5003     Thanks to Jia Tan.
5004
5005  src/xz/message.c | 5 +++--
5006  1 file changed, 3 insertions(+), 2 deletions(-)
5007
5008 commit 802d57d9215d9c81dbee86edb43c9e93a7f7ec55
5009 Author: Lasse Collin <lasse.collin@tukaani.org>
5010 Date:   2022-11-09 15:12:13 +0200
5011
5012     Windows: Update the VS project files for ARM64 and .lz support.
5013
5014  windows/vs2013/config.h            | 9 +++++++++
5015  windows/vs2013/liblzma.vcxproj     | 5 ++++-
5016  windows/vs2013/liblzma_dll.vcxproj | 5 ++++-
5017  windows/vs2017/config.h            | 9 +++++++++
5018  windows/vs2017/liblzma.vcxproj     | 3 +++
5019  windows/vs2017/liblzma_dll.vcxproj | 3 +++
5020  windows/vs2019/config.h            | 9 +++++++++
5021  windows/vs2019/liblzma.vcxproj     | 5 ++++-
5022  windows/vs2019/liblzma_dll.vcxproj | 5 ++++-
5023  9 files changed, 49 insertions(+), 4 deletions(-)
5024
5025 commit 5846aeda05972bc803c6094821ae836229ebe691
5026 Author: Lasse Collin <lasse.collin@tukaani.org>
5027 Date:   2022-11-09 14:57:48 +0200
5028
5029     DOS: Update Makefile and config.h to include ARM64 and .lz support.
5030
5031  dos/Makefile | 2 ++
5032  dos/config.h | 9 +++++++++
5033  2 files changed, 11 insertions(+)
5034
5035 commit 781da8d6c44de6aa278c916375250668a0b107f2
5036 Author: Lasse Collin <lasse.collin@tukaani.org>
5037 Date:   2022-11-09 14:45:05 +0200
5038
5039     CMake: Add lzip decoder files and #define to the build.
5040
5041  CMakeLists.txt | 3 +++
5042  1 file changed, 3 insertions(+)
5043
5044 commit df8ad4af65a9c4846b108550d0083770a69dee64
5045 Author: Lasse Collin <lasse.collin@tukaani.org>
5046 Date:   2022-11-09 14:41:56 +0200
5047
5048     Docs: Update INSTALL and also add new prohibited options to PACKAGERS.
5049
5050  INSTALL   | 49 +++++++++++++++++++++++++++++++++++++++++--------
5051  PACKAGERS |  2 ++
5052  2 files changed, 43 insertions(+), 8 deletions(-)
5053
5054 commit c8ef089c149afaab413c3a51be827dd1d11afe0e
5055 Author: Lasse Collin <lasse.collin@tukaani.org>
5056 Date:   2022-10-20 17:39:06 +0300
5057
5058     Tests: Test the .lz files in test_files.sh.
5059
5060  tests/test_files.sh | 25 +++++++++++++++++++++++++
5061  1 file changed, 25 insertions(+)
5062
5063 commit c8f70ebb4628ceb6cb29cc9195d9deadf69d2bd7
5064 Author: Lasse Collin <lasse.collin@tukaani.org>
5065 Date:   2022-10-20 15:35:59 +0300
5066
5067     Tests: Add .lz (lzip) test files.
5068
5069  tests/files/README                     | 109 +++++++++++++++++++++++++++++----
5070  tests/files/bad-1-v0-uncomp-size.lz    | Bin 0 -> 42 bytes
5071  tests/files/bad-1-v1-crc32.lz          | Bin 0 -> 50 bytes
5072  tests/files/bad-1-v1-dict-1.lz         | Bin 0 -> 50 bytes
5073  tests/files/bad-1-v1-dict-2.lz         | Bin 0 -> 50 bytes
5074  tests/files/bad-1-v1-magic-1.lz        | Bin 0 -> 50 bytes
5075  tests/files/bad-1-v1-magic-2.lz        | Bin 0 -> 50 bytes
5076  tests/files/bad-1-v1-member-size.lz    | Bin 0 -> 50 bytes
5077  tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes
5078  tests/files/bad-1-v1-uncomp-size.lz    | Bin 0 -> 50 bytes
5079  tests/files/good-1-v0-trailing-1.lz    | Bin 0 -> 59 bytes
5080  tests/files/good-1-v0.lz               | Bin 0 -> 42 bytes
5081  tests/files/good-1-v1-trailing-1.lz    | Bin 0 -> 67 bytes
5082  tests/files/good-1-v1-trailing-2.lz    | Bin 0 -> 70 bytes
5083  tests/files/good-1-v1.lz               | Bin 0 -> 50 bytes
5084  tests/files/good-2-v0-v1.lz            | Bin 0 -> 78 bytes
5085  tests/files/good-2-v1-v0.lz            | Bin 0 -> 78 bytes
5086  tests/files/good-2-v1-v1.lz            | Bin 0 -> 86 bytes
5087  tests/files/unsupported-1-v234.lz      | Bin 0 -> 50 bytes
5088  19 files changed, 98 insertions(+), 11 deletions(-)
5089
5090 commit 731db13e6fa3ad3e3fc786c0ccf6eac4cce6865f
5091 Author: Lasse Collin <lasse.collin@tukaani.org>
5092 Date:   2022-10-19 22:32:51 +0300
5093
5094     xz: Remove the commented-out FORMAT_GZIP, gzip, .gz, and .tgz.
5095
5096  src/xz/args.c   | 2 --
5097  src/xz/coder.h  | 1 -
5098  src/xz/suffix.c | 9 ---------
5099  3 files changed, 12 deletions(-)
5100
5101 commit 3176f992c55b8d788c4633809aaf9447376a5a12
5102 Author: Lasse Collin <lasse.collin@tukaani.org>
5103 Date:   2022-10-08 21:28:15 +0300
5104
5105     xz: Add .lz (lzip) decompression support.
5106     
5107     If configured with --disable-lzip-decoder then --long-help will
5108     still list `lzip' in --format but I left it like that since
5109     due to translations it would be messy to have two help strings.
5110     Features are disabled only in special situations so wrong help
5111     in such a situation shouldn't matter much.
5112     
5113     Thanks to Michał Górny for the original patch.
5114
5115  src/xz/args.c    |  9 ++++++++
5116  src/xz/coder.c   | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
5117  src/xz/coder.h   |  3 +++
5118  src/xz/message.c |  2 +-
5119  src/xz/suffix.c  | 26 ++++++++++++++++++----
5120  src/xz/xz.1      | 46 +++++++++++++++++++++++++++++++++-----
5121  6 files changed, 141 insertions(+), 13 deletions(-)
5122
5123 commit 034086e1ae1459210837a24e04878435c86dc41b
5124 Author: Lasse Collin <lasse.collin@tukaani.org>
5125 Date:   2022-10-08 00:29:20 +0300
5126
5127     liblzma: Add .lz support to lzma_auto_decoder().
5128     
5129     Thanks to Michał Górny for the original patch.
5130
5131  src/liblzma/api/lzma/container.h  | 10 ++++++----
5132  src/liblzma/common/Makefile.inc   |  3 ++-
5133  src/liblzma/common/auto_decoder.c | 23 +++++++++++++++++------
5134  src/liblzma/common/lzip_decoder.h | 22 ++++++++++++++++++++++
5135  4 files changed, 47 insertions(+), 11 deletions(-)
5136
5137 commit 0538db038f3cdc352007dacb42454aa1806b8e40
5138 Author: Lasse Collin <lasse.collin@tukaani.org>
5139 Date:   2022-10-06 15:50:20 +0300
5140
5141     liblzma: Add .lz (lzip) decompression support (format versions 0 and 1).
5142     
5143     Support for format version 0 was removed from lzip 1.18 for some
5144     reason. .lz format version 0 files are rare (and old) but some
5145     source packages were released in this format, and some people might
5146     have personal files in this format too. It's very little extra code
5147     to support it along side format version 1 so this commits adds
5148     support for both.
5149     
5150     The Sync Flush marker extentension to the original .lz format
5151     version 1 isn't supported. It would require changes to the
5152     LZMA decoder itself. Such files are very rare anyway.
5153     
5154     See the API doc for lzma_lzip_decoder() for more details about
5155     the .lz format support.
5156     
5157     Thanks to Michał Górny for the original patch.
5158
5159  configure.ac                      |  21 ++
5160  src/liblzma/api/lzma/container.h  |  62 +++++-
5161  src/liblzma/common/Makefile.inc   |   5 +
5162  src/liblzma/common/lzip_decoder.c | 413 ++++++++++++++++++++++++++++++++++++++
5163  src/liblzma/liblzma_generic.map   |   1 +
5164  src/liblzma/liblzma_linux.map     |   1 +
5165  6 files changed, 501 insertions(+), 2 deletions(-)
5166
5167 commit 633d48a075b9ce4b9c08a7a56a7eb4cabc18100c
5168 Author: Lasse Collin <lasse.collin@tukaani.org>
5169 Date:   2022-11-09 14:17:23 +0200
5170
5171     liblzma: Add the missing Makefile.inc change for --disable-microlzma.
5172     
5173     This was forgotten from commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8.
5174
5175  src/liblzma/common/Makefile.inc | 12 ++++++++++--
5176  1 file changed, 10 insertions(+), 2 deletions(-)
5177
5178 commit 724285dadbdc88765c8fb83eab9816575a260966
5179 Author: Lasse Collin <lasse.collin@tukaani.org>
5180 Date:   2022-11-09 14:10:52 +0200
5181
5182     xz: Add comments about stdin and src_st.st_size.
5183     
5184     "xz -v < regular_file > out.xz" doesn't display the percentage
5185     and estimated remaining time because it doesn't even try to
5186     check the input file size when input is read from stdin.
5187     This could be improved but for now there's just a comment
5188     to remind about it.
5189
5190  src/xz/coder.c   | 9 +++++++++
5191  src/xz/file_io.c | 4 ++++
5192  2 files changed, 13 insertions(+)
5193
5194 commit f723eec68b0e44234910f669a29119de33018967
5195 Author: Lasse Collin <lasse.collin@tukaani.org>
5196 Date:   2022-11-09 12:48:22 +0200
5197
5198     xz: Fix displaying of file sizes in progress indicator in passthru mode.
5199     
5200     It worked for one input file since the counters are zero when
5201     xz starts but they weren't reset when starting a new file in
5202     passthru mode. For example, if files A, B, and C are one byte each,
5203     then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes
5204     instead of 1, 1, and 1 byte.
5205
5206  src/xz/coder.c | 6 +++++-
5207  1 file changed, 5 insertions(+), 1 deletion(-)
5208
5209 commit 69265d0f223ddf1d66f799b8b047df22923e376f
5210 Author: Lasse Collin <lasse.collin@tukaani.org>
5211 Date:   2022-11-09 11:27:20 +0200
5212
5213     xz: Add a comment why --to-stdout is not in --help.
5214     
5215     It is on the man page still.
5216
5217  src/xz/message.c | 3 +++
5218  1 file changed, 3 insertions(+)
5219
5220 commit fe6b8852a3c6a0eb5a3c33512e0a69af257d3bc7
5221 Author: Lasse Collin <lasse.collin@tukaani.org>
5222 Date:   2022-11-08 23:05:37 +0200
5223
5224     xz: Make xz -lvv show that the upcoming --arm64 needs 5.4.0 to decompress.
5225
5226  src/xz/list.c | 20 +++++++++++++++-----
5227  1 file changed, 15 insertions(+), 5 deletions(-)
5228
5229 commit fb3f05ac9f2b4b0e3643401960fbeab31997ac7a
5230 Author: Lasse Collin <lasse.collin@tukaani.org>
5231 Date:   2022-11-08 22:26:54 +0200
5232
5233     Docs: Update faq.txt a little.
5234
5235  doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++---------------------
5236  1 file changed, 43 insertions(+), 23 deletions(-)
5237
5238 commit 05331f091ec3b68eccbfb2a9a7a576072768fb4b
5239 Author: Lasse Collin <lasse.collin@tukaani.org>
5240 Date:   2022-11-08 16:57:17 +0200
5241
5242     Translations: Update Turkish translation.
5243
5244  po/tr.po | 2 +-
5245  1 file changed, 1 insertion(+), 1 deletion(-)
5246
5247 commit ed3a4822963b4940d84e6f44d47277c394fc046d
5248 Author: Lasse Collin <lasse.collin@tukaani.org>
5249 Date:   2022-11-08 14:55:32 +0200
5250
5251     Translations: Update Croatian translation.
5252
5253  po/hr.po | 190 ++++++++++++++++++++++++++++++++-------------------------------
5254  1 file changed, 96 insertions(+), 94 deletions(-)
5255
5256 commit 4746f5ec721316bc4c6fec9905b2902e0360e0af
5257 Author: Lasse Collin <lasse.collin@tukaani.org>
5258 Date:   2022-11-08 14:13:03 +0200
5259
5260     liblzma: Update API docs about decoder flags.
5261
5262  src/liblzma/api/lzma/container.h | 21 +++++++++++++++++----
5263  1 file changed, 17 insertions(+), 4 deletions(-)
5264
5265 commit 8779a9db5d0cec00c9dc9e9965dd2dda04f9d80d
5266 Author: Lasse Collin <lasse.collin@tukaani.org>
5267 Date:   2022-11-08 14:01:50 +0200
5268
5269     liblzma: Use the return_if_error() macro in alone_decoder.c.
5270
5271  src/liblzma/common/alone_decoder.c | 6 ++----
5272  1 file changed, 2 insertions(+), 4 deletions(-)
5273
5274 commit 3f4990b6822961e75cd9b4e2e82b1df63f6f8fcc
5275 Author: Lasse Collin <lasse.collin@tukaani.org>
5276 Date:   2022-11-08 14:00:58 +0200
5277
5278     liblzma: Fix a comment in auto_decoder.c.
5279
5280  src/liblzma/common/auto_decoder.c | 4 ++--
5281  1 file changed, 2 insertions(+), 2 deletions(-)
5282
5283 commit 026a5897c72a2041ae08ceec54ce8b1cdeb51334
5284 Author: Lasse Collin <lasse.collin@tukaani.org>
5285 Date:   2022-11-08 13:43:19 +0200
5286
5287     xz: Initialize the pledge(2) sandbox at the very beginning of main().
5288     
5289     It feels better that the initializations are sandboxed too.
5290     They don't do anything that the pledge() call wouldn't allow.
5291
5292  src/xz/main.c | 27 ++++++++++++++-------------
5293  1 file changed, 14 insertions(+), 13 deletions(-)
5294
5295 commit 49a59f6ca001c3ce9affa2c162b437aad021b4d5
5296 Author: Lasse Collin <lasse.collin@tukaani.org>
5297 Date:   2022-11-07 22:51:16 +0200
5298
5299     xz: Extend --robot --info-memory output.
5300     
5301     Now it includes everything that the human-readable --info-memory shows.
5302
5303  src/xz/hardware.c | 24 +++++++++++++++---------
5304  src/xz/xz.1       | 47 +++++++++++++++++++++++++++++++++++++++++------
5305  2 files changed, 56 insertions(+), 15 deletions(-)
5306
5307 commit 5e2450c75cbac966c62cf2231c824f2cc91ddba8
5308 Author: Lasse Collin <lasse.collin@tukaani.org>
5309 Date:   2022-11-07 17:22:04 +0200
5310
5311     liblzma: Include cached memory in reported memusage in threaded decoder.
5312     
5313     This affects lzma_memusage() and lzma_memlimit_set() when used
5314     with the threaded decompressor. Now all allocations are reported
5315     by lzma_memusage() (so it's not misleading) and lzma_memlimit_set()
5316     cannot lower the limit below that value.
5317     
5318     The alternative would have been to allow lowering the limit if
5319     doing so is possible by freeing the cached memory but since
5320     the primary use case of lzma_memlimit_set() is to increase
5321     memlimit after LZMA_MEMLIMIT_ERROR this simple approach
5322     was selected.
5323     
5324     The cached memory was always included when enforcing
5325     the memory usage limit while decoding.
5326     
5327     Thanks to Jia Tan.
5328
5329  src/liblzma/common/stream_decoder_mt.c | 22 +++++++++++++++++++---
5330  1 file changed, 19 insertions(+), 3 deletions(-)
5331
5332 commit 1fc6e7dd1fabdb60124d449b99273330ccab3ff1
5333 Author: Jia Tan <jiat0218@gmail.com>
5334 Date:   2022-11-07 16:24:14 +0200
5335
5336     xz: Avoid a compiler warning in progress_speed() in message.c.
5337     
5338     This should be smaller too since it avoids the string constants.
5339
5340  src/xz/message.c | 9 +++------
5341  1 file changed, 3 insertions(+), 6 deletions(-)
5342
5343 commit cf118c014683069b5dbe91898acdc40f2f0a1f5d
5344 Author: Lasse Collin <lasse.collin@tukaani.org>
5345 Date:   2022-10-31 16:26:05 +0200
5346
5347     Build: Clarify comment in configure.ac about SSE2.
5348
5349  configure.ac | 5 ++++-
5350  1 file changed, 4 insertions(+), 1 deletion(-)
5351
5352 commit aad3c609ffb72f581a7a2b67be3ad70b2b327840
5353 Author: Lasse Collin <lasse.collin@tukaani.org>
5354 Date:   2022-10-31 16:16:37 +0200
5355
5356     Build: Remove obsolete commented-out lines from configure.ac.
5357
5358  configure.ac | 4 ----
5359  1 file changed, 4 deletions(-)
5360
5361 commit e53e0e2186c6b8ce866bd19aec52f1c318ed31ba
5362 Author: Lasse Collin <lasse.collin@tukaani.org>
5363 Date:   2022-10-31 13:31:58 +0200
5364
5365     Windows: Fix mythread_once() macro with Vista threads.
5366     
5367     Don't call InitOnceComplete() if initialization was already done.
5368     
5369     So far mythread_once() has been needed only when building
5370     with --enable-small. windows/build.bash does this together
5371     with --disable-threads so the Vista-specific mythread_once()
5372     is never needed by those builds. VS project files or
5373     CMake-builds don't support HAVE_SMALL builds at all.
5374
5375  src/common/mythread.h | 7 ++++---
5376  1 file changed, 4 insertions(+), 3 deletions(-)
5377
5378 commit 48dde3bab9dc04081acb5aa7cf7c5044b8a49f58
5379 Author: Lasse Collin <lasse.collin@tukaani.org>
5380 Date:   2022-10-31 11:54:44 +0200
5381
5382     liblzma: Silence -Wconversion warning from crc64_fast.c.
5383
5384  src/liblzma/check/crc64_fast.c | 5 +++--
5385  1 file changed, 3 insertions(+), 2 deletions(-)
5386
5387 commit a243c617ff249d915ac123de4f536b80322c1fdb
5388 Author: Lasse Collin <lasse.collin@tukaani.org>
5389 Date:   2022-10-31 11:49:47 +0200
5390
5391     CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4.
5392     
5393     This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43.
5394
5395  cmake/tuklib_cpucores.cmake | 5 +++++
5396  1 file changed, 5 insertions(+)
5397
5398 commit 05c72de06fcaaedc78f8abba7d5ec568ddcf1e75
5399 Author: Lasse Collin <lasse.collin@tukaani.org>
5400 Date:   2022-10-27 15:49:18 +0300
5401
5402     Tests: test_files.sh: Make it not fail if features were disabled at build.
5403     
5404     It now tries to test as many files as easily possible.
5405     The exit status indicates skipping if any of the files were
5406     skipped. This way it is easy to notice if something is being
5407     skipped when it isn't expected.
5408
5409  tests/test_files.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
5410  1 file changed, 46 insertions(+), 4 deletions(-)
5411
5412 commit b3459327a51f4b8239d19e6c34b4e0c6bc2d81de
5413 Author: Lasse Collin <lasse.collin@tukaani.org>
5414 Date:   2022-10-27 15:30:13 +0300
5415
5416     Tests: test_files.sh: Suppress an expected warning from the log.
5417     
5418     xz (but not xzdec) will normally warn about unsupported check
5419     but since we are testing specifically such a file, it's better
5420     to silence that warning so that it doesn't look suspicious in
5421     test_files.sh.log.
5422     
5423     The use of -q and -Q in xzdec is just for consistency and
5424     doesn't affect the result at least for now.
5425
5426  tests/test_files.sh | 4 ++--
5427  1 file changed, 2 insertions(+), 2 deletions(-)
5428
5429 commit 798c86e4231e0835ab76ccd0810c8ea30833b2ce
5430 Author: Lasse Collin <lasse.collin@tukaani.org>
5431 Date:   2022-10-27 15:27:50 +0300
5432
5433     Tests: test_files.sh: Print the reason for skipping if xz & xzdec missing.
5434
5435  tests/test_files.sh | 1 +
5436  1 file changed, 1 insertion(+)
5437
5438 commit c1dd8524e1af07f16b790463899de06a6a5fcc08
5439 Author: Lasse Collin <lasse.collin@tukaani.org>
5440 Date:   2022-10-27 01:12:40 +0300
5441
5442     Tests: Keep test_compress_* working when some filters are unavailable.
5443
5444  tests/test_compress.sh | 34 ++++++++++++++++++++--------------
5445  1 file changed, 20 insertions(+), 14 deletions(-)
5446
5447 commit ce30ada91951d0746879ae438da11f1ee8a90aa0
5448 Author: Jia Tan <jiat0218@gmail.com>
5449 Date:   2022-10-23 21:01:08 +0800
5450
5451     Tests: test_bcj_exact_size skips properly now if PowerPC filter disabled.
5452
5453  tests/test_bcj_exact_size.c | 3 +++
5454  1 file changed, 3 insertions(+)
5455
5456 commit 89c5cfcacaca7130509fac836e2f30c46b824502
5457 Author: Lasse Collin <lasse.collin@tukaani.org>
5458 Date:   2022-10-26 00:05:57 +0300
5459
5460     Tests: Test also unsupported-*.xz.
5461
5462  tests/test_files.sh | 37 +++++++++++++++++++++++++++++++++++++
5463  1 file changed, 37 insertions(+)
5464
5465 commit a4b214b93ac741edef9c41e55865b0b867ca2587
5466 Author: Lasse Collin <lasse.collin@tukaani.org>
5467 Date:   2022-10-25 23:45:03 +0300
5468
5469     Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER.
5470     
5471     We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS.
5472     
5473     There is a warning about AC_PROG_CC_C99 being obsolete but
5474     it cannot be removed because it is needed with Autoconf 2.69.
5475
5476  configure.ac | 2 +-
5477  1 file changed, 1 insertion(+), 1 deletion(-)
5478
5479 commit 04f299b64e73f50afc188c2590ebebc6b73ed744
5480 Author: Lasse Collin <lasse.collin@tukaani.org>
5481 Date:   2022-10-25 23:31:44 +0300
5482
5483     Build: Update m4/ax_pthread.m4 from Autoconf Archive.
5484
5485  m4/ax_pthread.m4 | 29 ++++++++++++++++++++++-------
5486  1 file changed, 22 insertions(+), 7 deletions(-)
5487
5488 commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8
5489 Author: Lasse Collin <lasse.collin@tukaani.org>
5490 Date:   2022-10-25 23:28:34 +0300
5491
5492     Build: Add configure option --disable-microlzma.
5493     
5494     MicroLZMA was made for EROFS and used by erofs-utils.
5495     It might be used by something else in the future but
5496     those wanting a smaller build for specific situations
5497     can now disable this rarely-needed feature.
5498
5499  configure.ac | 22 ++++++++++++++++++++++
5500  1 file changed, 22 insertions(+)
5501
5502 commit 054ccd6d14b2cc6eddc56897af280d3221414150
5503 Author: Lasse Collin <lasse.collin@tukaani.org>
5504 Date:   2022-10-25 23:09:11 +0300
5505
5506     xz: Fix --single-stream with an empty .xz Stream.
5507     
5508     Example:
5509     
5510         $ xz -dc --single-stream good-0-empty.xz
5511         xz: good-0-empty.xz: Internal error (bug)
5512     
5513     The code, that is tries to catch some input file issues early,
5514     didn't anticipate LZMA_STREAM_END which is possible in that
5515     code only when --single-stream is used.
5516
5517  src/xz/coder.c | 9 +++++++++
5518  1 file changed, 9 insertions(+)
5519
5520 commit 563288ea705e83ff5cb292adf794650c263bca1d
5521 Author: Lasse Collin <lasse.collin@tukaani.org>
5522 Date:   2022-10-25 21:11:58 +0300
5523
5524     xz: Add support for OpenBSD's pledge() sandbox.
5525
5526  configure.ac     | 12 +++++++++---
5527  src/xz/file_io.c | 11 +++++++++++
5528  src/xz/main.c    | 13 +++++++++++++
5529  src/xz/private.h |  2 +-
5530  4 files changed, 34 insertions(+), 4 deletions(-)
5531
5532 commit f9913e8ee2ba0b1e4ff4d0aa4c001aae305ed944
5533 Author: Lasse Collin <lasse.collin@tukaani.org>
5534 Date:   2022-10-25 19:07:17 +0300
5535
5536     xz: Fix decompressor behavior if input uses an unsupported check type.
5537     
5538     Now files with unsupported check will make xz display
5539     a warning, set the exit status to 2 (unless --no-warn is used),
5540     and then decompress the file normally. This is how it was
5541     supposed to work since the beginning but this was broken by
5542     the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is,
5543     a little before 5.0.0 was released. The buggy behavior displayed
5544     a message, set exit status 1 (error), and xz didn't attempt to
5545     to decompress the file.
5546     
5547     This doesn't matter today except for special builds that disable
5548     CRC64 or SHA-256 at build time (but such builds should be used
5549     in special situations only). The bug matters if new check type
5550     is added in the future and an old xz version is used to decompress
5551     such a file; however, it's likely that such files would use a new
5552     filter too and an old xz wouldn't be able to decompress the file
5553     anyway.
5554     
5555     The first hunk in the commit is the actual fix. The second hunk
5556     is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz.
5557     
5558     There is a test file for unsupported check type but it wasn't
5559     used by test_files.sh, perhaps due to different behavior between
5560     xz and the simpler xzdec.
5561
5562  src/xz/coder.c | 19 +++++++++++++++----
5563  1 file changed, 15 insertions(+), 4 deletions(-)
5564
5565 commit aa4fe145b9486adc454f44fd3e09be9add808a0f
5566 Author: Lasse Collin <lasse.collin@tukaani.org>
5567 Date:   2022-10-25 18:36:19 +0300
5568
5569     xz: Clarify the man page: input file isn't removed if an error occurs.
5570
5571  src/xz/xz.1 | 5 +++--
5572  1 file changed, 3 insertions(+), 2 deletions(-)
5573
5574 commit 8b46ae8cdeddfd7dc01fec92971b8696e9a96c5d
5575 Author: Lasse Collin <lasse.collin@tukaani.org>
5576 Date:   2022-10-25 18:30:55 +0300
5577
5578     xz: Refactor to remove is_empty_filename().
5579     
5580     Long ago it was used in list.c too but nowadays it's needed
5581     only in io_open_src() so it's nicer to avoid a separate function.
5582
5583  src/xz/file_io.c |  4 +++-
5584  src/xz/util.c    | 12 ------------
5585  src/xz/util.h    |  4 ----
5586  3 files changed, 3 insertions(+), 17 deletions(-)
5587
5588 commit 85624015978b0de294cff3df79006df987c552b1
5589 Author: Lasse Collin <lasse.collin@tukaani.org>
5590 Date:   2022-10-25 18:23:54 +0300
5591
5592     xz: If input file cannot be removed, treat it as a warning, not error.
5593     
5594     Treating it as a warning (message + exit status 2) matches gzip
5595     and it seems more logical as at that point the output file has
5596     already been successfully closed. When it's a warning it is
5597     possible to suppress it with --no-warn.
5598
5599  src/xz/file_io.c | 4 ++--
5600  1 file changed, 2 insertions(+), 2 deletions(-)
5601
5602 commit fda9f85f52c546f7ca0313cf89481da4707fecb3
5603 Author: Lasse Collin <lasse.collin@tukaani.org>
5604 Date:   2022-10-24 16:25:09 +0300
5605
5606     liblzma: Threaded decoder: Stop the worker threads on errors.
5607     
5608     It's waste of CPU time and electricity to leave the unfinished
5609     worker threads running when it is known that their output will
5610     get ignored.
5611
5612  src/liblzma/common/stream_decoder_mt.c | 33 ++++++++++++++++++++++++++-------
5613  1 file changed, 26 insertions(+), 7 deletions(-)
5614
5615 commit 2611c4d90535652d3eb7ef4a026a6691276fab43
5616 Author: Lasse Collin <lasse.collin@tukaani.org>
5617 Date:   2022-10-20 20:22:50 +0300
5618
5619     tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD.
5620     
5621     On OpenBSD the number of cores online is often less
5622     than what HW_NCPU would return because OpenBSD disables
5623     simultaneous multi-threading (SMT) by default.
5624     
5625     Thanks to Christian Weisgerber.
5626
5627  m4/tuklib_cpucores.m4        | 5 +++++
5628  src/common/tuklib_cpucores.c | 9 +++++++++
5629  2 files changed, 14 insertions(+)
5630
5631 commit 424ac91c7e0419393ff2bde4f62e21fa611c776d
5632 Author: Lasse Collin <lasse.collin@tukaani.org>
5633 Date:   2022-10-19 19:39:35 +0300
5634
5635     Tests: Skip tests in test_*.sh if encoders and/or decoders are disabled.
5636     
5637     This isn't perfect as the scripts can still fail if only
5638     certain filters are disabled. This is still an improvement
5639     as now "make check" has better behavior when all encoders
5640     or decoders are disabled.
5641     
5642     Grepping ../config.h is simple and fairly clean but it only
5643     works if config.h was created. CMake builds don't create
5644     config.h but they don't use these test scripts either.
5645     
5646     Thanks to Sebastian Andrzej Siewior for reporting the problem.
5647     Thanks to Jia Tan for the original patch which grepped xz
5648     error messages instead of config.h.
5649
5650  tests/test_compress.sh | 12 ++++++++++++
5651  tests/test_files.sh    | 11 +++++++++++
5652  tests/test_scripts.sh  | 11 +++++++++++
5653  3 files changed, 34 insertions(+)
5654
5655 commit ca8bf9d7c5a30be8ba1eeb106fd892f19e83ed09
5656 Author: Lasse Collin <lasse.collin@tukaani.org>
5657 Date:   2022-10-19 18:54:34 +0300
5658
5659     Test: Remove the (exit 1) lines.
5660     
5661     I suspect that I used these in the original version because
5662     Autoconf's manual describes that such a trick is needed in
5663     some specific situations for portability reasons. None of those
5664     situations listed on Autoconf 2.71 manual apply to these test
5665     scripts though so this cleans them up.
5666
5667  tests/test_compress.sh | 10 ----------
5668  tests/test_files.sh    |  9 ---------
5669  tests/test_scripts.sh  |  6 ------
5670  3 files changed, 25 deletions(-)
5671
5672 commit 82fcb7cfc17ce62f79ebc7ca2374e1daca5e4d5e
5673 Author: Lasse Collin <lasse.collin@tukaani.org>
5674 Date:   2022-10-19 17:14:57 +0300
5675
5676     Tests: Fix a warning in test_memlimit.c when decoders are disabled.
5677
5678  tests/test_memlimit.c | 3 +++
5679  1 file changed, 3 insertions(+)
5680
5681 commit b5f8271b45b9b0e59485ffba3640ca3418835ec4
5682 Author: Lasse Collin <lasse.collin@tukaani.org>
5683 Date:   2022-10-19 17:11:46 +0300
5684
5685     Tests: Add test_memlimit to .gitignore.
5686     
5687     Thanks to Jia Tan.
5688
5689  .gitignore | 1 +
5690  1 file changed, 1 insertion(+)
5691
5692 commit 6a86e81cab202d0a812a7b2e9efacaf70c58ba38
5693 Author: Jia Tan <jiat0218@gmail.com>
5694 Date:   2022-10-06 21:53:09 +0300
5695
5696     Tests: Refactor test_stream_flags.c.
5697     
5698     Converts test_stream_flags to tuktest. Also the test will now
5699     compile and skip properly if encoders or decoders are disabled.
5700     
5701     Thanks to Sebastian Andrzej Siewior.
5702
5703  tests/test_stream_flags.c | 533 ++++++++++++++++++++++++++++++++++++----------
5704  1 file changed, 416 insertions(+), 117 deletions(-)
5705
5706 commit 827ac5b4821491fd3afe0d0e1ddac326253aeb66
5707 Author: Jia Tan <jiat0218@gmail.com>
5708 Date:   2022-10-06 17:00:38 +0800
5709
5710     Tests: Refactor test_block_header.c.
5711     
5712     test_block_header now achieves higher test coverage. Also the
5713     test will now compile and skip properly if encoders or decoders
5714     are disabled.
5715     
5716     Thanks to Sebastian Andrzej Siewior.
5717
5718  tests/test_block_header.c | 486 +++++++++++++++++++++++++++++++++++-----------
5719  1 file changed, 370 insertions(+), 116 deletions(-)
5720
5721 commit 84963318952064a93bfc52edd6b0ef70593384ee
5722 Author: Jia Tan <jiat0218@gmail.com>
5723 Date:   2022-10-05 23:54:12 +0800
5724
5725     Tests: Fix compilation issues.
5726     
5727     test_bcj_exact_size, test_check, test_hardware, and test_index will
5728     all now compile and skip properly if encoders or decoders are disabled.
5729     
5730     Also fixed a small typo (disabed -> disabled).
5731     
5732     Thanks to Sebastian Andrzej Siewior.
5733
5734  tests/test_bcj_exact_size.c | 20 ++++++++++++++------
5735  tests/test_check.c          |  8 +++++++-
5736  tests/test_hardware.c       |  2 +-
5737  tests/test_index.c          |  6 ++++++
5738  tests/test_memlimit.c       | 16 +++++++++++++++-
5739  tests/test_vli.c            | 13 +++++++++++++
5740  6 files changed, 56 insertions(+), 9 deletions(-)
5741
5742 commit 7dcabeec63d46b436fa5f043c3d1f09d0e15be16
5743 Author: Lasse Collin <lasse.collin@tukaani.org>
5744 Date:   2022-10-05 16:20:47 +0300
5745
5746     Tests: Include mythread.h in the tests that use MYTHREAD_ENABLED.
5747
5748  tests/test_check.c    | 1 +
5749  tests/test_hardware.c | 1 +
5750  tests/test_memlimit.c | 1 +
5751  3 files changed, 3 insertions(+)
5752
5753 commit 14af758a770c7781af18fb66d6d21ee5b1c27f04
5754 Author: Jia Tan <jiat0218@gmail.com>
5755 Date:   2022-10-05 20:57:16 +0800
5756
5757     liblzma: Fix a compilation issue when encoders are disabled.
5758     
5759     When encoders were disabled and threading enabled, outqueue.c and
5760     outqueue.h were not compiled. The multi threaded decoder required
5761     these files, so compilation failed.
5762
5763  src/liblzma/common/Makefile.inc | 7 ++++---
5764  1 file changed, 4 insertions(+), 3 deletions(-)
5765
5766 commit 6ca5c354bd4620aa7f81da68870eef1b1f26288f
5767 Author: Jia Tan <jiat0218@gmail.com>
5768 Date:   2022-10-05 16:41:38 +0800
5769
5770     Tests: Fix compilation error when threading support has been disabled.
5771     
5772     Now tests that require threading are skipped when threading
5773     support has been disabled.
5774     
5775     Thanks to Sebastian Andrzej Siewior.
5776
5777  tests/test_check.c    | 4 ++++
5778  tests/test_hardware.c | 4 ++++
5779  tests/test_memlimit.c | 4 ++++
5780  3 files changed, 12 insertions(+)
5781
5782 commit fae37ad2affd8fe8871f4ff93d5cab5ec14d5e58
5783 Author: Lasse Collin <lasse.collin@tukaani.org>
5784 Date:   2022-10-05 14:26:00 +0300
5785
5786     tuklib_integer: Add 64-bit endianness-converting reads and writes.
5787     
5788     Also update the comment in liblzma's memcmplen.h.
5789     
5790     Thanks to Michał Górny for the original patch for the reads.
5791
5792  m4/tuklib_integer.m4           |  8 ++++----
5793  src/common/tuklib_integer.h    | 46 ++++++++++++++++++++++++++++++++++++++++--
5794  src/liblzma/common/memcmplen.h |  9 +++------
5795  3 files changed, 51 insertions(+), 12 deletions(-)
5796
5797 commit 508a44372c5b0dede8863fd0d358d4a9d8645c95
5798 Author: Lasse Collin <lasse.collin@tukaani.org>
5799 Date:   2022-09-30 12:06:13 +0300
5800
5801     liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug.
5802     
5803     The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98.
5804
5805  src/liblzma/api/lzma/base.h | 11 +++++++++++
5806  1 file changed, 11 insertions(+)
5807
5808 commit 8cc9874a7974cd575aee44f218836f7acdbeb0ed
5809 Author: Jia Tan <jiat0218@gmail.com>
5810 Date:   2022-09-21 16:15:50 +0800
5811
5812     liblzma: Add dest and src NULL checks to lzma_index_cat.
5813     
5814     The documentation states LZMA_PROG_ERROR can be returned from
5815     lzma_index_cat. Previously, lzma_index_cat could not return
5816     LZMA_PROG_ERROR. Now, the validation is similar to
5817     lzma_index_append, which does a NULL check on the index
5818     parameter.
5819
5820  src/liblzma/common/index.c | 3 +++
5821  1 file changed, 3 insertions(+)
5822
5823 commit afd5a8bf5374eba82804a999e1ea7af680784086
5824 Author: Jia Tan <jiat0218@gmail.com>
5825 Date:   2022-09-21 20:29:28 +0800
5826
5827     Tests: Create a test for the lzma_index_cat bug.
5828
5829  tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
5830  1 file changed, 42 insertions(+), 1 deletion(-)
5831
5832 commit 3d5a99ca373a4e86faf671226ca6487febb9eeac
5833 Author: Jia Tan <jiat0218@gmail.com>
5834 Date:   2022-09-21 19:28:53 +0800
5835
5836     liblzma: Fix copying of check type statistics in lzma_index_cat().
5837     
5838     The check type of the last Stream in dest was never copied to
5839     dest->checks (the code tried to copy it but it was done too late).
5840     This meant that the value returned by lzma_index_checks() would
5841     only include the check type of the last Stream when multiple
5842     lzma_indexes had been concatenated.
5843     
5844     In xz --list this meant that the summary would only list the
5845     check type of the last Stream, so in this sense this was only
5846     a visual bug. However, it's possible that some applications
5847     use this information for purposes other than merely showing
5848     it to the users in an informational message. I'm not aware of
5849     such applications though and it's quite possible that such
5850     applications don't exist.
5851     
5852     Regular streamed decompression in xz or any other application
5853     doesn't use lzma_index_cat() and so this bug cannot affect them.
5854
5855  src/liblzma/common/index.c | 7 ++++++-
5856  1 file changed, 6 insertions(+), 1 deletion(-)
5857
5858 commit a61d32172789735350a941e23baf6b587c49e5d9
5859 Author: Lasse Collin <lasse.collin@tukaani.org>
5860 Date:   2022-09-28 12:20:41 +0300
5861
5862     tuklib_physmem: Fix Unicode builds on Windows.
5863     
5864     Thanks to ArSaCiA Game.
5865
5866  src/common/tuklib_physmem.c | 2 +-
5867  1 file changed, 1 insertion(+), 1 deletion(-)
5868
5869 commit 5a4d3548ab214fdca364d5c734baf1d1fab47308
5870 Author: Lasse Collin <lasse.collin@tukaani.org>
5871 Date:   2022-09-28 11:12:07 +0300
5872
5873     Tests: Add test_memlimit.c to test restarting after LZMA_MEMLIMIT_ERROR.
5874
5875  tests/Makefile.am     |   2 +
5876  tests/test_memlimit.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++
5877  2 files changed, 153 insertions(+)
5878
5879 commit 660739f99ab211edec4071de98889fb32ed04e98
5880 Author: Lasse Collin <lasse.collin@tukaani.org>
5881 Date:   2022-09-28 11:05:15 +0300
5882
5883     liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR.
5884     
5885     If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible
5886     to use lzma_memlimit_set() to increase the limit and continue
5887     decoding. This was supposed to work from the beginning but
5888     there was a bug. With other decoders (.lzma or threaded .xz)
5889     this already worked correctly.
5890
5891  src/liblzma/common/stream_decoder.c | 16 +++++++++++++---
5892  1 file changed, 13 insertions(+), 3 deletions(-)
5893
5894 commit 7e68fda58c74ad9e5b876cc22fcbe80fc0e4747b
5895 Author: Lasse Collin <lasse.collin@tukaani.org>
5896 Date:   2022-09-28 11:00:23 +0300
5897
5898     liblzma: Stream decoder: Fix comments.
5899
5900  src/liblzma/common/stream_decoder.c | 12 +++++-------
5901  1 file changed, 5 insertions(+), 7 deletions(-)
5902
5903 commit f664cb25841fc1c478b819034a224a558e2ac6e7
5904 Author: Lasse Collin <lasse.collin@tukaani.org>
5905 Date:   2022-09-20 16:58:22 +0300
5906
5907     liblzma: ARM64: Add comments.
5908
5909  src/liblzma/simple/arm64.c | 13 +++++++++++++
5910  1 file changed, 13 insertions(+)
5911
5912 commit b557b4a0eea05470fae8ba5ef4ad5a6dfb36ac41
5913 Author: Lasse Collin <lasse.collin@tukaani.org>
5914 Date:   2022-09-20 16:27:50 +0300
5915
5916     liblzma: ARM64: Fix wrong comment in API doc.
5917     
5918     Thanks to Jia Tan.
5919
5920  src/liblzma/api/lzma/bcj.h | 4 ++--
5921  1 file changed, 2 insertions(+), 2 deletions(-)
5922
5923 commit d5b0906fa55157f48c200188a3951d80df9cb308
5924 Author: Lasse Collin <lasse.collin@tukaani.org>
5925 Date:   2022-09-19 20:24:26 +0300
5926
5927     xz: Add --experimental-arm64[=width=WIDTH].
5928     
5929     It will be renamed to --arm64 once it is stable.
5930     
5931     Man page or --long-help weren't updated yet.
5932
5933  src/xz/args.c    |  7 +++++++
5934  src/xz/message.c |  7 +++++++
5935  src/xz/options.c | 39 +++++++++++++++++++++++++++++++++++++++
5936  src/xz/options.h |  7 +++++++
5937  4 files changed, 60 insertions(+)
5938
5939 commit ecb966de308c255bb4735a7307ef9901c643a9de
5940 Author: Lasse Collin <lasse.collin@tukaani.org>
5941 Date:   2022-09-19 19:34:56 +0300
5942
5943     liblzma: Add experimental ARM64 BCJ filter with a temporary Filter ID.
5944     
5945     That is, the Filter ID will be changed once the design is final.
5946     The current version will be removed. So files created with the
5947     tempoary Filter ID won't be supported in the future.
5948
5949  CMakeLists.txt                      |   3 +
5950  configure.ac                        |   4 +-
5951  src/liblzma/api/lzma/bcj.h          |  35 +++++-
5952  src/liblzma/common/filter_common.c  |   9 ++
5953  src/liblzma/common/filter_decoder.c |   8 ++
5954  src/liblzma/common/filter_encoder.c |  11 ++
5955  src/liblzma/simple/Makefile.inc     |   4 +
5956  src/liblzma/simple/arm64.c          | 227 ++++++++++++++++++++++++++++++++++++
5957  src/liblzma/simple/simple_coder.h   |   9 ++
5958  src/liblzma/simple/simple_decoder.h |   4 +
5959  src/liblzma/simple/simple_encoder.h |   2 +
5960  11 files changed, 313 insertions(+), 3 deletions(-)
5961
5962 commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
5963 Author: Lasse Collin <lasse.collin@tukaani.org>
5964 Date:   2022-09-17 22:42:18 +0300
5965
5966     liblzma: Simple/BCJ filters: Allow disabling generic BCJ options.
5967     
5968     This will be needed for the ARM64 BCJ filter as it will use
5969     its own options struct.
5970
5971  src/liblzma/simple/arm.c            | 2 +-
5972  src/liblzma/simple/armthumb.c       | 2 +-
5973  src/liblzma/simple/ia64.c           | 2 +-
5974  src/liblzma/simple/powerpc.c        | 2 +-
5975  src/liblzma/simple/simple_coder.c   | 4 ++--
5976  src/liblzma/simple/simple_private.h | 2 +-
5977  src/liblzma/simple/sparc.c          | 2 +-
5978  src/liblzma/simple/x86.c            | 3 ++-
5979  8 files changed, 10 insertions(+), 9 deletions(-)
5980
5981 commit c3592d0a55114144686ecf960cb516d6b31c98e9
5982 Author: Lasse Collin <lasse.collin@tukaani.org>
5983 Date:   2022-09-16 17:08:53 +0300
5984
5985     Tests: Add a test file for lzma_index_append() integer overflow bug.
5986     
5987     This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136.
5988     
5989     test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz
5990     because only then the previously-buggy code path gets tested.
5991     Normal decompression doesn't use lzma_index_append() at all.
5992     Instead, lzma_index_hash functions are used and those already
5993     did the overflow check.
5994
5995  tests/files/README                         |  10 ++++++++++
5996  tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes
5997  tests/test_files.sh                        |   8 ++++++++
5998  3 files changed, 18 insertions(+)
5999
6000 commit 982b29f828079a2a26253a40e975127a40a7d2bd
6001 Author: Lasse Collin <lasse.collin@tukaani.org>
6002 Date:   2022-09-16 15:10:07 +0300
6003
6004     Translations: Add Turkish translation.
6005
6006  po/LINGUAS |   1 +
6007  po/tr.po   | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6008  2 files changed, 978 insertions(+)
6009
6010 commit 1fc088d9f6d1697924aaeac8cd1fb9918d1532e2
6011 Author: Lasse Collin <lasse.collin@tukaani.org>
6012 Date:   2022-09-16 14:09:07 +0300
6013
6014     Update THANKS.
6015
6016  THANKS | 1 +
6017  1 file changed, 1 insertion(+)
6018
6019 commit 097c7b67ce86ff16a7cef7631b39e5ca4ee3d420
6020 Author: Lasse Collin <lasse.collin@tukaani.org>
6021 Date:   2022-09-16 14:07:03 +0300
6022
6023     xzgrep: Fix compatibility with old shells.
6024     
6025     Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15:
6026     
6027         xzgrep: line 231: syntax error near unexpected token `;;'
6028     
6029     On SCO OpenServer 5.0.7 with Korn Shell 93r:
6030     
6031         syntax error at line 231 : `;;' unexpected
6032     
6033     Turns out that some old shells don't like apostrophes (') inside
6034     command substitutions. For example, the following fails:
6035     
6036         x=$(echo foo
6037         # asdf'zxcv
6038         echo bar)
6039         printf '%s\n' "$x"
6040     
6041     The problem was introduced by commits
6042     69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29),
6043     bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and
6044     a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19).
6045     5.2.6 is the only stable release that included
6046     this problem.
6047     
6048     Thanks to Kevin R. Bulgrien for reporting the problem
6049     on SCO OpenServer 5.0.7 and for providing the fix.
6050
6051  src/scripts/xzgrep.in | 6 +++---
6052  1 file changed, 3 insertions(+), 3 deletions(-)
6053
6054 commit f2d084fe3f0d6d71488bfc6987f26542f67bfd99
6055 Author: Lasse Collin <lasse.collin@tukaani.org>
6056 Date:   2022-09-09 14:12:30 +0300
6057
6058     Tests: Silence warnings about unused functions from tuktest.h.
6059     
6060     Warnings about unused tuktest_run_test conveniently tell which
6061     test programs haven't been converted to tuktest.h yet but I
6062     silenced that warning too for now anyway.
6063     
6064     It is fine to use __attribute__((__unused__)) even when the
6065     function is actually used because the attribute only means
6066     that the function might be unused.
6067
6068  tests/tuktest.h | 10 ++++++++++
6069  1 file changed, 10 insertions(+)
6070
6071 commit f8ee61e74eb40600445fdb601c374d582e1e9c8a
6072 Author: Lasse Collin <lasse.collin@tukaani.org>
6073 Date:   2022-09-09 13:51:57 +0300
6074
6075     liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs.
6076     
6077     lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed
6078     this. Before this patch, failing lzma_filters_copy() could result
6079     in free(invalid_pointer) or invalid memory reads in stream_encoder.c
6080     or stream_encoder_mt.c.
6081     
6082     To trigger this, allocating memory for a filter options structure
6083     has to fail. These are tiny allocations so in practice they very
6084     rarely fail.
6085     
6086     Certain badness in the filter chain array could also make
6087     lzma_filters_copy() fail but both stream_encoder.c and
6088     stream_encoder_mt.c validate the filter chain before
6089     trying to copy it, so the crash cannot occur this way.
6090
6091  src/liblzma/api/lzma/filter.h      |  4 +++-
6092  src/liblzma/common/filter_common.c | 18 ++++++++++++------
6093  2 files changed, 15 insertions(+), 7 deletions(-)
6094
6095 commit 18d7facd3802b55c287581405c4d49c98708c136
6096 Author: Jia Tan <jiat0218@gmail.com>
6097 Date:   2022-09-02 20:18:55 +0800
6098
6099     liblzma: lzma_index_append: Add missing integer overflow check.
6100     
6101     The documentation in src/liblzma/api/lzma/index.h suggests that
6102     both the unpadded (compressed) size and the uncompressed size
6103     are checked for overflow, but only the unpadded size was checked.
6104     The uncompressed check is done first since that is more likely to
6105     occur than the unpadded or index field size overflows.
6106
6107  src/liblzma/common/index.c | 4 ++++
6108  1 file changed, 4 insertions(+)
6109
6110 commit 9ac06cb5b85274d18f9f70d82cf2d8c9c1151bd4
6111 Author: Lasse Collin <lasse.collin@tukaani.org>
6112 Date:   2022-09-08 15:11:08 +0300
6113
6114     Update THANKS.
6115
6116  THANKS | 1 +
6117  1 file changed, 1 insertion(+)
6118
6119 commit ba3e4ba2de034ae93a513f9c3a0823b80cdb66dc
6120 Author: Jia Tan <jiat0218@gmail.com>
6121 Date:   2022-09-08 15:07:00 +0300
6122
6123     CMake: Clarify a comment about Windows symlinks without file extension.
6124
6125  CMakeLists.txt | 7 +++----
6126  1 file changed, 3 insertions(+), 4 deletions(-)
6127
6128 commit 17485e884ce5c74315f29a8a1507bc706cd5cd1d
6129 Author: Lasse Collin <lasse.collin@tukaani.org>
6130 Date:   2022-09-08 15:02:41 +0300
6131
6132     CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep.
6133     
6134     The previous commit split liblzma.map into liblzma_linux.map and
6135     liblzma_generic.map. This commit updates the CMake build for those.
6136     
6137     common_w32res.rc dependency was listed under Linux/FreeBSD while
6138     obviously it belongs to Windows when building a DLL.
6139
6140  CMakeLists.txt | 24 +++++++++++++++++++-----
6141  1 file changed, 19 insertions(+), 5 deletions(-)
6142
6143 commit 913ddc5572b9455fa0cf299be2e35c708840e922
6144 Author: Lasse Collin <lasse.collin@tukaani.org>
6145 Date:   2022-09-04 23:23:00 +0300
6146
6147     liblzma: Vaccinate against an ill patch from RHEL/CentOS 7.
6148     
6149     RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded
6150     encoder that is behind #ifdef LZMA_UNSTABLE in the API headers.
6151     In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map.
6152     API/ABI compatibility tracking isn't done between development
6153     releases so newer releases didn't have XZ_5.1.2alpha anymore.
6154     
6155     Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep
6156     the exported symbols compatible with 5.1.2alpha. After checking
6157     the ABI changes it turned out that >= 5.2.0 ABI is backward
6158     compatible with the threaded encoder functions from 5.1.2alpha
6159     (but not vice versa as fixes and extensions to these functions
6160     were made between 5.1.2alpha and 5.2.0).
6161     
6162     In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with
6163     xz-5.2.2-compat-libs.patch to modify liblzma.map:
6164     
6165       - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and
6166         lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha.
6167     
6168       - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was
6169         an error; the intention was to keep using XZ_5.2 (XZ_5.2.2
6170         has never been used in XZ Utils). So XZ_5.2.2 lists all
6171         symbols that were listed under XZ_5.2 before the patch.
6172         lzma_stream_encoder_mt and _mt_memusage are included too so
6173         they are listed both here and under XZ_5.1.2alpha.
6174     
6175     The patch didn't add any __asm__(".symver ...") lines to the .c
6176     files. Thus the resulting liblzma.so exports the threaded encoder
6177     functions under XZ_5.1.2alpha only. Listing the two functions
6178     also under XZ_5.2.2 in liblzma.map has no effect without
6179     matching .symver lines.
6180     
6181     The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked
6182     against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7.
6183     This is unfortunate but this alone isn't too bad as the problem
6184     is contained within RHEL/CentOS 7 and doesn't affect users
6185     of other distributions. It could also be fixed internally in
6186     RHEL/CentOS 7.
6187     
6188     The second problem is more serious: In XZ Utils 5.2.2 the API
6189     headers don't have #ifdef LZMA_UNSTABLE for obvious reasons.
6190     This is true in RHEL/CentOS 7 version too. Thus now programs
6191     using new APIs can be compiled without an extra #define. However,
6192     the programs end up depending on symbol version XZ_5.1.2alpha
6193     (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would
6194     with an unpatched XZ Utils 5.2.2. This means that such binaries
6195     won't run on other distributions shipping XZ Utils >= 5.2.0 as
6196     they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide
6197     XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch
6198     luckily isn't included there anymore with XZ Utils 5.2.4.)
6199     
6200     Binaries built by RHEL/CentOS 7 users get distributed and then
6201     people wonder why they don't run on some other distribution.
6202     Seems that people have found out about the patch and been copying
6203     it to some build scripts, seemingly curing the symptoms but
6204     actually spreading the illness further and outside RHEL/CentOS 7.
6205     
6206     The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it
6207     had spread at least to EasyBuild. I heard about the events only
6208     recently. :-(
6209     
6210     This commit splits liblzma.map into two versions: one for
6211     GNU/Linux and another for other OSes that can use symbol versioning
6212     (FreeBSD, Solaris, maybe others). The Linux-specific file and the
6213     matching additions to .c files add full compatibility with binaries
6214     that have been built against a RHEL/CentOS-patched liblzma. Builds
6215     for OSes other than GNU/Linux won't get the vaccine as they should
6216     be immune to the problem (I really hope that no build script uses
6217     the RHEL/CentOS 7 patch outside GNU/Linux).
6218     
6219     The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2
6220     are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way
6221     if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building,
6222     the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2
6223     since XZ_5.2 {...} is the first one that lists that function.
6224     Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2
6225     will be missing but that's still a minor problem compared to
6226     only having lzma_stream_encoder_mt@@XZ_5.1.2alpha!
6227     
6228     The "local: *;" line was moved to XZ_5.0 so that it doesn't need
6229     to be moved around. It doesn't matter where it is put.
6230     
6231     Having two similar liblzma_*.map files is a bit silly as it is,
6232     at least for now, easily possible to generate the generic one
6233     from the Linux-specific file. But that adds extra steps and
6234     increases the risk of mistakes when supporting more than one
6235     build system. So I rather maintain two files in parallel and let
6236     validate_map.sh check that they are in sync when "make mydist"
6237     is run.
6238     
6239     This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and
6240     lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these
6241     weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was
6242     for these two). I added these anyway because someone might
6243     misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2
6244     (@@XZ_5.2.2) versions were exported too.
6245     
6246     At glance one could suggest using __typeof__ to copy the function
6247     prototypes when making aliases. However, this doesn't work trivially
6248     because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure)
6249     and it won't change symbol visibility from hidden to default (done
6250     by LZMA_API()). Attributes could be copied with __copy__ attribute
6251     but that needs GCC 9 and a fallback method would be needed anyway.
6252     
6253     This uses __symver__ attribute with GCC >= 10 and
6254     __asm__(".symver ...") with everything else. The attribute method
6255     is required for LTO (-flto) support with GCC. Using -flto with
6256     GCC older than 10 is now broken on GNU/Linux and will not be fixed
6257     (can silently result in a broken liblzma build that has dangerously
6258     incorrect symbol versions). LTO builds with Clang seem to work
6259     with the traditional __asm__(".symver ...") method.
6260     
6261     Thanks to Boud Roukema for reporting the problem and discussing
6262     the details and testing the fix.
6263
6264  configure.ac                                     |  23 +++-
6265  src/liblzma/Makefile.am                          |  10 +-
6266  src/liblzma/common/block_buffer_encoder.c        |  18 ++++
6267  src/liblzma/common/common.c                      |  14 +++
6268  src/liblzma/common/common.h                      |  28 +++++
6269  src/liblzma/common/hardware_cputhreads.c         |  12 +++
6270  src/liblzma/common/stream_encoder_mt.c           |  42 ++++++++
6271  src/liblzma/{liblzma.map => liblzma_generic.map} |   6 +-
6272  src/liblzma/liblzma_linux.map                    | 131 +++++++++++++++++++++++
6273  src/liblzma/validate_map.sh                      | 113 +++++++++++++++++--
6274  10 files changed, 382 insertions(+), 15 deletions(-)
6275
6276 commit 80a1a8bb838842a2be343bd88ad1462c21c5e2c9
6277 Author: Lasse Collin <lasse.collin@tukaani.org>
6278 Date:   2022-08-31 16:42:04 +0300
6279
6280     CMake: Add xz symlinks.
6281     
6282     These are a minor thing especially since the xz build has
6283     some real problems still like lack of large file support
6284     on 32-bit systems but I'll commit this since the code exists.
6285     
6286     Thanks to Jia Tan.
6287
6288  CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++-
6289  1 file changed, 37 insertions(+), 1 deletion(-)
6290
6291 commit a4193bb6d85d7765b1b87faeab3e50106d3ab2e9
6292 Author: Lasse Collin <lasse.collin@tukaani.org>
6293 Date:   2022-08-31 16:29:38 +0300
6294
6295     CMake: Put xz man page install under if(UNIX) like is for xzdec.
6296     
6297     Thanks to Jia Tan.
6298
6299  CMakeLists.txt | 8 +++++---
6300  1 file changed, 5 insertions(+), 3 deletions(-)
6301
6302 commit c1555b1a221a1427d4d650647531016d754bc4da
6303 Author: Lasse Collin <lasse.collin@tukaani.org>
6304 Date:   2022-08-22 18:16:40 +0300
6305
6306     Bump version number for 5.3.3alpha.
6307
6308  src/liblzma/api/lzma/version.h | 2 +-
6309  src/liblzma/liblzma.map        | 2 +-
6310  2 files changed, 2 insertions(+), 2 deletions(-)
6311
6312 commit 44fedddc11c3f6ec2f7fe35a3e38f15ca93f90eb
6313 Author: Lasse Collin <lasse.collin@tukaani.org>
6314 Date:   2022-08-22 18:13:56 +0300
6315
6316     Add NEWS for 5.3.3alpha.
6317
6318  NEWS | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6319  1 file changed, 119 insertions(+)
6320
6321 commit a93e235d7ca764cc19f8f9f9063b40ff361c3cfa
6322 Author: Lasse Collin <lasse.collin@tukaani.org>
6323 Date:   2022-07-12 17:59:41 +0300
6324
6325     Translations: Add Portuguese translation.
6326     
6327     Jia Tan made white-space changes and also changed "Language: pt_BR\n"
6328     to pt. The translator wasn't reached so I'm hoping these changes
6329     are OK and will commit it without translator's approval.
6330     
6331     Thanks to Pedro Albuquerque and Jia Tan.
6332
6333  po/LINGUAS |    1 +
6334  po/pt.po   | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6335  2 files changed, 1002 insertions(+)
6336
6337 commit e7cf5a946f25e40d77f45e41f0dee7d42a04e9ae
6338 Author: Lasse Collin <lasse.collin@tukaani.org>
6339 Date:   2022-07-10 21:16:40 +0300
6340
6341     Translations: Add Serbian translation.
6342     
6343     Quite a few white-space changes were made by Jia Tan to make
6344     this look good. Contacting the translator didn't succeed so
6345     I'm committing this without getting translator's approval.
6346     
6347     Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan.
6348
6349  po/LINGUAS |   1 +
6350  po/sr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6351  2 files changed, 988 insertions(+)
6352
6353 commit cc8617ab53b1f2a4da212fa76c92fe538269c5de
6354 Author: Lasse Collin <lasse.collin@tukaani.org>
6355 Date:   2022-07-04 23:51:36 +0300
6356
6357     Translations: Add Swedish translation.
6358     
6359     Thanks to Sebastian Rasmussen and Jia Tan.
6360
6361  po/LINGUAS |   1 +
6362  po/sv.po   | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6363  2 files changed, 984 insertions(+)
6364
6365 commit c613598c358b640682d0ca2aed38fa7df763e8c7
6366 Author: Lasse Collin <lasse.collin@tukaani.org>
6367 Date:   2022-07-04 23:40:27 +0300
6368
6369     Translations: Add Esperanto translation.
6370     
6371     Thanks to Keith Bowes and Jia Tan.
6372
6373  po/LINGUAS |   1 +
6374  po/eo.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6375  2 files changed, 985 insertions(+)
6376
6377 commit 659a587d678f21e98e91d2751c31d4ce050c081a
6378 Author: Lasse Collin <lasse.collin@tukaani.org>
6379 Date:   2022-07-01 00:22:33 +0300
6380
6381     Translations: Add Catalan translation.
6382     
6383     Thanks to Jordi Mas and Jia Tan.
6384
6385  po/LINGUAS |    1 +
6386  po/ca.po   | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6387  2 files changed, 1077 insertions(+)
6388
6389 commit 739fd8c9bdf1d85f57d56642aad87148d4779530
6390 Author: Lasse Collin <lasse.collin@tukaani.org>
6391 Date:   2022-06-30 17:47:08 +0300
6392
6393     Translations: Add Ukrainian translation.
6394     
6395     Thanks to Yuri Chornoivan and Jia Tan.
6396
6397  po/LINGUAS |   1 +
6398  po/uk.po   | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6399  2 files changed, 997 insertions(+)
6400
6401 commit 73280550b111930c62a667e56add8fd574f80bc8
6402 Author: Lasse Collin <lasse.collin@tukaani.org>
6403 Date:   2022-06-30 17:45:26 +0300
6404
6405     Translators: Add Romanian translation.
6406     
6407     Thanks to Remus-Gabriel Chelu and Jia Tan.
6408
6409  po/LINGUAS |    1 +
6410  po/ro.po   | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6411  2 files changed, 1017 insertions(+)
6412
6413 commit 2465f5b825152714b2c357d96c2422c31109d320
6414 Author: Lasse Collin <lasse.collin@tukaani.org>
6415 Date:   2022-06-29 18:33:32 +0300
6416
6417     Translations: Update Brazilian Portuguese translation.
6418     
6419     One msgstr was changed. The diff is long due to changes
6420     in the source code line numbers in the comments.
6421     
6422     Thanks to Rafael Fontenelle.
6423
6424  po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------
6425  1 file changed, 92 insertions(+), 94 deletions(-)
6426
6427 commit 434e1ffd3e62719d509da10b646216f5ef53fe4d
6428 Author: Lasse Collin <lasse.collin@tukaani.org>
6429 Date:   2022-06-29 18:04:44 +0300
6430
6431     Translations: Add Croatian translation.
6432     
6433     Thanks to Božidar Putanec and Jia Tan.
6434
6435  po/LINGUAS |   1 +
6436  po/hr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6437  2 files changed, 988 insertions(+)
6438
6439 commit 0732d0f7065c9bd48bfe4f5983144ae970c4a499
6440 Author: Lasse Collin <lasse.collin@tukaani.org>
6441 Date:   2022-06-29 17:58:48 +0300
6442
6443     Translations: Add Spanish translation.
6444     
6445     Thanks to Cristian Othón Martínez Vera and Jia Tan.
6446
6447  po/LINGUAS |   1 +
6448  po/es.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6449  2 files changed, 985 insertions(+)
6450
6451 commit 9899b0f82bc130998d1f1f618a6ab805b73f2696
6452 Author: Lasse Collin <lasse.collin@tukaani.org>
6453 Date:   2022-06-29 17:49:43 +0300
6454
6455     Translations: Add Korean translation.
6456     
6457     Thanks to Seong-ho Cho and Jia Tan.
6458
6459  po/LINGUAS |   1 +
6460  po/ko.po   | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6461  2 files changed, 973 insertions(+)
6462
6463 commit 65217eaf6bd195f3ef027d4ac55d57b7d133d69f
6464 Author: Lasse Collin <lasse.collin@tukaani.org>
6465 Date:   2020-03-16 21:57:21 +0200
6466
6467     Translations: Rebuild cs.po to avoid incorrect fuzzy strings.
6468     
6469     "make dist" updates the .po files and the fuzzy strings would
6470     result in multiple very wrong translations.
6471
6472  po/cs.po | 592 ++++++++++++++++++++++++++++++++++-----------------------------
6473  1 file changed, 322 insertions(+), 270 deletions(-)
6474
6475 commit e56ff423ee7af9e648e16b132f0d835d2cb4db26
6476 Author: Lasse Collin <lasse.collin@tukaani.org>
6477 Date:   2020-03-16 17:30:39 +0200
6478
6479     Translations: Add partial Danish translation.
6480     
6481     I made a few minor white space changes without getting them
6482     approved by the Danish translation team.
6483
6484  po/LINGUAS |   1 +
6485  po/da.po   | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6486  2 files changed, 897 insertions(+)
6487
6488 commit 43e09c62e77cb8807d932c81de4decbdb956e184
6489 Author: Lasse Collin <lasse.collin@tukaani.org>
6490 Date:   2020-03-11 22:37:54 +0200
6491
6492     Translations: Add hu, zh_CN, and zh_TW.
6493     
6494     I made a few white space changes to these without getting them
6495     approved by the translation teams. (I tried to contact the hu and
6496     zh_TW teams but didn't succeed. I didn't contact the zh_CN team.)
6497
6498  po/LINGUAS  |   3 +
6499  po/hu.po    | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6500  po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6501  po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6502  4 files changed, 2907 insertions(+)
6503
6504 commit 982b6b198ae1ffe6093236dd8a3d03d1415b912b
6505 Author: Lasse Collin <lasse.collin@tukaani.org>
6506 Date:   2020-03-11 14:33:30 +0200
6507
6508     Translations: Update vi.po to match the file from the TP.
6509     
6510     The translated strings haven't been updated but word wrapping
6511     is different.
6512
6513  po/vi.po | 407 ++++++++++++++++++++++++++++-----------------------------------
6514  1 file changed, 179 insertions(+), 228 deletions(-)
6515
6516 commit 801f39691fc4abc6dd33d7653d498781b593f3eb
6517 Author: Lasse Collin <lasse.collin@tukaani.org>
6518 Date:   2020-03-11 14:18:03 +0200
6519
6520     Translations: Add fi and pt_BR, and update de, fr, it, and pl.
6521     
6522     The German translation isn't identical to the file in
6523     the Translation Project but the changes (white space changes
6524     only) were approved by the translator Mario Blättermann.
6525
6526  po/LINGUAS  |    2 +
6527  po/de.po    |  476 ++++++++++++++--------------
6528  po/fi.po    |  974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6529  po/fr.po    |  272 ++++++++--------
6530  po/it.po    |  479 ++++++++++++----------------
6531  po/pl.po    |  239 +++++++-------
6532  po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6533  7 files changed, 2697 insertions(+), 746 deletions(-)
6534
6535 commit 311e4f85ede5d2f0bb71f3ad70b5b7db1b5adf33
6536 Author: Lasse Collin <lasse.collin@tukaani.org>
6537 Date:   2022-08-22 17:27:19 +0300
6538
6539     xz: Try to clarify --memlimit-mt-decompress vs. --memlimit-compress.
6540
6541  src/xz/xz.1 | 31 +++++++++++++++++++------------
6542  1 file changed, 19 insertions(+), 12 deletions(-)
6543
6544 commit df23c31000283c00e5ef1ca32a0bc3bb757bd707
6545 Author: Lasse Collin <lasse.collin@tukaani.org>
6546 Date:   2022-08-22 16:46:18 +0300
6547
6548     CMake: Add liblzma tests.
6549     
6550     Thanks to Jia Tan for the patch.
6551
6552  CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
6553  1 file changed, 52 insertions(+), 1 deletion(-)
6554
6555 commit 02a777f9c422d3b5ec895078530bb1a2b6f7bdf5
6556 Author: Lasse Collin <lasse.collin@tukaani.org>
6557 Date:   2022-08-19 23:32:22 +0300
6558
6559     xz: Revise --info-memory output.
6560     
6561     The strings could be more descriptive but it's good
6562     to have some version of this committed now.
6563     
6564     --robot mode wasn't changed yet.
6565
6566  src/xz/hardware.c | 32 ++++++++++++++++++++++++++------
6567  src/xz/xz.1       |  1 +
6568  2 files changed, 27 insertions(+), 6 deletions(-)
6569
6570 commit f864f6d42eab57ea8ed82cc2dd19a03b51377442
6571 Author: Lasse Collin <lasse.collin@tukaani.org>
6572 Date:   2022-08-19 23:12:02 +0300
6573
6574     xz: Update the man page for threaded decompression and memlimits.
6575     
6576     This documents the changes made in commits
6577     6c6da57ae2aa962aabde6892442227063d87e88c,
6578     cad299008cf73ec566f0662a9cf2b94f86a99659, and
6579     898faa97287a756231c663a3ed5165672b417207.
6580     
6581     The --info-memory bit hasn't been finished yet
6582     even though it's already mentioned in this commit
6583     under --memlimit-mt-decompress and --threads.
6584
6585  src/xz/xz.1 | 148 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
6586  1 file changed, 121 insertions(+), 27 deletions(-)
6587
6588 commit d13bfcc0056617dd648f655a01653932fad7067f
6589 Author: Lasse Collin <lasse.collin@tukaani.org>
6590 Date:   2022-08-18 17:49:16 +0300
6591
6592     Build: Include the CMake files in the distribution.
6593     
6594     This was supposed to be done in 2020 with 5.2.5 release
6595     already but it was noticed only today. 5.2.5 and 5.2.6
6596     even mention experiemental CMake support in the NEWS entries.
6597     
6598     Thanks to Olivier B. for reporting the problem.
6599
6600  Makefile.am | 2 ++
6601  1 file changed, 2 insertions(+)
6602
6603 commit e66787bcfefdb93f19c974f895f65969a77937b0
6604 Author: Lasse Collin <lasse.collin@tukaani.org>
6605 Date:   2022-08-18 17:38:05 +0300
6606
6607     Windows: Fix broken liblzma.dll build with Visual Studio project files.
6608     
6609     The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616
6610     "Windows: Fix building of resource files when config.h isn't used."
6611     
6612     That commit fixed liblzma.dll build with CMake while keeping it
6613     working with Autotools on Windows but the VS project files were
6614     forgotten.
6615     
6616     I haven't tested these changes.
6617     
6618     Thanks to Olivier B. for reporting the bug and for the initial patch.
6619
6620  windows/vs2013/liblzma_dll.vcxproj | 6 ++++++
6621  windows/vs2017/liblzma_dll.vcxproj | 6 ++++++
6622  windows/vs2019/liblzma_dll.vcxproj | 6 ++++++
6623  3 files changed, 18 insertions(+)
6624
6625 commit c4e8e5fb311225b8b48d34157891a640b2535e0c
6626 Author: Lasse Collin <lasse.collin@tukaani.org>
6627 Date:   2022-08-18 17:16:49 +0300
6628
6629     liblzma: Threaded decoder: Improve LZMA_FAIL_FAST when LZMA_FINISH is used.
6630     
6631     It will now return LZMA_DATA_ERROR (not LZMA_OK or LZMA_BUF_ERROR)
6632     if LZMA_FINISH is used and there isn't enough input to finish
6633     decoding the Block Header or the Block. The use of LZMA_DATA_ERROR
6634     is simpler and the less risky than LZMA_BUF_ERROR but this might
6635     be changed before 5.4.0.
6636
6637  src/liblzma/api/lzma/container.h       |  6 +++++
6638  src/liblzma/common/stream_decoder_mt.c | 42 ++++++++++++++++++++++++++++++++++
6639  2 files changed, 48 insertions(+)
6640
6641 commit 6dcf606e7efa2b259f0262f9e2f61e00116842d3
6642 Author: Lasse Collin <lasse.collin@tukaani.org>
6643 Date:   2022-08-12 18:31:47 +0300
6644
6645     Add NEWS for 5.2.6.
6646
6647  NEWS | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6648  1 file changed, 121 insertions(+)
6649
6650 commit 413b86fcf8934fae5a004f378a9483d37d8fcaab
6651 Author: Lasse Collin <lasse.collin@tukaani.org>
6652 Date:   2022-08-12 14:28:41 +0300
6653
6654     Add Jia Tan to AUTHORS.
6655
6656  AUTHORS | 2 +-
6657  1 file changed, 1 insertion(+), 1 deletion(-)
6658
6659 commit 352672732c346c546ff3c26d0605bc0ed1c8b7c7
6660 Author: Lasse Collin <lasse.collin@tukaani.org>
6661 Date:   2022-07-25 19:28:26 +0300
6662
6663     Build: Start the generated ChangeLog from around 5.2.0 instead of 5.0.0.
6664     
6665     This makes ChangeLog smaller.
6666
6667  Makefile.am | 2 +-
6668  1 file changed, 1 insertion(+), 1 deletion(-)
6669
6670 commit 6f6d11225d6016be2bbb55d845b66f6b04d048df
6671 Author: Lasse Collin <lasse.collin@tukaani.org>
6672 Date:   2022-07-25 19:11:05 +0300
6673
6674     Translations: Change the copyright comment string to use with po4a.
6675     
6676     This affects the second line in po4a/xz-man.pot. The man pages of
6677     xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+
6678     while the rest of the man pages are in the public domain.
6679
6680  po4a/update-po | 2 +-
6681  1 file changed, 1 insertion(+), 1 deletion(-)
6682
6683 commit 61f8ec804abdb4c5dac01e8ae9b90c7be58a5c24
6684 Author: Jia Tan <jiat0218@gmail.com>
6685 Date:   2022-07-25 18:30:05 +0300
6686
6687     liblzma: Refactor lzma_mf_is_supported() to use a switch-statement.
6688
6689  src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------
6690  1 file changed, 14 insertions(+), 18 deletions(-)
6691
6692 commit 4d80b463a1251aa22eabc87d2732fec13b1adda6
6693 Author: Jia Tan <jiat0218@gmail.com>
6694 Date:   2022-07-25 18:20:01 +0300
6695
6696     Build: Don't allow empty LIST in --enable-match-finders=LIST.
6697     
6698     It's enforced only when a match finder is needed, that is,
6699     when LZMA1 or LZMA2 encoder is enabled.
6700
6701  configure.ac | 4 ++++
6702  1 file changed, 4 insertions(+)
6703
6704 commit 9cc721af5436908f2d5a828aebbc4050a32a3487
6705 Author: Lasse Collin <lasse.collin@tukaani.org>
6706 Date:   2022-07-24 13:27:48 +0300
6707
6708     xz: Update the man page that change to --keep will be in 5.2.6.
6709
6710  src/xz/xz.1 | 4 ++--
6711  1 file changed, 2 insertions(+), 2 deletions(-)
6712
6713 commit b81bf0c7d1873e52a4086a9abb494471d652cb55
6714 Author: Lasse Collin <lasse.collin@tukaani.org>
6715 Date:   2022-07-19 23:23:54 +0300
6716
6717     Update THANKS.
6718
6719  THANKS | 1 +
6720  1 file changed, 1 insertion(+)
6721
6722 commit 340cf1ec3927767046b8293a49da3db4e393f426
6723 Author: Nicholas Jackson <nickajacks1@gmail.com>
6724 Date:   2022-07-17 17:39:23 -0700
6725
6726     CMake: Add missing source file to liblzma build
6727
6728  CMakeLists.txt | 1 +
6729  1 file changed, 1 insertion(+)
6730
6731 commit d796b6d7fdb8b7238b277056cf9146cce25db604
6732 Author: Lasse Collin <lasse.collin@tukaani.org>
6733 Date:   2022-07-19 23:19:49 +0300
6734
6735     xzgrep man page: Document exit statuses.
6736
6737  src/scripts/xzgrep.1 | 15 ++++++++++++++-
6738  1 file changed, 14 insertions(+), 1 deletion(-)
6739
6740 commit 923bf96b55e5216a6c8df9d8331934f54784390e
6741 Author: Lasse Collin <lasse.collin@tukaani.org>
6742 Date:   2022-07-19 23:13:24 +0300
6743
6744     xzgrep: Improve error handling, especially signals.
6745     
6746     xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly
6747     should have. It's quite possible that it's not perfect still
6748     but at least it's much better.
6749     
6750     If multiple exit statuses compete, now it tries to pick
6751     the largest of value.
6752     
6753     Some comments were added.
6754     
6755     The exit status handling of signals is still broken if the shell
6756     uses values larger than 255 in $? to indicate that a process
6757     died due to a signal ***and*** their "exit" command doesn't take
6758     this into account. This seems to work well with the ksh and yash
6759     versions I tried. However, there is a report in gzip/zgrep that
6760     OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating
6761     the argument to 8 bits:
6762     
6763         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25
6764     
6765     Such a bug would break xzgrep but I didn't add a workaround
6766     at least for now. 5.11 is old and I don't know if the problem
6767     exists in modern descendants, or if the problem exists in other
6768     ksh implementations in use.
6769
6770  src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++--------------
6771  1 file changed, 53 insertions(+), 19 deletions(-)
6772
6773 commit a648978b20495b7aa4a8b029c5a810b5ad9d08ff
6774 Author: Lasse Collin <lasse.collin@tukaani.org>
6775 Date:   2022-07-19 00:10:55 +0300
6776
6777     xzgrep: Make the fix for ZDI-CAN-16587 more robust.
6778     
6779     I don't know if this can make a difference in the real world
6780     but it looked kind of suspicious (what happens with sed
6781     implementations that cannot process very long lines?).
6782     At least this commit shouldn't make it worse.
6783
6784  src/scripts/xzgrep.in | 5 ++++-
6785  1 file changed, 4 insertions(+), 1 deletion(-)
6786
6787 commit bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5
6788 Author: Lasse Collin <lasse.collin@tukaani.org>
6789 Date:   2022-07-18 21:52:31 +0300
6790
6791     xzgrep: Use grep -H --label when available (GNU, *BSDs).
6792     
6793     It avoids the use of sed for prefixing filenames to output lines.
6794     Using sed for that is slower and prone to security bugs so now
6795     the sed method is only used as a fallback.
6796     
6797     This also fixes an actual bug: When grepping a binary file,
6798     GNU grep nowadays prints its diagnostics to stderr instead of
6799     stdout and thus the sed-method for prefixing the filename doesn't
6800     work. So with this commit grepping binary files gives reasonable
6801     output with GNU grep now.
6802     
6803     This was inspired by zgrep but the implementation is different.
6804
6805  src/scripts/xzgrep.in | 21 +++++++++++++++++++++
6806  1 file changed, 21 insertions(+)
6807
6808 commit b56729af9f1a596e57aeefd7570d8d7dce5c9f52
6809 Author: Lasse Collin <lasse.collin@tukaani.org>
6810 Date:   2022-07-18 21:10:25 +0300
6811
6812     xzgrep: Use -e to specify the pattern to grep.
6813     
6814     Now we don't need the separate test for adding the -q option
6815     as it can be added directly in the two places where it's needed.
6816
6817  src/scripts/xzgrep.in | 12 ++++--------
6818  1 file changed, 4 insertions(+), 8 deletions(-)
6819
6820 commit bad61b5997e6647911974022bfb72f3d4818a594
6821 Author: Lasse Collin <lasse.collin@tukaani.org>
6822 Date:   2022-07-18 19:18:48 +0300
6823
6824     Scripts: Use printf instead of echo in a few places.
6825     
6826     It's a good habbit as echo has some portability corner cases
6827     when the string contents can be anything.
6828
6829  src/scripts/xzdiff.in | 6 +++---
6830  src/scripts/xzgrep.in | 4 ++--
6831  src/scripts/xzless.in | 4 ++--
6832  src/scripts/xzmore.in | 8 ++++----
6833  4 files changed, 11 insertions(+), 11 deletions(-)
6834
6835 commit 6a4a4a7d2667837dc824c26fcb19ed6ca5aff645
6836 Author: Lasse Collin <lasse.collin@tukaani.org>
6837 Date:   2022-07-17 21:36:25 +0300
6838
6839     xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters.
6840     
6841     Also replace one use of expr with printf.
6842     
6843     The rationale for LC_ALL=C was already mentioned in
6844     69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security
6845     issue. However, unrelated uses weren't changed in that commit yet.
6846     
6847     POSIX says that with sed and such tools one should use LC_ALL=C
6848     to ensure predictable behavior when strings contain byte sequences
6849     that aren't valid multibyte characters in the current locale. See
6850     under "Application usage" in here:
6851     
6852     https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
6853     
6854     With GNU sed invalid multibyte strings would work without this;
6855     it's documented in its Texinfo manual. Some other implementations
6856     aren't so forgiving.
6857
6858  src/scripts/xzgrep.in | 14 ++++++++------
6859  1 file changed, 8 insertions(+), 6 deletions(-)
6860
6861 commit b48f9d615f2c2e8d2f6e253d0e48ee66d0652b68
6862 Author: Lasse Collin <lasse.collin@tukaani.org>
6863 Date:   2022-07-17 20:55:16 +0300
6864
6865     xzgrep: Fix parsing of certain options.
6866     
6867     Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is
6868     an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename
6869     instead of as a pattern. This bug was fixed in zgrep in gzip in 2012.
6870     
6871     Add -E, -F, -G, and -P to the "no argument required" list.
6872     
6873     Add -X to "argument required" list. It is an
6874     intentionally-undocumented GNU grep option so this isn't
6875     an important option for xzgrep but it seems that other grep
6876     implementations (well, those that I checked) don't support -X
6877     so I hope this change is an improvement still.
6878     
6879     grep -d (grep --directories=ACTION) requires an argument. In
6880     contrast to zgrep, I kept -d in the "no argument required" list
6881     because it's not supported in xzgrep (or zgrep). This way
6882     "xzgrep -d" gives an error about option being unsupported instead
6883     of telling that it requires an argument. Both zgrep and xzgrep
6884     tell that it's unsupported if an argument is specified.
6885     
6886     Add comments.
6887
6888  src/scripts/xzgrep.in | 19 +++++++++++++++++--
6889  1 file changed, 17 insertions(+), 2 deletions(-)
6890
6891 commit 2d2201bc6315deda4d43625aa510972467bd51d4
6892 Author: Lasse Collin <lasse.collin@tukaani.org>
6893 Date:   2022-07-14 20:33:05 +0300
6894
6895     Tests: Add the .lzma files to test_files.sh.
6896
6897  tests/test_files.sh | 20 ++++++++++++++++++++
6898  1 file changed, 20 insertions(+)
6899
6900 commit ce5549a591bf126300618879f5b24023351baff6
6901 Author: Lasse Collin <lasse.collin@tukaani.org>
6902 Date:   2022-07-14 19:37:42 +0300
6903
6904     Tests: Add .lzma test files.
6905
6906  tests/files/README                                 |  63 ++++++++++++++++-----
6907  tests/files/bad-too_big_size-with_eopm.lzma        | Bin 0 -> 37 bytes
6908  tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes
6909  tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes
6910  tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes
6911  tests/files/bad-unknown_size-without_eopm.lzma     | Bin 0 -> 31 bytes
6912  tests/files/good-known_size-with_eopm.lzma         | Bin 0 -> 37 bytes
6913  tests/files/good-known_size-without_eopm.lzma      | Bin 0 -> 31 bytes
6914  tests/files/good-unknown_size-with_eopm.lzma       | Bin 0 -> 37 bytes
6915  9 files changed, 50 insertions(+), 13 deletions(-)
6916
6917 commit 107c93ee5cad51a6ea0cee471209bfe8d76deaa3
6918 Author: Lasse Collin <lasse.collin@tukaani.org>
6919 Date:   2022-07-14 18:12:38 +0300
6920
6921     liblzma: Rename a variable and improve a comment.
6922
6923  src/liblzma/lzma/lzma_decoder.c | 13 +++++++++----
6924  1 file changed, 9 insertions(+), 4 deletions(-)
6925
6926 commit 511feb5eadb988d641b025d597f4fac7502003b8
6927 Author: Lasse Collin <lasse.collin@tukaani.org>
6928 Date:   2022-07-13 22:24:41 +0300
6929
6930     Update THANKS.
6931
6932  THANKS | 1 +
6933  1 file changed, 1 insertion(+)
6934
6935 commit 9595a3119b9faf0ce01375329cad8bbf85c35ea2
6936 Author: Lasse Collin <lasse.collin@tukaani.org>
6937 Date:   2022-07-13 22:24:07 +0300
6938
6939     liblzma: Add optional autodetection of LZMA end marker.
6940     
6941     Turns out that this is needed for .lzma files as the spec in
6942     LZMA SDK says that end marker may be present even if the size
6943     is stored in the header. Such files are rare but exist in the
6944     real world. The code in liblzma is so old that the spec didn't
6945     exist in LZMA SDK back then and I had understood that such
6946     files weren't possible (the lzma tool in LZMA SDK didn't
6947     create such files).
6948     
6949     This modifies the internal API so that LZMA decoder can be told
6950     if EOPM is allowed even when the uncompressed size is known.
6951     It's allowed with .lzma and not with other uses.
6952     
6953     Thanks to Karl Beldan for reporting the problem.
6954
6955  doc/lzma-file-format.txt               | 11 +++-
6956  src/liblzma/common/alone_decoder.c     |  2 +-
6957  src/liblzma/common/microlzma_decoder.c |  2 +-
6958  src/liblzma/lz/lz_decoder.c            | 10 +++-
6959  src/liblzma/lz/lz_decoder.h            |  8 +--
6960  src/liblzma/lzma/lzma2_decoder.c       |  2 +-
6961  src/liblzma/lzma/lzma_decoder.c        | 99 ++++++++++++++++++++++++----------
6962  7 files changed, 95 insertions(+), 39 deletions(-)
6963
6964 commit 0c0f8e9761eb6eaf199082cf144db7ac5f9d8cb2
6965 Author: Lasse Collin <lasse.collin@tukaani.org>
6966 Date:   2022-07-12 18:53:04 +0300
6967
6968     xz: Document the special memlimit case of 2000 MiB on MIPS32.
6969     
6970     See commit fc3d3a7296ef58bb799a73943636b8bfd95339f7.
6971
6972  src/xz/xz.1 | 8 ++++++--
6973  1 file changed, 6 insertions(+), 2 deletions(-)
6974
6975 commit d1bfa3dc703325ecd974167e864a8712fdfe936e
6976 Author: Jia Tan <jiat0218@gmail.com>
6977 Date:   2022-07-01 21:19:26 +0800
6978
6979     Created script to generate code coverage reports.
6980     
6981     The script uses lcov and genhtml after running the tests
6982     to show the code coverage statistics. The script will create
6983     a coverage directory where it is run. It can be run both in
6984     and out of the source directory.
6985
6986  .gitignore             |  4 +++
6987  tests/code_coverage.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++
6988  2 files changed, 83 insertions(+)
6989
6990 commit 86a30b0255d8064169fabfd213d907016d2f9f2a
6991 Author: Jia Tan <jiat0218@gmail.com>
6992 Date:   2022-06-16 17:32:19 +0300
6993
6994     Tests: Add more tests into test_check.
6995
6996  tests/test_check.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++--
6997  tests/tests.h      |  23 +++++
6998  2 files changed, 295 insertions(+), 7 deletions(-)
6999
7000 commit 82e30fed66a89706388a8c15dc954d84e63f38fa
7001 Author: Lasse Collin <lasse.collin@tukaani.org>
7002 Date:   2022-06-16 15:02:57 +0300
7003
7004     Tests: Use char[][24] array for enum_strings_lzma_ret.
7005     
7006     Array of pointers to short strings is a bit pointless here
7007     and now it's fully const.
7008
7009  tests/tests.h | 2 +-
7010  1 file changed, 1 insertion(+), 1 deletion(-)
7011
7012 commit 5ba9459e6c4a29f6870ca78ce8ac6e519d59c41e
7013 Author: Lasse Collin <lasse.collin@tukaani.org>
7014 Date:   2022-06-16 14:12:14 +0300
7015
7016     Tests: tuktest.h: Add tuktest_error_impl to help with error conditions.
7017
7018  tests/tuktest.h | 72 +++++++++++++++++++++++++--------------------------------
7019  1 file changed, 32 insertions(+), 40 deletions(-)
7020
7021 commit b339892668da20aea22a93668c82b87a38e4a97f
7022 Author: Lasse Collin <lasse.collin@tukaani.org>
7023 Date:   2022-06-16 13:29:59 +0300
7024
7025     Tests: tuktest.h: Rename file_from_* and use tuktest_malloc there.
7026
7027  tests/test_bcj_exact_size.c |  4 +---
7028  tests/tuktest.h             | 52 +++++++++++++++++++++------------------------
7029  2 files changed, 25 insertions(+), 31 deletions(-)
7030
7031 commit d8b63a0ad68d1c461eb373466679ebc41fbc207d
7032 Author: Lasse Collin <lasse.collin@tukaani.org>
7033 Date:   2022-06-16 13:08:19 +0300
7034
7035     Tests: tuktest.h: Add malloc wrapper with automatic freeing.
7036
7037  tests/tuktest.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7038  1 file changed, 124 insertions(+)
7039
7040 commit 1d51536a4b19a8fae768f8eb462fc2238cb36d53
7041 Author: Lasse Collin <lasse.collin@tukaani.org>
7042 Date:   2022-06-16 11:47:37 +0300
7043
7044     Tests: tuktest.h: Move a function.
7045
7046  tests/tuktest.h | 44 ++++++++++++++++++++++----------------------
7047  1 file changed, 22 insertions(+), 22 deletions(-)
7048
7049 commit 70c7555f6403553ee35539e869de0025592d8564
7050 Author: Lasse Collin <lasse.collin@tukaani.org>
7051 Date:   2022-06-14 22:21:15 +0300
7052
7053     Tests: test_vli: Remove an invalid test-assertion.
7054     
7055     lzma_vli is unsigned so trying a signed value results in
7056     a compiler warning from -Wsign-conversion. (lzma_vli)-1
7057     equals to LZMA_VLI_UNKNOWN anyway which is the next assertion.
7058
7059  tests/test_vli.c | 2 --
7060  1 file changed, 2 deletions(-)
7061
7062 commit 154b73c5a1092c3f785e01666b564ad7ff1be555
7063 Author: Lasse Collin <lasse.collin@tukaani.org>
7064 Date:   2022-06-14 22:10:10 +0300
7065
7066     Tests: test_vli: Add const where appropriate.
7067
7068  tests/test_vli.c | 53 ++++++++++++++++++++++++++++-------------------------
7069  1 file changed, 28 insertions(+), 25 deletions(-)
7070
7071 commit 0354d6cce3ff98ea6f927107baf216253f6ce2bb
7072 Author: Jia Tan <jiat75@gmail.com>
7073 Date:   2022-06-13 20:27:03 +0800
7074
7075     Added vli tests to .gitignore
7076
7077  .gitignore | 1 +
7078  1 file changed, 1 insertion(+)
7079
7080 commit a08f5ccf6bdc20ef70e41f6f3321618ef146f96e
7081 Author: Jia Tan <jiat0218@gmail.com>
7082 Date:   2022-06-12 11:31:40 +0800
7083
7084     Created tests for all functions exported in vli.h
7085     
7086     Achieved 100% code coverage vli_encoder.c, vli_decoder.c, and vli_size.c
7087
7088  tests/Makefile.am |   4 +-
7089  tests/test_vli.c  | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
7090  2 files changed, 311 insertions(+), 1 deletion(-)
7091
7092 commit 1e3eb61815a91c0a1bfbb802e2d95593f523491f
7093 Author: jiat75 <jiat0218@gmail.com>
7094 Date:   2022-06-03 21:24:54 +0800
7095
7096     Added parallel test artifacts to .gitignore
7097
7098  .gitignore | 2 ++
7099  1 file changed, 2 insertions(+)
7100
7101 commit 00e3613f1212eaa84e721585fdb4de6967cf2476
7102 Author: Lasse Collin <lasse.collin@tukaani.org>
7103 Date:   2022-06-14 21:29:21 +0300
7104
7105     Tests: Use good-1-empty-bcj-lzma2.xz in test_bcj_exact_size.
7106     
7107     It's much nicer this way so that the test data isn't a hardcoded
7108     table inside the C file.
7109
7110  tests/test_bcj_exact_size.c | 19 +++++++------------
7111  1 file changed, 7 insertions(+), 12 deletions(-)
7112
7113 commit 86bab755be252bfd3e0a9aee8e7b83a9bbb23ed0
7114 Author: Lasse Collin <lasse.collin@tukaani.org>
7115 Date:   2022-06-14 21:26:13 +0300
7116
7117     Tests: Add file reading helpers to tuktest.h.
7118
7119  tests/tuktest.h | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
7120  1 file changed, 176 insertions(+), 7 deletions(-)
7121
7122 commit 83d2337b72dbf391c6f3b41889eea99e51679105
7123 Author: Lasse Collin <lasse.collin@tukaani.org>
7124 Date:   2022-06-14 18:21:57 +0300
7125
7126     Tests: tuktest.h: Move a printf from a macro to a helper function.
7127
7128  tests/tuktest.h | 26 ++++++++++++++++++--------
7129  1 file changed, 18 insertions(+), 8 deletions(-)
7130
7131 commit f9e8176ea7d520797a2db2d49a5a632c285674a8
7132 Author: Lasse Collin <lasse.collin@tukaani.org>
7133 Date:   2022-06-14 17:20:49 +0300
7134
7135     Tests: Add test file good-1-empty-bcj-lzma2.xz.
7136     
7137     This is from test_bcj_exact_size.c.
7138     It's good to have it as a standalone file.
7139
7140  tests/files/README                    |   5 +++++
7141  tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes
7142  2 files changed, 5 insertions(+)
7143
7144 commit aa75c5563a760aea3aa23d997d519e702e82726b
7145 Author: Jia Tan <jiat0218@gmail.com>
7146 Date:   2022-06-10 21:35:18 +0800
7147
7148     Tests: Created tests for hardware functions.
7149     
7150     Created tests for all API functions exported in
7151     src/liblzma/api/lzma/hardware.h. The tests are fairly trivial
7152     but are helpful because they will inform users if their machines
7153     cannot support these functions. They also improve the code
7154     coverage metrics.
7155
7156  .gitignore            |  1 +
7157  tests/Makefile.am     |  2 ++
7158  tests/test_hardware.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
7159  3 files changed, 48 insertions(+)
7160
7161 commit 5c8ffdca20813939818843476fb212dfae8838a3
7162 Author: Lasse Collin <lasse.collin@tukaani.org>
7163 Date:   2022-06-02 21:01:45 +0300
7164
7165     Tests: Convert test_check to tuktest.
7166     
7167     Thanks to Jia Tan for help with all the tests.
7168
7169  tests/test_check.c | 67 +++++++++++++++++++++++++++---------------------------
7170  1 file changed, 33 insertions(+), 34 deletions(-)
7171
7172 commit faf5ff8899d539b4dcd2a7e5280cb820a4746c86
7173 Author: Lasse Collin <lasse.collin@tukaani.org>
7174 Date:   2022-06-02 20:31:03 +0300
7175
7176     Tests: Convert test_block_header to tuktest.
7177
7178  tests/test_block_header.c | 89 +++++++++++++++++++++++++++--------------------
7179  1 file changed, 52 insertions(+), 37 deletions(-)
7180
7181 commit 754d39fbebee3782258d42f154a223d3c5770ec7
7182 Author: Lasse Collin <lasse.collin@tukaani.org>
7183 Date:   2022-06-02 20:28:23 +0300
7184
7185     Tests: Convert test_bcj_exact_size to tuktest.
7186     
7187     The compress() and decompress() functions were merged because
7188     the later depends on the former so they need to be a single
7189     test case.
7190
7191  tests/test_bcj_exact_size.c | 75 +++++++++++++++++++++++++--------------------
7192  1 file changed, 41 insertions(+), 34 deletions(-)
7193
7194 commit 96da21470f9570cd08286906a050a7c22631775b
7195 Author: Lasse Collin <lasse.collin@tukaani.org>
7196 Date:   2022-06-02 20:27:00 +0300
7197
7198     Tests: Include tuktest.h in tests.h.
7199     
7200     This breaks -Werror because none of the tests so far use
7201     tuktest.h and thus there are warnings about unused variables
7202     and functions.
7203
7204  tests/tests.h | 47 +++++++++++++++++++++++------------------------
7205  1 file changed, 23 insertions(+), 24 deletions(-)
7206
7207 commit df71ba1c991f60c3269aaadd398247e632714626
7208 Author: Lasse Collin <lasse.collin@tukaani.org>
7209 Date:   2022-06-02 20:25:21 +0300
7210
7211     Tests: Add tuktest.h mini-test-framework.
7212
7213  tests/Makefile.am |   1 +
7214  tests/tuktest.h   | 752 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
7215  2 files changed, 753 insertions(+)
7216
7217 commit 4773608554d1b684a05ff9c1d879cf5c42266d33
7218 Author: Lasse Collin <lasse.collin@tukaani.org>
7219 Date:   2022-05-23 21:31:36 +0300
7220
7221     Build: Enable Automake's parallel test harness.
7222     
7223     It has been the default for quite some time already and
7224     the old serial harness isn't discouraged. The downside is
7225     that with parallel tests one cannot print progress info or
7226     other diagnostics to the terminal; all output from the tests
7227     will be in the log files only. But now that the compression
7228     tests are separated the parallel tests will speed things up.
7229
7230  configure.ac | 2 +-
7231  1 file changed, 1 insertion(+), 1 deletion(-)
7232
7233 commit 9a6dd6d46f7f256a5573e5d874c1052033ed7b05
7234 Author: Lasse Collin <lasse.collin@tukaani.org>
7235 Date:   2022-05-23 21:17:47 +0300
7236
7237     Tests: Split test_compress.sh into separate test unit for each file.
7238     
7239     test_compress.sh now takes one command line argument:
7240     a filename to be tested. If it begins with "compress_generated_"
7241     the file will be created with create_compress_files.
7242     
7243     This will allow parallel execution of the slow tests.
7244
7245  tests/Makefile.am                      | 11 +++-
7246  tests/test_compress.sh                 | 91 +++++++++++++++++++---------------
7247  tests/test_compress_generated_abc      |  3 ++
7248  tests/test_compress_generated_random   |  3 ++
7249  tests/test_compress_generated_text     |  3 ++
7250  tests/test_compress_prepared_bcj_sparc |  3 ++
7251  tests/test_compress_prepared_bcj_x86   |  3 ++
7252  7 files changed, 77 insertions(+), 40 deletions(-)
7253
7254 commit c7758ac9c734707514dd34f254173ebac5eea7f8
7255 Author: Lasse Collin <lasse.collin@tukaani.org>
7256 Date:   2022-05-23 20:32:49 +0300
7257
7258     Test: Make create_compress_files.c a little more flexible.
7259     
7260     If a command line argument is given, then only the test file
7261     of that type is created. It's quite dumb in sense that unknown
7262     names don't give an error but it's good enough here.
7263     
7264     Also use EXIT_FAILURE instead of 1 as exit status for errors.
7265
7266  tests/create_compress_files.c | 25 +++++++++++++++----------
7267  1 file changed, 15 insertions(+), 10 deletions(-)
7268
7269 commit 4a8e4a7b0ad4b03c0ac6862716c3457452cdaf8c
7270 Author: Lasse Collin <lasse.collin@tukaani.org>
7271 Date:   2022-05-23 20:17:42 +0300
7272
7273     Tests: Remove unneeded commented lines from test_compress.sh.
7274
7275  tests/test_compress.sh | 13 -------------
7276  1 file changed, 13 deletions(-)
7277
7278 commit 2ee50d150ee009f36135540b459e6ff328549725
7279 Author: Lasse Collin <lasse.collin@tukaani.org>
7280 Date:   2022-05-23 20:16:00 +0300
7281
7282     Tests: Remove progress indicator from test_compress.sh.
7283     
7284     It will be useless with Automake's parallel tests.
7285
7286  tests/test_compress.sh | 9 ---------
7287  1 file changed, 9 deletions(-)
7288
7289 commit 2ce4f36f179a81d0c6e182a409f363df759d1ad0
7290 Author: Lasse Collin <lasse.collin@tukaani.org>
7291 Date:   2022-05-23 19:37:18 +0300
7292
7293     liblzma: Silence a warning.
7294     
7295     The actual initialization is done via mythread_sync and seems
7296     that GCC doesn't necessarily see that it gets initialized there.
7297
7298  src/liblzma/common/stream_decoder_mt.c | 2 +-
7299  1 file changed, 1 insertion(+), 1 deletion(-)
7300
7301 commit 5d8f3764ef43c35910e6d7003c0900a961ef6544
7302 Author: Lasse Collin <lasse.collin@tukaani.org>
7303 Date:   2022-04-14 20:53:16 +0300
7304
7305     xz: Fix build with --disable-threads.
7306
7307  src/xz/hardware.c | 4 ++++
7308  1 file changed, 4 insertions(+)
7309
7310 commit 1d592897278b172d8549aa29c3a1f3a4f432a9b9
7311 Author: Lasse Collin <lasse.collin@tukaani.org>
7312 Date:   2022-04-14 14:50:17 +0300
7313
7314     xz: Change the cap of the default -T0 memlimit for 32-bit xz.
7315     
7316     The SIZE_MAX / 3 was 1365 MiB. 1400 MiB gives little more room
7317     and it looks like a round (artificial) number in --info-memory
7318     once --info-memory is made to display it.
7319     
7320     Also, using #if avoids useless code on 64-bit builds.
7321
7322  src/xz/hardware.c | 4 +++-
7323  1 file changed, 3 insertions(+), 1 deletion(-)
7324
7325 commit c77fe55ddb7752ed0fec46967c5ec9a72632ea0c
7326 Author: Lasse Collin <lasse.collin@tukaani.org>
7327 Date:   2022-04-14 14:20:46 +0300
7328
7329     xz: Add a default soft memory usage limit for --threads=0.
7330     
7331     This is a soft limit in sense that it only affects the number of
7332     threads. It never makes xz fail and it never makes xz change
7333     settings that would affect the compressed output.
7334     
7335     The idea is to make -T0 have more reasonable behavior when
7336     the system has very many cores or when a memory-hungry
7337     compression options are used. This also helps with 32-bit xz,
7338     preventing it from running out of address space.
7339     
7340     The downside of this commit is that now the number of threads
7341     might become too low compared to what the user expected. I
7342     hope this to be an acceptable compromise as the old behavior
7343     has been a source of well-argued complaints for a long time.
7344
7345  src/xz/coder.c    | 28 ++++++++++++++++++++++++++--
7346  src/xz/hardware.c | 38 +++++++++++++++++++++++++++++---------
7347  src/xz/hardware.h | 27 +++++++++++++++++++++++++++
7348  3 files changed, 82 insertions(+), 11 deletions(-)
7349
7350 commit 0adc13bfe32c14f3e4c6ce9f2d4fdf4112ab53f4
7351 Author: Lasse Collin <lasse.collin@tukaani.org>
7352 Date:   2022-04-14 12:59:09 +0300
7353
7354     xz: Make -T0 use multithreaded mode on single-core systems.
7355     
7356     The main problem withi the old behavior is that the compressed
7357     output is different on single-core systems vs. multicore systems.
7358     This commit fixes it by making -T0 one thread in multithreaded mode
7359     on single-core systems.
7360     
7361     The downside of this is that it uses more memory. However, if
7362     --memlimit-compress is used, xz can (thanks to the previous commit)
7363     drop to the single-threaded mode still.
7364
7365  src/xz/coder.c    | 18 +++++++++---------
7366  src/xz/hardware.c | 14 ++++++++++++++
7367  src/xz/hardware.h |  4 ++++
7368  3 files changed, 27 insertions(+), 9 deletions(-)
7369
7370 commit 898faa97287a756231c663a3ed5165672b417207
7371 Author: Lasse Collin <lasse.collin@tukaani.org>
7372 Date:   2022-04-14 12:38:00 +0300
7373
7374     xz: Changes to --memlimit-compress and --no-adjust.
7375     
7376     In single-threaded mode, --memlimit-compress can make xz scale down
7377     the LZMA2 dictionary size to meet the memory usage limit. This
7378     obviously affects the compressed output. However, if xz was in
7379     threaded mode, --memlimit-compress could make xz reduce the number
7380     of threads but it wouldn't make xz switch from multithreaded mode
7381     to single-threaded mode or scale down the LZMA2 dictionary size.
7382     This seemed illogical and there was even a "FIXME?" about it.
7383     
7384     Now --memlimit-compress can make xz switch to single-threaded
7385     mode if one thread in multithreaded mode uses too much memory.
7386     If memory usage is still too high, then the LZMA2 dictionary
7387     size can be scaled down too.
7388     
7389     The option --no-adjust was also changed so that it no longer
7390     prevents xz from scaling down the number of threads as that
7391     doesn't affect compressed output (only performance). After
7392     this commit --no-adjust only prevents adjustments that affect
7393     compressed output, that is, with --no-adjust xz won't switch
7394     from multithreaded mode to single-threaded mode and won't
7395     scale down the LZMA2 dictionary size.
7396     
7397     The man page wasn't updated yet.
7398
7399  src/xz/coder.c | 63 +++++++++++++++++++++++++++++++++++++++-------------------
7400  1 file changed, 43 insertions(+), 20 deletions(-)
7401
7402 commit cad299008cf73ec566f0662a9cf2b94f86a99659
7403 Author: Lasse Collin <lasse.collin@tukaani.org>
7404 Date:   2022-04-11 22:20:49 +0300
7405
7406     xz: Add --memlimit-mt-decompress along with a default limit value.
7407     
7408     --memlimit-mt-decompress allows specifying the limit for
7409     multithreaded decompression. This matches memlimit_threading in
7410     liblzma. This limit can only affect the number of threads being
7411     used; it will never prevent xz from decompressing a file. The
7412     old --memlimit-decompress option is still used at the same time.
7413     
7414     If the value of --memlimit-decompress (the default value or
7415     one specified by the user) is less than the value of
7416     --memlimit-mt-decompress , then --memlimit-mt-decompress is
7417     reduced to match --memlimit-decompress.
7418     
7419     Man page wasn't updated yet.
7420
7421  src/xz/args.c     | 24 +++++++++++++++-------
7422  src/xz/coder.c    | 34 ++++++++++---------------------
7423  src/xz/hardware.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
7424  src/xz/hardware.h | 17 ++++++++++------
7425  src/xz/message.c  |  4 +++-
7426  5 files changed, 97 insertions(+), 42 deletions(-)
7427
7428 commit fe87b4cd5364f5bbb6a75a0299f1500c852d7c9a
7429 Author: Lasse Collin <lasse.collin@tukaani.org>
7430 Date:   2022-04-06 23:11:59 +0300
7431
7432     liblzma: Threaded decoder: Improve setting of pending_error.
7433     
7434     It doesn't need to be done conditionally. The comments try
7435     to explain it.
7436
7437  src/liblzma/common/stream_decoder_mt.c | 51 +++++++++++++++++++++++-----------
7438  1 file changed, 35 insertions(+), 16 deletions(-)
7439
7440 commit 90621da7f6e1bfd6d91d60415eae04b2bca274c2
7441 Author: Lasse Collin <lasse.collin@tukaani.org>
7442 Date:   2022-04-06 12:39:49 +0300
7443
7444     liblzma: Add a new flag LZMA_FAIL_FAST for threaded decoder.
7445     
7446     In most cases if the input file is corrupt the application won't
7447     care about the uncompressed content at all. With this new flag
7448     the threaded decoder will return an error as soon as any thread
7449     has detected an error; it won't wait to copy out the data before
7450     the location of the error.
7451     
7452     I don't plan to use this in xz to keep the behavior consistent
7453     between single-threaded and multi-threaded modes.
7454
7455  src/liblzma/api/lzma/container.h       | 25 ++++++++++++++++-
7456  src/liblzma/common/common.h            |  7 +++--
7457  src/liblzma/common/stream_decoder_mt.c | 50 +++++++++++++++++++---------------
7458  3 files changed, 56 insertions(+), 26 deletions(-)
7459
7460 commit 64b6d496dc815a176d8307f418f6834a26783484
7461 Author: Lasse Collin <lasse.collin@tukaani.org>
7462 Date:   2022-04-05 12:24:57 +0300
7463
7464     liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used.
7465     
7466     This makes the behavior consistent with the single-threaded
7467     decoder when handling truncated .xz files.
7468     
7469     Thanks to Jia Tan for finding this issue.
7470
7471  src/liblzma/common/stream_decoder_mt.c | 26 ++++++++++++++++++++++++--
7472  1 file changed, 24 insertions(+), 2 deletions(-)
7473
7474 commit e671bc8828b9c0c5406c3a22c541301d0eb54518
7475 Author: Lasse Collin <lasse.collin@tukaani.org>
7476 Date:   2022-04-02 21:49:59 +0300
7477
7478     liblzma: Threaded decoder: Support zpipe.c-style decoding loop.
7479     
7480     This makes it possible to call lzma_code() in a loop that only
7481     reads new input when lzma_code() didn't fill the output buffer
7482     completely. That isn't the calling style suggested by the
7483     liblzma example program 02_decompress.c so perhaps the usefulness
7484     of this feature is limited.
7485     
7486     Also, it is possible to write such a loop so that it works
7487     with the single-threaded decoder but not with the threaded
7488     decoder even after this commit, or so that it works only if
7489     lzma_mt.timeout = 0.
7490     
7491     The zlib tutorial <https://zlib.net/zlib_how.html> is a well-known
7492     example of a loop where more input is read only when output isn't
7493     full. Porting this as is to liblzma would work with the
7494     single-threaded decoder (if LZMA_CONCATENATED isn't used) but it
7495     wouldn't work with threaded decoder even after this commit because
7496     the loop assumes that no more output is possible when it cannot
7497     read more input ("if (strm.avail_in == 0) break;"). This cannot
7498     be fixed at liblzma side; the loop has to be modified at least
7499     a little.
7500     
7501     I'm adding this in any case because the actual code is simple
7502     and short and should have no harmful side-effects in other
7503     situations.
7504
7505  src/liblzma/common/stream_decoder_mt.c | 77 +++++++++++++++++++++++++++++-----
7506  1 file changed, 67 insertions(+), 10 deletions(-)
7507
7508 commit 2ba8173e27be4793edb46497e499ac2ae753a316
7509 Author: Lasse Collin <lasse.collin@tukaani.org>
7510 Date:   2022-03-31 00:05:07 +0300
7511
7512     Update THANKS.
7513
7514  THANKS | 1 +
7515  1 file changed, 1 insertion(+)
7516
7517 commit 69d1b3fc29677af8ade8dc15dba83f0589cb63d6
7518 Author: Lasse Collin <lasse.collin@tukaani.org>
7519 Date:   2022-03-29 19:19:12 +0300
7520
7521     xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587).
7522     
7523     Malicious filenames can make xzgrep to write to arbitrary files
7524     or (with a GNU sed extension) lead to arbitrary code execution.
7525     
7526     xzgrep from XZ Utils versions up to and including 5.2.5 are
7527     affected. 5.3.1alpha and 5.3.2alpha are affected as well.
7528     This patch works for all of them.
7529     
7530     This bug was inherited from gzip's zgrep. gzip 1.12 includes
7531     a fix for zgrep.
7532     
7533     The issue with the old sed script is that with multiple newlines,
7534     the N-command will read the second line of input, then the
7535     s-commands will be skipped because it's not the end of the
7536     file yet, then a new sed cycle starts and the pattern space
7537     is printed and emptied. So only the last line or two get escaped.
7538     
7539     One way to fix this would be to read all lines into the pattern
7540     space first. However, the included fix is even simpler: All lines
7541     except the last line get a backslash appended at the end. To ensure
7542     that shell command substitution doesn't eat a possible trailing
7543     newline, a colon is appended to the filename before escaping.
7544     The colon is later used to separate the filename from the grep
7545     output so it is fine to add it here instead of a few lines later.
7546     
7547     The old code also wasn't POSIX compliant as it used \n in the
7548     replacement section of the s-command. Using \<newline> is the
7549     POSIX compatible method.
7550     
7551     LC_ALL=C was added to the two critical sed commands. POSIX sed
7552     manual recommends it when using sed to manipulate pathnames
7553     because in other locales invalid multibyte sequences might
7554     cause issues with some sed implementations. In case of GNU sed,
7555     these particular sed scripts wouldn't have such problems but some
7556     other scripts could have, see:
7557     
7558         info '(sed)Locale Considerations'
7559     
7560     This vulnerability was discovered by:
7561     cleemy desu wayo working with Trend Micro Zero Day Initiative
7562     
7563     Thanks to Jim Meyering and Paul Eggert discussing the different
7564     ways to fix this and for coordinating the patch release schedule
7565     with gzip.
7566
7567  src/scripts/xzgrep.in | 20 ++++++++++++--------
7568  1 file changed, 12 insertions(+), 8 deletions(-)
7569
7570 commit bd93b776c1bd15e90661033c918cdeb354dbcc38
7571 Author: Lasse Collin <lasse.collin@tukaani.org>
7572 Date:   2022-03-26 01:02:44 +0200
7573
7574     liblzma: Fix a deadlock in threaded decoder.
7575     
7576     If a worker thread has consumed all input so far and it's
7577     waiting on thr->cond and then the main thread enables
7578     partial update for that thread, the code used to deadlock.
7579     This commit allows one dummy decoding pass to occur in this
7580     situation which then also does the partial update.
7581     
7582     As part of the fix, this moves thr->progress_* updates to
7583     avoid the second thr->mutex locking.
7584     
7585     Thanks to Jia Tan for finding, debugging, and reporting the bug.
7586
7587  src/liblzma/common/stream_decoder_mt.c | 71 +++++++++++++++++++++++++---------
7588  1 file changed, 52 insertions(+), 19 deletions(-)
7589
7590 commit e0394e94230f208682ac1e1f4c41f22f9ad79916
7591 Author: Lasse Collin <lasse.collin@tukaani.org>
7592 Date:   2022-03-23 16:34:00 +0200
7593
7594     Update THANKS.
7595
7596  THANKS | 1 +
7597  1 file changed, 1 insertion(+)
7598
7599 commit 487c77d48760564b1949c5067630b675b87be4de
7600 Author: Lasse Collin <lasse.collin@tukaani.org>
7601 Date:   2022-03-23 16:28:55 +0200
7602
7603     liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT.
7604     
7605     LZMA_TIMED_OUT is not an error and thus stopping threads on
7606     LZMA_TIMED_OUT breaks the decoder badly.
7607     
7608     Thanks to Jia Tan for finding the bug and for the patch.
7609
7610  src/liblzma/common/stream_decoder_mt.c | 2 +-
7611  1 file changed, 1 insertion(+), 1 deletion(-)
7612
7613 commit 6c6da57ae2aa962aabde6892442227063d87e88c
7614 Author: Lasse Collin <lasse.collin@tukaani.org>
7615 Date:   2022-03-07 00:36:16 +0200
7616
7617     xz: Add initial support for threaded decompression.
7618     
7619     If threading support is enabled at build time, this will
7620     use lzma_stream_decoder_mt() even for single-threaded mode.
7621     With memlimit_threading=0 the behavior should be identical.
7622     
7623     This needs some work like adding --memlimit-threading=LIMIT.
7624     
7625     The original patch from Sebastian Andrzej Siewior included
7626     a method to get currently available RAM on Linux. It might
7627     be one way to go but as it is Linux-only, the available-RAM
7628     approach needs work for portability or using a fallback method
7629     on other OSes.
7630     
7631     The man page wasn't updated yet.
7632
7633  src/xz/coder.c | 36 +++++++++++++++++++++++++++++++++++-
7634  1 file changed, 35 insertions(+), 1 deletion(-)
7635
7636 commit 4cce3e27f529af33e0e7749a8cbcec59954946b5
7637 Author: Lasse Collin <lasse.collin@tukaani.org>
7638 Date:   2022-03-06 23:36:20 +0200
7639
7640     liblzma: Add threaded .xz decompressor.
7641     
7642     I realize that this is about a decade late.
7643     
7644     Big thanks to Sebastian Andrzej Siewior for the original patch.
7645     I made a bunch of smaller changes but after a while quite a few
7646     things got rewritten. So any bugs in the commit were created by me.
7647
7648  src/liblzma/api/lzma/container.h       |   90 +-
7649  src/liblzma/common/Makefile.inc        |    5 +
7650  src/liblzma/common/common.h            |    4 +
7651  src/liblzma/common/stream_decoder_mt.c | 1814 ++++++++++++++++++++++++++++++++
7652  src/liblzma/liblzma.map                |    1 +
7653  5 files changed, 1907 insertions(+), 7 deletions(-)
7654
7655 commit 717631b9788dc9c100ee0c87d3c14a2782638ff4
7656 Author: Lasse Collin <lasse.collin@tukaani.org>
7657 Date:   2022-03-06 16:54:23 +0200
7658
7659     liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK.
7660     
7661     If Check is unsupported, it will be silently ignored.
7662     It's the caller's job to handle it.
7663
7664  src/liblzma/api/lzma/block.h | 3 ---
7665  1 file changed, 3 deletions(-)
7666
7667 commit 1a4bb97a00936535e30ac61945aeee38882b5d1a
7668 Author: Lasse Collin <lasse.collin@tukaani.org>
7669 Date:   2022-03-06 16:41:19 +0200
7670
7671     liblzma: Add new output queue (lzma_outq) features.
7672     
7673     Add lzma_outq_clear_cache2() which may leave one buffer allocated
7674     in the cache.
7675     
7676     Add lzma_outq_outbuf_memusage() to get the memory needed for
7677     a single lzma_outbuf. This is now used internally in outqueue.c too.
7678     
7679     Track both the total amount of memory allocated and the amount of
7680     memory that is in active use (not in cache).
7681     
7682     In lzma_outbuf, allow storing the current input position that
7683     matches the current output position. This way the main thread
7684     can notice when no more output is possible without first providing
7685     more input.
7686     
7687     Allow specifying return code for lzma_outq_read() in a finished
7688     lzma_outbuf.
7689
7690  src/liblzma/common/outqueue.c | 43 +++++++++++++++++++++++++++++++++++-------
7691  src/liblzma/common/outqueue.h | 44 ++++++++++++++++++++++++++++++++++++++++++-
7692  2 files changed, 79 insertions(+), 8 deletions(-)
7693
7694 commit ddbc6f58c2de388eed24cd7ea91b523d397da5f4
7695 Author: Lasse Collin <lasse.collin@tukaani.org>
7696 Date:   2022-03-06 15:18:58 +0200
7697
7698     liblzma: Index hash: Change return value type of hash_append() to void.
7699
7700  src/liblzma/common/index_hash.c | 11 +++++------
7701  1 file changed, 5 insertions(+), 6 deletions(-)
7702
7703 commit 20e7a33e2d59c6a814447d3991f21e2702174b20
7704 Author: Lasse Collin <lasse.collin@tukaani.org>
7705 Date:   2022-02-22 03:42:57 +0200
7706
7707     liblzma: Minor addition to lzma_vli_size() API doc.
7708     
7709     Thanks to Jia Tan.
7710
7711  src/liblzma/api/lzma/vli.h | 2 ++
7712  1 file changed, 2 insertions(+)
7713
7714 commit 4f78f5fcf63592f2d77e921cfe0d5de300867374
7715 Author: Lasse Collin <lasse.collin@tukaani.org>
7716 Date:   2022-02-22 02:04:18 +0200
7717
7718     liblzma: Check the return value of lzma_index_append() in threaded encoder.
7719     
7720     If lzma_index_append() failed (most likely memory allocation failure)
7721     it could have gone unnoticed and the resulting .xz file would have
7722     an incorrect Index. Decompressing such a file would produce the
7723     correct uncompressed data but then an error would occur when
7724     verifying the Index field.
7725
7726  src/liblzma/common/stream_encoder_mt.c | 7 +++++--
7727  1 file changed, 5 insertions(+), 2 deletions(-)
7728
7729 commit 5313ad66b40aab822ddca3e9905254cb99a4080d
7730 Author: Lasse Collin <lasse.collin@tukaani.org>
7731 Date:   2022-02-22 01:37:39 +0200
7732
7733     Update THANKS.
7734
7735  THANKS | 1 +
7736  1 file changed, 1 insertion(+)
7737
7738 commit 865e0a3689a25a7ee8eecae1a34c1775e3aa676e
7739 Author: Ed Maste <emaste@FreeBSD.org>
7740 Date:   2022-02-11 15:25:46 +0000
7741
7742     liblzma: Use non-executable stack on FreeBSD as on Linux
7743
7744  src/liblzma/check/crc32_x86.S | 4 ++--
7745  src/liblzma/check/crc64_x86.S | 4 ++--
7746  2 files changed, 4 insertions(+), 4 deletions(-)
7747
7748 commit 1c9a5786d206b4abc8e427326651c8174baea753
7749 Author: Lasse Collin <lasse.collin@tukaani.org>
7750 Date:   2022-02-20 20:36:27 +0200
7751
7752     liblzma: Make Block decoder catch certain types of errors better.
7753     
7754     Now it limits the input and output buffer sizes that are
7755     passed to a raw decoder. This way there's no need to check
7756     if the sizes can grow too big or overflow when updating
7757     Compressed Size and Uncompressed Size counts. This also means
7758     that a corrupt file cannot cause the raw decoder to process
7759     useless extra input or output that would exceed the size info
7760     in Block Header (and thus cause LZMA_DATA_ERROR anyway).
7761     
7762     More importantly, now the size information is verified more
7763     carefully in case raw decoder returns LZMA_OK. This doesn't
7764     really matter with the current single-threaded .xz decoder
7765     as the errors would be detected slightly later anyway. But
7766     this helps avoiding corner cases in the upcoming threaded
7767     decompressor, and it might help other Block decoder uses
7768     outside liblzma too.
7769     
7770     The test files bad-1-lzma2-{9,10,11}.xz test these conditions.
7771     With the single-threaded .xz decoder the only difference is
7772     that LZMA_DATA_ERROR is detected in a difference place now.
7773
7774  src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------
7775  1 file changed, 54 insertions(+), 25 deletions(-)
7776
7777 commit 555de11873eb00c9b94a8be70645db502e5a9dbd
7778 Author: Lasse Collin <lasse.collin@tukaani.org>
7779 Date:   2022-02-20 19:38:55 +0200
7780
7781     Tests: Add bad-1-lzma2-11.xz.
7782
7783  tests/files/README            |   5 +++++
7784  tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes
7785  2 files changed, 5 insertions(+)
7786
7787 commit f0da507f22e7f4e3edb75b45b74d344244ca03fb
7788 Author: Lasse Collin <lasse.collin@tukaani.org>
7789 Date:   2022-02-18 18:51:10 +0200
7790
7791     Translations: Fix po4a failure with the French man page translations.
7792     
7793     Thanks to Mario Blättermann for the patch.
7794
7795  po4a/fr_FR.po | 6 ++++--
7796  1 file changed, 4 insertions(+), 2 deletions(-)
7797
7798 commit f7711d228c3c32395460c82498c60a9f730d0239
7799 Author: Lasse Collin <lasse.collin@tukaani.org>
7800 Date:   2022-02-07 01:14:37 +0200
7801
7802     Translations: Add French translation of man pages.
7803     
7804     This matches xz-utils 5.2.5-2 in Debian.
7805     
7806     The translation was done by "bubu", proofread by the debian-l10n-french
7807     mailing list contributors, and submitted to me on the xz-devel mailing
7808     list by Jean-Pierre Giraud. Thanks to everyone!
7809
7810  po4a/fr_FR.po  | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7811  po4a/po4a.conf |    2 +-
7812  2 files changed, 3542 insertions(+), 1 deletion(-)
7813
7814 commit 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4
7815 Author: jiat75 <jiat0218@gmail.com>
7816 Date:   2022-01-28 20:47:55 +0800
7817
7818     liblzma: Add NULL checks to LZMA and LZMA2 properties encoders.
7819     
7820     Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode()
7821     assumed that the options pointers must be non-NULL because the
7822     with these filters the API says it must never be NULL. It is
7823     good to do these checks anyway.
7824
7825  src/liblzma/lzma/lzma2_encoder.c | 3 +++
7826  src/liblzma/lzma/lzma_encoder.c  | 3 +++
7827  2 files changed, 6 insertions(+)
7828
7829 commit 2523c30705f49eabd27b854aa656ae87cc224808
7830 Author: Lasse Collin <lasse.collin@tukaani.org>
7831 Date:   2022-02-06 23:19:32 +0200
7832
7833     liblzma: Fix uint64_t vs. size_t confusion.
7834     
7835     This broke 32-bit builds due to a pointer type mismatch.
7836     
7837     This bug was introduced with the output-size-limited encoding
7838     in 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
7839     
7840     Thanks to huangqinjin for the bug report.
7841
7842  src/liblzma/rangecoder/range_encoder.h | 11 +++++++----
7843  1 file changed, 7 insertions(+), 4 deletions(-)
7844
7845 commit 2bd36c91d03e03b31a4f12fd0afc100ae32d66e2
7846 Author: huangqinjin <huangqinjin@gmail.com>
7847 Date:   2021-12-13 20:49:21 +0800
7848
7849     CMake: Keep compatible with Windows 95 for 32-bit build.
7850
7851  CMakeLists.txt | 12 +++++++++++-
7852  1 file changed, 11 insertions(+), 1 deletion(-)
7853
7854 commit 2024fbf2794885277d05378d40b2b8015a7c3b40
7855 Author: Lasse Collin <lasse.collin@tukaani.org>
7856 Date:   2021-11-13 21:04:05 +0200
7857
7858     xzgrep: Update man page timestamp.
7859
7860  src/scripts/xzgrep.1 | 2 +-
7861  1 file changed, 1 insertion(+), 1 deletion(-)
7862
7863 commit 400e7a239a53282cedaad927a41f3463d7f542e5
7864 Author: Lasse Collin <lasse.collin@tukaani.org>
7865 Date:   2021-11-13 18:23:24 +0200
7866
7867     Update THANKS.
7868
7869  THANKS | 1 +
7870  1 file changed, 1 insertion(+)
7871
7872 commit 3a512c7787b2642ca946f4adc6e9a0a5d9b0d5a0
7873 Author: Ville Skyttä <ville.skytta@iki.fi>
7874 Date:   2021-11-13 10:11:57 +0200
7875
7876     xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep`
7877     
7878     `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in
7879     current post 3.7 Git they have been made to emit obsolescence warnings:
7880     https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1
7881
7882  src/scripts/xzgrep.1  | 8 ++++----
7883  src/scripts/xzgrep.in | 4 ++--
7884  2 files changed, 6 insertions(+), 6 deletions(-)
7885
7886 commit edf525e2b1840dcaf377df472c67d8f11f8ace1b
7887 Author: Lasse Collin <lasse.collin@tukaani.org>
7888 Date:   2021-10-28 23:02:11 +0300
7889
7890     Bump the version number for 5.3.2alpha.
7891
7892  src/liblzma/api/lzma/version.h | 2 +-
7893  src/liblzma/liblzma.map        | 2 +-
7894  2 files changed, 2 insertions(+), 2 deletions(-)
7895
7896 commit ea8c948655a86290524efe59cff067e06a886709
7897 Author: Lasse Collin <lasse.collin@tukaani.org>
7898 Date:   2021-10-28 22:59:52 +0300
7899
7900     Add NEWS for 5.3.2alpha.
7901
7902  NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7903  1 file changed, 86 insertions(+)
7904
7905 commit 52435f302f4724157ec50b4210cbe42b285c3cbc
7906 Author: Lasse Collin <lasse.collin@tukaani.org>
7907 Date:   2021-10-27 23:27:48 +0300
7908
7909     Update THANKS.
7910
7911  THANKS | 1 +
7912  1 file changed, 1 insertion(+)
7913
7914 commit f2aea1d5a504b2021bf47a238390e4f12bdd518d
7915 Author: Lasse Collin <lasse.collin@tukaani.org>
7916 Date:   2021-10-27 23:23:11 +0300
7917
7918     xz: Change the coding style of the previous commit.
7919     
7920     It isn't any better now but it's consistent with
7921     the rest of the code base.
7922
7923  src/xz/file_io.c | 11 ++++++-----
7924  1 file changed, 6 insertions(+), 5 deletions(-)
7925
7926 commit 892b16cc282f5b4e1c49871b326f4db25c5b4d81
7927 Author: Alexander Bluhm <alexander.bluhm@gmx.net>
7928 Date:   2021-10-05 23:33:16 +0200
7929
7930     xz: Avoid fchown(2) failure.
7931     
7932     OpenBSD does not allow to change the group of a file if the user
7933     does not belong to this group.  In contrast to Linux, OpenBSD also
7934     fails if the new group is the same as the old one.  Do not call
7935     fchown(2) in this case, it would change nothing anyway.
7936     
7937     This fixes an issue with Perl Alien::Build module.
7938     https://github.com/PerlAlien/Alien-Build/issues/62
7939
7940  src/xz/file_io.c | 8 +++++++-
7941  1 file changed, 7 insertions(+), 1 deletion(-)
7942
7943 commit 2b509c868cae3988bf21cd693fbf9021cdc85628
7944 Author: Lasse Collin <lasse.collin@tukaani.org>
7945 Date:   2021-09-17 17:31:11 +0300
7946
7947     liblzma: Fix liblzma.map for the lzma_microlzma_* symbols.
7948     
7949     This should have been part of d267d109c370a40b502e73f8664b154b15e4f253.
7950     
7951     Thanks to Gao Xiang.
7952
7953  src/liblzma/liblzma.map | 4 ++--
7954  1 file changed, 2 insertions(+), 2 deletions(-)
7955
7956 commit cacb06a954b58255dfc084a0bc9708f43a0fd6d6
7957 Author: Lasse Collin <lasse.collin@tukaani.org>
7958 Date:   2021-09-09 22:21:07 +0300
7959
7960     Update THANKS.
7961
7962  THANKS | 1 +
7963  1 file changed, 1 insertion(+)
7964
7965 commit 6928aac9da6ba612780b9f72ba1d6ecbe1e8b54e
7966 Author: Lasse Collin <lasse.collin@tukaani.org>
7967 Date:   2021-09-09 21:41:51 +0300
7968
7969     liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC.
7970     
7971     By default, MSVC always sets __cplusplus to 199711L. The real
7972     C++ standard version is available in _MSVC_LANG (or one could
7973     use /Zc:__cplusplus to set __cplusplus correctly).
7974     
7975     Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>.
7976     
7977     Thanks to Dan Weiss.
7978
7979  src/liblzma/api/lzma.h | 3 ++-
7980  1 file changed, 2 insertions(+), 1 deletion(-)
7981
7982 commit d267d109c370a40b502e73f8664b154b15e4f253
7983 Author: Lasse Collin <lasse.collin@tukaani.org>
7984 Date:   2021-09-05 20:38:12 +0300
7985
7986     liblzma: Rename EROFS LZMA to MicroLZMA.
7987     
7988     It still exists primarily for EROFS but MicroLZMA is
7989     a more generic name (that hopefully doesn't clash with
7990     something that already exists).
7991
7992  src/liblzma/api/lzma/container.h                   | 33 +++++++++++++---------
7993  src/liblzma/common/Makefile.inc                    |  4 +--
7994  .../{erofs_decoder.c => microlzma_decoder.c}       | 32 ++++++++++-----------
7995  .../{erofs_encoder.c => microlzma_encoder.c}       | 30 ++++++++++----------
7996  4 files changed, 52 insertions(+), 47 deletions(-)
7997
7998 commit 3247e95115acb95bc27f41e8cf4501db5b0b4309
7999 Author: Lasse Collin <lasse.collin@tukaani.org>
8000 Date:   2021-06-04 19:02:38 +0300
8001
8002     xzdiff: Update the man page about the exit status.
8003     
8004     This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca.
8005
8006  src/scripts/xzdiff.1 | 4 ++--
8007  1 file changed, 2 insertions(+), 2 deletions(-)
8008
8009 commit 96f5a28a46fc93ac4e296808ac0f8631d05498bc
8010 Author: Lasse Collin <lasse.collin@tukaani.org>
8011 Date:   2021-06-04 18:52:48 +0300
8012
8013     xzless: Fix less(1) version detection when it contains a dot.
8014     
8015     Sometimes the version number from "less -V" contains a dot,
8016     sometimes not. xzless failed detect the version number when
8017     it does contain a dot. This fixes it.
8018     
8019     Thanks to nick87720z for reporting this. Apparently it had been
8020     reported here <https://bugs.gentoo.org/489362> in 2013.
8021
8022  src/scripts/xzless.in | 2 +-
8023  1 file changed, 1 insertion(+), 1 deletion(-)
8024
8025 commit 5fb5212d816addbc523d0798cb482fdd0484f8fa
8026 Author: Lasse Collin <lasse.collin@tukaani.org>
8027 Date:   2021-04-11 19:58:10 +0300
8028
8029     Update THANKS.
8030
8031  THANKS | 2 ++
8032  1 file changed, 2 insertions(+)
8033
8034 commit fc3d3a7296ef58bb799a73943636b8bfd95339f7
8035 Author: Ivan A. Melnikov <iv@altlinux.org>
8036 Date:   2021-04-09 11:45:10 +0300
8037
8038     Reduce maximum possible memory limit on MIPS32
8039     
8040     Due to architectural limitations, address space available to a single
8041     userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems
8042     that have more physical RAM -- e.g. 64-bit systems with 32-bit
8043     userspace, or systems that use XPA (an extension similar to x86's PAE).
8044     
8045     So, for MIPS32, we have to impose stronger memory limits. I've chosen
8046     2000MiB to give the process some headroom.
8047
8048  src/xz/hardware.c | 6 ++++++
8049  1 file changed, 6 insertions(+)
8050
8051 commit e7da44d5151e21f153925781ad29334ae0786101
8052 Author: Lasse Collin <lasse.collin@tukaani.org>
8053 Date:   2021-02-13 23:31:27 +0200
8054
8055     CMake: Use interface library for better FindLibLZMA compatibility.
8056     
8057     https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html
8058     
8059     Thanks to Markus Rickert.
8060
8061  CMakeLists.txt | 11 +++++++++--
8062  1 file changed, 9 insertions(+), 2 deletions(-)
8063
8064 commit a61dd82ada39030f41b4ffca9ea551714908bedc
8065 Author: Lasse Collin <lasse.collin@tukaani.org>
8066 Date:   2021-01-30 18:36:04 +0200
8067
8068     CMake: Try to improve compatibility with the FindLibLZMA module.
8069     
8070     The naming conflict with FindLibLZMA module gets worse.
8071     Not avoiding it in the first place was stupid.
8072     
8073     Normally find_package(LibLZMA) will use the module and
8074     find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config
8075     file even with a case insensitive file system. However, if
8076     CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system
8077     is case insensitive, find_package(LibLZMA) will find our liblzma
8078     config file instead of using FindLibLZMA module.
8079     
8080     One big problem with this is that FindLibLZMA uses
8081     LibLZMA::LibLZMA and we use liblzma::liblzma as the target
8082     name. With target names CMake happens to be case sensitive.
8083     To workaround this, this commit adds
8084     
8085         add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma)
8086     
8087     to the config file. Then both spellings work.
8088     
8089     To make the behavior consistent between case sensitive and
8090     insensitive file systems, the config and related files are
8091     renamed from liblzmaConfig.cmake to liblzma-config.cmake style.
8092     With this style CMake looks for lowercase version of the package
8093     name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work
8094     to find our config file.
8095     
8096     There are other differences between our config file and
8097     FindLibLZMA so it's still possible that things break for
8098     reasons other than the spelling of the target name. Hopefully
8099     those situations aren't too common.
8100     
8101     When the config file is available, it should always give as good or
8102     better results as FindLibLZMA so this commit doesn't affect the
8103     recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG)
8104     which explicitly avoids FindLibLZMA.
8105     
8106     Thanks to Markus Rickert.
8107
8108  CMakeLists.txt | 21 +++++++++++++--------
8109  1 file changed, 13 insertions(+), 8 deletions(-)
8110
8111 commit 5b7bc1b8ae766a76710ca1b99f909cf52c697f05
8112 Author: Lasse Collin <lasse.collin@tukaani.org>
8113 Date:   2021-01-29 21:19:43 +0200
8114
8115     Update THANKS.
8116
8117  THANKS | 1 +
8118  1 file changed, 1 insertion(+)
8119
8120 commit 6c6f0db340dcb8bb424411cedba713405d55f6b8
8121 Author: Lasse Collin <lasse.collin@tukaani.org>
8122 Date:   2021-01-29 21:19:08 +0200
8123
8124     liblzma: Fix unitialized variable.
8125     
8126     This was introduced two weeks ago in the commit
8127     625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
8128     
8129     Thanks to Nathan Moinvaziri.
8130
8131  src/liblzma/lzma/lzma_encoder.c | 1 +
8132  1 file changed, 1 insertion(+)
8133
8134 commit bb1d5c1fdd30550d4221ecd336e0be1206132a5c
8135 Author: Lasse Collin <lasse.collin@tukaani.org>
8136 Date:   2021-01-24 22:32:41 +0200
8137
8138     Tests: Add bad-1-lzma2-10.xz and also modify -9.xz.
8139
8140  tests/files/README            |  11 +++++++++--
8141  tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes
8142  tests/files/bad-1-lzma2-9.xz  | Bin 72 -> 72 bytes
8143  3 files changed, 9 insertions(+), 2 deletions(-)
8144
8145 commit 6b8abc84a5469792e0355d0bfc0784d41cfdfef7
8146 Author: Lasse Collin <lasse.collin@tukaani.org>
8147 Date:   2021-01-24 19:22:35 +0200
8148
8149     liblzma: Fix a wrong comment in stream_encoder_mt.c.
8150
8151  src/liblzma/common/stream_encoder_mt.c | 10 +++++++---
8152  1 file changed, 7 insertions(+), 3 deletions(-)
8153
8154 commit 939fc5ed654aac25fe0c8684b2df8dbeadb2de1e
8155 Author: Lasse Collin <lasse.collin@tukaani.org>
8156 Date:   2021-01-24 18:51:51 +0200
8157
8158     Tests: Add bad-1-lzma2-9.xz.
8159
8160  tests/files/README           |   4 ++++
8161  tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes
8162  2 files changed, 4 insertions(+)
8163
8164 commit fdd30032f8531ac89519b48c21d810ecf06825f6
8165 Author: Lasse Collin <lasse.collin@tukaani.org>
8166 Date:   2021-01-24 17:02:00 +0200
8167
8168     Tests: Add bad-1-check-crc32-2.xz.
8169
8170  tests/files/README                 |   7 +++++++
8171  tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes
8172  2 files changed, 7 insertions(+)
8173
8174 commit db465419ae26ec7fb9b9472183911ff521620c77
8175 Author: Lasse Collin <lasse.collin@tukaani.org>
8176 Date:   2021-01-17 19:20:50 +0200
8177
8178     liblzma: In EROFS LZMA decoder, verify that comp_size matches at the end.
8179     
8180     When the uncompressed size is known to be exact, after decompressing
8181     the stream exactly comp_size bytes of input must have been consumed.
8182     This is a minor improvement to error detection.
8183
8184  src/liblzma/common/erofs_decoder.c | 7 ++++++-
8185  1 file changed, 6 insertions(+), 1 deletion(-)
8186
8187 commit 774cc0118ba2496581cb2621505a04bb6598cc75
8188 Author: Lasse Collin <lasse.collin@tukaani.org>
8189 Date:   2021-01-17 18:53:34 +0200
8190
8191     liblzma: Make EROFS LZMA decoder work when exact uncomp_size isn't known.
8192     
8193     The caller must still not specify an uncompressed size bigger
8194     than the actual uncompressed size.
8195     
8196     As a downside, this now needs the exact compressed size.
8197
8198  src/liblzma/api/lzma/container.h   | 23 ++++++++---
8199  src/liblzma/common/erofs_decoder.c | 80 ++++++++++++++++++++++++++++++++++----
8200  2 files changed, 91 insertions(+), 12 deletions(-)
8201
8202 commit 421b0aa352da244075db10205cf33712f91b9835
8203 Author: Lasse Collin <lasse.collin@tukaani.org>
8204 Date:   2021-01-14 20:57:11 +0200
8205
8206     liblzma: Fix missing normalization in rc_encode_dummy().
8207     
8208     Without this fix it could attempt to create too much output.
8209
8210  src/liblzma/rangecoder/range_encoder.h | 7 ++++++-
8211  1 file changed, 6 insertions(+), 1 deletion(-)
8212
8213 commit 601ec0311e769fc704daaaa7dac0ca840aff080e
8214 Author: Lasse Collin <lasse.collin@tukaani.org>
8215 Date:   2021-01-14 20:07:01 +0200
8216
8217     liblzma: Add EROFS LZMA encoder and decoder.
8218     
8219     Right now this is just a planned extra-compact format for use
8220     in the EROFS file system in Linux. At this point it's possible
8221     that the format will either change or be abandoned and removed
8222     completely.
8223     
8224     The special thing about the encoder is that it uses the
8225     output-size-limited encoding added in the previous commit.
8226     EROFS uses fixed-sized blocks (e.g. 4 KiB) to hold compressed
8227     data so the compressors must be able to create valid streams
8228     that fill the given block size.
8229
8230  src/liblzma/api/lzma/container.h   |  76 +++++++++++++++++++
8231  src/liblzma/common/Makefile.inc    |   2 +
8232  src/liblzma/common/erofs_decoder.c | 148 +++++++++++++++++++++++++++++++++++++
8233  src/liblzma/common/erofs_encoder.c | 139 ++++++++++++++++++++++++++++++++++
8234  src/liblzma/liblzma.map            |   2 +
8235  5 files changed, 367 insertions(+)
8236
8237 commit 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c
8238 Author: Lasse Collin <lasse.collin@tukaani.org>
8239 Date:   2021-01-13 19:16:32 +0200
8240
8241     liblzma: Add rough support for output-size-limited encoding in LZMA1.
8242     
8243     With this it is possible to encode LZMA1 data without EOPM so that
8244     the encoder will encode as much input as it can without exceeding
8245     the specified output size limit. The resulting LZMA1 stream will
8246     be a normal LZMA1 stream without EOPM. The actual uncompressed size
8247     will be available to the caller via the uncomp_size pointer.
8248     
8249     One missing thing is that the LZMA layer doesn't inform the LZ layer
8250     when the encoding is finished and thus the LZ may read more input
8251     when it won't be used. However, this doesn't matter if encoding is
8252     done with a single call (which is the planned use case for now).
8253     For proper multi-call encoding this should be improved.
8254     
8255     This commit only adds the functionality for internal use.
8256     Nothing uses it yet.
8257
8258  src/liblzma/common/common.h             |  11 +++
8259  src/liblzma/lz/lz_encoder.c             |  16 ++++
8260  src/liblzma/lz/lz_encoder.h             |   4 +
8261  src/liblzma/lzma/lzma_encoder.c         | 127 +++++++++++++++++++++++---------
8262  src/liblzma/lzma/lzma_encoder_private.h |  12 +++
8263  src/liblzma/rangecoder/range_encoder.h  | 111 ++++++++++++++++++++++++++++
8264  6 files changed, 246 insertions(+), 35 deletions(-)
8265
8266 commit 9cdabbeea891e8f1e7741b076f7db6ac05ae392a
8267 Author: Lasse Collin <lasse.collin@tukaani.org>
8268 Date:   2021-01-11 23:57:11 +0200
8269
8270     Scripts: Add zstd support to xzdiff.
8271
8272  src/scripts/xzdiff.1  |  6 ++++--
8273  src/scripts/xzdiff.in | 16 +++++++++++-----
8274  2 files changed, 15 insertions(+), 7 deletions(-)
8275
8276 commit d9ec3add97cf4c999a7f594c6529680227b6c274
8277 Author: Lasse Collin <lasse.collin@tukaani.org>
8278 Date:   2021-01-11 23:41:30 +0200
8279
8280     Update THANKS.
8281
8282  THANKS | 2 ++
8283  1 file changed, 2 insertions(+)
8284
8285 commit 074259f4f3966aeac6edb205fecbc1a8d2b58bb2
8286 Author: Lasse Collin <lasse.collin@tukaani.org>
8287 Date:   2021-01-11 23:41:16 +0200
8288
8289     xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky.
8290     
8291     Previously this required using --force but that has other
8292     effects too which might be undesirable. Changing the behavior
8293     of --keep has a small risk of breaking existing scripts but
8294     since this is a fairly special corner case I expect the
8295     likehood of breakage to be low enough.
8296     
8297     I think the new behavior is more logical. The only reason for
8298     the old behavior was to be consistent with gzip and bzip2.
8299     
8300     Thanks to Vincent Lefevre and Sebastian Andrzej Siewior.
8301
8302  src/xz/file_io.c |  9 +++++----
8303  src/xz/xz.1      | 16 +++++++++++++++-
8304  2 files changed, 20 insertions(+), 5 deletions(-)
8305
8306 commit 73c555b3077c19dda29b6f4592ced2af876f8333
8307 Author: Lasse Collin <lasse.collin@tukaani.org>
8308 Date:   2021-01-11 23:28:52 +0200
8309
8310     Scripts: Fix exit status of xzgrep.
8311     
8312     Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't
8313     matter. With gzip it's important because -q makes gzip replace SIGPIPE
8314     with exit status 2. With bzip2 it's important because with -q bzip2
8315     is completely silent if input is corrupt while other decompressors
8316     still give an error message.
8317     
8318     Avoiding exit status 2 from gzip is important because bzip2 uses
8319     exit status 2 to indicate corrupt input. Before this commit xzgrep
8320     didn't recognize corrupt .bz2 files because xzgrep was treating
8321     exit status 2 as SIGPIPE for gzip compatibility.
8322     
8323     zstd still needs -q because otherwise it is noisy in normal
8324     operation.
8325     
8326     The code to detect real SIGPIPE didn't check if the exit status
8327     was due to a signal (>= 128) and so could ignore some other exit
8328     status too.
8329
8330  src/scripts/xzgrep.in | 20 +++++++++++++-------
8331  1 file changed, 13 insertions(+), 7 deletions(-)
8332
8333 commit 194029ffaf74282a81f0c299c07f73caca3232ca
8334 Author: Lasse Collin <lasse.collin@tukaani.org>
8335 Date:   2021-01-11 22:01:51 +0200
8336
8337     Scripts: Fix exit status of xzdiff/xzcmp.
8338     
8339     This is a minor fix since this affects only the situation when
8340     the files differ and the exit status is something else than 0.
8341     In such case there could be SIGPIPE from a decompression tool
8342     and that would result in exit status of 2 from xzdiff/xzcmp
8343     while the correct behavior would be to return 1 or whatever
8344     else diff or cmp may have returned.
8345     
8346     This commit omits the -q option from xz/gzip/bzip2/lzop arguments.
8347     I'm not sure why the -q was used in the first place, perhaps it
8348     hides warnings in some situation that I cannot see at the moment.
8349     Hopefully the removal won't introduce a new bug.
8350     
8351     With gzip the -q option was harmful because it made gzip return 2
8352     instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning
8353     from gzip) isn't practical because bzip2 uses exit status 2 to
8354     indicate corrupt input file. It's better if SIGPIPE results in
8355     exit status >= 128.
8356     
8357     With bzip2 the removal of -q seems to be good because with -q
8358     it prints nothing if input is corrupt. The other tools aren't
8359     silent in this situation even with -q. On the other hand, if
8360     zstd support is added, it will need -q since otherwise it's
8361     noisy in normal situations.
8362     
8363     Thanks to Étienne Mollier and Sebastian Andrzej Siewior.
8364
8365  src/scripts/xzdiff.in | 35 +++++++++++++++++++++--------------
8366  1 file changed, 21 insertions(+), 14 deletions(-)
8367
8368 commit f7fa309e1f7178d04c7bedc03b73077639371e97
8369 Author: Lasse Collin <lasse.collin@tukaani.org>
8370 Date:   2021-01-09 21:14:36 +0200
8371
8372     liblzma: Make lzma_outq usable for threaded decompression too.
8373     
8374     Before this commit all output queue buffers were allocated as
8375     a single big allocation. Now each buffer is allocated separately
8376     when needed. Used buffers are cached to avoid reallocation
8377     overhead but the cache will keep only one buffer size at a time.
8378     This should make things work OK in the decompression where most
8379     of the time the buffer sizes will be the same but with some less
8380     common files the buffer sizes may vary.
8381     
8382     While this should work fine, it's still a bit preliminary
8383     and may even get reverted if it turns out to be useless for
8384     decompression.
8385
8386  src/liblzma/common/outqueue.c          | 268 +++++++++++++++++++++------------
8387  src/liblzma/common/outqueue.h          | 138 ++++++++++++-----
8388  src/liblzma/common/stream_encoder_mt.c |  52 ++++---
8389  3 files changed, 301 insertions(+), 157 deletions(-)
8390
8391 commit a35a69d693ce37d4ba7c1855bda7d9cfa13d1778
8392 Author: Lasse Collin <lasse.collin@tukaani.org>
8393 Date:   2020-12-23 17:15:49 +0200
8394
8395     Update THANKS.
8396
8397  THANKS | 1 +
8398  1 file changed, 1 insertion(+)
8399
8400 commit 4fd79b90c52396d70e0b1206ceb1a873a0ad2589
8401 Author: H.J. Lu <hjl.tools@gmail.com>
8402 Date:   2020-12-23 06:49:04 -0800
8403
8404     liblzma: Enable Intel CET in x86 CRC assembly codes
8405     
8406     When Intel CET is enabled, we need to include <cet.h> in assembly codes
8407     to mark Intel CET support and add _CET_ENDBR to indirect jump targets.
8408     
8409     Tested on Intel Tiger Lake under CET enabled Linux.
8410
8411  src/liblzma/check/crc32_x86.S | 9 +++++++++
8412  src/liblzma/check/crc64_x86.S | 9 +++++++++
8413  2 files changed, 18 insertions(+)
8414
8415 commit bb3b8c6a23e25db79f862b1de325c56052e0354b
8416 Author: Lasse Collin <lasse.collin@tukaani.org>
8417 Date:   2020-12-16 18:33:29 +0200
8418
8419     Update THANKS.
8420
8421  THANKS | 1 +
8422  1 file changed, 1 insertion(+)
8423
8424 commit 21588ca34af98738954fc12ded1b89d7294ef646
8425 Author: Lasse Collin <lasse.collin@tukaani.org>
8426 Date:   2020-12-16 18:30:14 +0200
8427
8428     Build: Don't build bundles on Apple OSes.
8429     
8430     Thanks to Daniel Packard.
8431
8432  CMakeLists.txt | 3 +++
8433  1 file changed, 3 insertions(+)
8434
8435 commit d05b0c42dd8b38d8c6b8193c8af50e9bd3d16f28
8436 Author: Lasse Collin <lasse.collin@tukaani.org>
8437 Date:   2020-12-05 22:44:03 +0200
8438
8439     Update THANKS.
8440
8441  THANKS | 1 +
8442  1 file changed, 1 insertion(+)
8443
8444 commit 1890351f3423627ba5c4c495402f32d7e9ed90b7
8445 Author: Adam Borowski <kilobyte@angband.pl>
8446 Date:   2020-09-25 03:35:18 +0200
8447
8448     Scripts: Add zstd support to xzgrep.
8449     
8450     Thanks to Adam Borowski.
8451
8452  src/scripts/xzgrep.1  | 9 ++++++---
8453  src/scripts/xzgrep.in | 1 +
8454  2 files changed, 7 insertions(+), 3 deletions(-)
8455
8456 commit 2f108abb3d82e4e2313b438dae9c0c7c7a6366f2
8457 Author: Lasse Collin <lasse.collin@tukaani.org>
8458 Date:   2020-11-17 20:51:48 +0200
8459
8460     CMake: Fix compatibility with CMake 3.13.
8461     
8462     The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14.
8463     In some other places the code treats the cache variables
8464     like normal variables already (${FOO} or if(FOO) is used,
8465     not ${CACHE{FOO}).
8466     
8467     Thanks to ygrek for reporting the bug on IRC.
8468
8469  CMakeLists.txt              | 2 +-
8470  cmake/tuklib_cpucores.cmake | 4 ++--
8471  cmake/tuklib_physmem.cmake  | 4 ++--
8472  3 files changed, 5 insertions(+), 5 deletions(-)
8473
8474 commit 5af726a79273fafa5de5745b117e567f21c90e49
8475 Author: Lasse Collin <lasse.collin@tukaani.org>
8476 Date:   2020-11-01 22:56:43 +0200
8477
8478     Update THANKS.
8479
8480  THANKS | 4 +++-
8481  1 file changed, 3 insertions(+), 1 deletion(-)
8482
8483 commit 4575d9d365c756ec189899f9f743e0b3515ce72d
8484 Author: Lasse Collin <lasse.collin@tukaani.org>
8485 Date:   2020-11-01 22:34:25 +0200
8486
8487     xz: Avoid unneeded \f escapes on the man page.
8488     
8489     I don't want to use \c in macro arguments but groff_man(7)
8490     suggests that \f has better portability. \f would be needed
8491     for the .TP strings for portability reasons anyway.
8492     
8493     Thanks to Bjarni Ingi Gislason.
8494
8495  src/xz/xz.1 | 31 ++++++++++++++++++++++---------
8496  1 file changed, 22 insertions(+), 9 deletions(-)
8497
8498 commit 620b32f5339f86710cb4435e01ecdac972ccac73
8499 Author: Lasse Collin <lasse.collin@tukaani.org>
8500 Date:   2020-11-01 19:09:53 +0200
8501
8502     xz: Use non-breaking spaces when intentionally using more than one space.
8503     
8504     This silences some style checker warnings. Seems that spaces
8505     in the beginning of a line don't need this treatment.
8506     
8507     Thanks to Bjarni Ingi Gislason.
8508
8509  src/xz/xz.1 | 2 +-
8510  1 file changed, 1 insertion(+), 1 deletion(-)
8511
8512 commit cb1f34988c8a4130485091b2f8b641303d8f701b
8513 Author: Lasse Collin <lasse.collin@tukaani.org>
8514 Date:   2020-11-01 18:49:37 +0200
8515
8516     xz: Protect the ellipsis (...) on the man page with \&.
8517     
8518     This does it only when ... appears outside macro calls.
8519     
8520     Thanks to Bjarni Ingi Gislason.
8521
8522  src/xz/xz.1 | 4 ++--
8523  1 file changed, 2 insertions(+), 2 deletions(-)
8524
8525 commit 5d224da3da87400f2fab313abbd7c710e7169ef9
8526 Author: Lasse Collin <lasse.collin@tukaani.org>
8527 Date:   2020-11-01 18:41:21 +0200
8528
8529     xz: Avoid the abbreviation "e.g." on the man page.
8530     
8531     A few are simply omitted, most are converted to "for example"
8532     and surrounded with commas. Sounds like that this is better
8533     style, for example, man-pages(7) recommends avoiding such
8534     abbreviations except in parenthesis.
8535     
8536     Thanks to Bjarni Ingi Gislason.
8537
8538  src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++-------------------------------
8539  1 file changed, 33 insertions(+), 33 deletions(-)
8540
8541 commit 90457dbe3e5717660f5b81f8c604860fc5137c0c
8542 Author: Lasse Collin <lasse.collin@tukaani.org>
8543 Date:   2020-07-12 23:10:03 +0300
8544
8545     xz man page: Change \- (minus) to \(en (en-dash) for a numeric range.
8546     
8547     Docs of ancient troff/nroff mention \(em (em-dash) but not \(en
8548     and \- was used for both minus and en-dash. I don't know how
8549     portable \(en is nowadays but it can be changed back if someone
8550     complains. At least GNU groff and OpenBSD's mandoc support it.
8551     
8552     Thanks to Bjarni Ingi Gislason for the patch.
8553
8554  src/xz/xz.1 | 16 ++++++++--------
8555  1 file changed, 8 insertions(+), 8 deletions(-)
8556
8557 commit 352ba2d69af2136bc814aa1df1a132559d445616
8558 Author: Lasse Collin <lasse.collin@tukaani.org>
8559 Date:   2020-07-12 20:46:24 +0300
8560
8561     Windows: Fix building of resource files when config.h isn't used.
8562     
8563     Now CMake + Visual Studio works for building liblzma.dll.
8564     
8565     Thanks to Markus Rickert.
8566
8567  src/common/common_w32res.rc | 4 +++-
8568  1 file changed, 3 insertions(+), 1 deletion(-)
8569
8570 commit a9e2a87f1d61dcf684d809bf08c8ebea93f8a480
8571 Author: Lasse Collin <lasse.collin@tukaani.org>
8572 Date:   2020-04-06 19:31:50 +0300
8573
8574     src/scripts/xzgrep.1: Filenames to xzgrep are optional.
8575     
8576     xzgrep --help was correct already.
8577
8578  src/scripts/xzgrep.1 | 2 +-
8579  1 file changed, 1 insertion(+), 1 deletion(-)
8580
8581 commit a7ba275d9b855d186abb29eb7a4f4cb6d9ca6fe0
8582 Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8583 Date:   2020-03-26 22:17:31 +0000
8584
8585     src/script/xzgrep.1: Remove superfluous '.RB'
8586     
8587     Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
8588     
8589       [ "test-groff" is a developmental version of "groff" ]
8590     
8591     Input file is ./src/scripts/xzgrep.1
8592     
8593     <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected
8594     <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected
8595     <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected
8596     <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected
8597     <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected
8598     
8599      "abc..." does not mean the same as "abc ...".
8600     
8601       The output from nroff and troff is unchanged except for the space
8602     between "file" and "...".
8603     
8604     Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8605
8606  src/scripts/xzgrep.1 | 12 ++++++------
8607  1 file changed, 6 insertions(+), 6 deletions(-)
8608
8609 commit 133d498db0f4b14f066d192d64dbcade45deae6b
8610 Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8611 Date:   2020-03-30 21:56:36 +0000
8612
8613     xzgrep.1: Delete superfluous '.PP'
8614     
8615     Summary:
8616     
8617     mandoc -T lint xzgrep.1 :
8618     mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty
8619     
8620       There is no change in the output of "nroff" and "troff".
8621     
8622     Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8623
8624  src/scripts/xzgrep.1 | 1 -
8625  1 file changed, 1 deletion(-)
8626
8627 commit 057839ca982f886387b66746bffe749cb14fd8cd
8628 Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8629 Date:   2020-03-26 21:16:18 +0000
8630
8631     src/xz/xz.1: Correct misused two-fonts macros
8632     
8633     Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
8634     
8635       [ "test-groff" is a developmental version of "groff" ]
8636     
8637     Input file is ./src/xz/xz.1
8638     
8639     <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected
8640     <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected
8641     <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected
8642     <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected
8643     <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected
8644     
8645       Output from nroff and troff is unchanged, except for a font change of a
8646     full stop (.).
8647     
8648     Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8649
8650  src/xz/xz.1 | 10 +++++-----
8651  1 file changed, 5 insertions(+), 5 deletions(-)
8652
8653 commit b8e12f5ab4c9fd3cb09a4330b2861f6b979ababd
8654 Author: Lasse Collin <lasse.collin@tukaani.org>
8655 Date:   2020-03-23 18:07:50 +0200
8656
8657     Typo fixes from fossies.org.
8658     
8659     https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html
8660
8661  Makefile.am                     | 2 +-
8662  doc/examples/01_compress_easy.c | 2 +-
8663  src/liblzma/api/lzma/base.h     | 2 +-
8664  src/liblzma/check/crc32_x86.S   | 2 +-
8665  src/liblzma/common/index.c      | 2 +-
8666  src/xz/xz.1                     | 4 ++--
8667  6 files changed, 7 insertions(+), 7 deletions(-)
8668
8669 commit 869b9d1b4edd6df07f819d360d306251f8147353
8670 Author: Lasse Collin <lasse.collin@tukaani.org>
8671 Date:   2020-03-17 16:24:28 +0200
8672
8673     Update NEWS for 5.2.5.
8674
8675  NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8676  1 file changed, 105 insertions(+)
8677
8678 commit a048e3a92d238c65f050a765174d9c75417231d4
8679 Author: Lasse Collin <lasse.collin@tukaani.org>
8680 Date:   2020-03-16 20:01:37 +0200
8681
8682     README: Update outdated sections.
8683
8684  README | 21 +++++++++++----------
8685  1 file changed, 11 insertions(+), 10 deletions(-)
8686
8687 commit 29aed815ad4f98f3e4d355faa76a244ecd8ce716
8688 Author: Lasse Collin <lasse.collin@tukaani.org>
8689 Date:   2020-03-16 19:39:45 +0200
8690
8691     README: Mention that man pages can be translated.
8692
8693  README | 7 ++++---
8694  1 file changed, 4 insertions(+), 3 deletions(-)
8695
8696 commit 7fa7653940cc9dcfcbce2fbc5166ea343ad4e3c1
8697 Author: Lasse Collin <lasse.collin@tukaani.org>
8698 Date:   2020-03-16 16:43:29 +0200
8699
8700     Update INSTALL.generic from Automake 1.16.1.
8701
8702  INSTALL.generic | 321 ++++++++++++++++++++++++++++----------------------------
8703  1 file changed, 162 insertions(+), 159 deletions(-)
8704
8705 commit 9bd317ef03ab9b3e6a927c27c2e9c4ac041182f0
8706 Author: Lasse Collin <lasse.collin@tukaani.org>
8707 Date:   2020-03-15 15:27:22 +0200
8708
8709     Update INSTALL for Windows and DOS and add preliminary info for z/OS.
8710
8711  INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++----------
8712  1 file changed, 41 insertions(+), 10 deletions(-)
8713
8714 commit a3148c0446dc7fa96363752df414d22539c9007b
8715 Author: Lasse Collin <lasse.collin@tukaani.org>
8716 Date:   2020-03-15 15:26:20 +0200
8717
8718     Build: Update m4/ax_pthread.m4 from Autoconf Archive (again).
8719
8720  m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++--------------------------
8721  1 file changed, 117 insertions(+), 102 deletions(-)
8722
8723 commit 7812002dd3ed319e42a14662a8531802cca8ca67
8724 Author: Lasse Collin <lasse.collin@tukaani.org>
8725 Date:   2020-03-11 21:15:35 +0200
8726
8727     xz: Never use thousand separators in DJGPP builds.
8728     
8729     DJGPP 2.05 added support for thousands separators but it's
8730     broken at least under WinXP with Finnish locale that uses
8731     a non-breaking space as the thousands separator. Workaround
8732     by disabling thousands separators for DJGPP builds.
8733
8734  src/xz/util.c | 14 ++++++++++++--
8735  1 file changed, 12 insertions(+), 2 deletions(-)
8736
8737 commit 7c8f688bf7fccd65d396e0130cbf4ea5dff5c56f
8738 Author: Lasse Collin <lasse.collin@tukaani.org>
8739 Date:   2020-03-11 19:38:08 +0200
8740
8741     DOS: Update dos/Makefile for DJGPP 2.05.
8742     
8743     It doesn't need -fgnu89-inline like 2.04beta did.
8744
8745  dos/Makefile | 4 +---
8746  1 file changed, 1 insertion(+), 3 deletions(-)
8747
8748 commit 319ca928d73de87940c54e30bffe69f9fa65efdf
8749 Author: Lasse Collin <lasse.collin@tukaani.org>
8750 Date:   2020-03-11 19:36:07 +0200
8751
8752     DOS: Update instructions in dos/INSTALL.txt.
8753
8754  dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++-----------------------------
8755  1 file changed, 29 insertions(+), 30 deletions(-)
8756
8757 commit cb6b227ce39932824812ccd8a0647bd968de27d2
8758 Author: Lasse Collin <lasse.collin@tukaani.org>
8759 Date:   2020-03-11 17:58:51 +0200
8760
8761     DOS: Update config.h.
8762     
8763     The added defines assume GCC >= 4.8.
8764
8765  dos/config.h | 8 ++++++++
8766  1 file changed, 8 insertions(+)
8767
8768 commit 4572d53e16e87eee375bc5624de2fd59bb0ae9cd
8769 Author: Lasse Collin <lasse.collin@tukaani.org>
8770 Date:   2020-03-02 13:54:33 +0200
8771
8772     liblzma: Fix a comment and RC_SYMBOLS_MAX.
8773     
8774     The comment didn't match the value of RC_SYMBOLS_MAX and the value
8775     itself was slightly larger than actually needed. The only harm
8776     about this was that memory usage was a few bytes larger.
8777
8778  src/liblzma/rangecoder/range_encoder.h | 4 ++--
8779  1 file changed, 2 insertions(+), 2 deletions(-)
8780
8781 commit 265daa873c0d871f5f23f9b56e133a6f20045a0a
8782 Author: Lasse Collin <lasse.collin@tukaani.org>
8783 Date:   2020-02-27 20:58:52 +0200
8784
8785     Build: Make CMake build fail if tuklib_cpucores or tuklib_physmem fails.
8786
8787  CMakeLists.txt | 18 ++++++++++++++++++
8788  1 file changed, 18 insertions(+)
8789
8790 commit 7c8b904527cdbe61248c80edcc2e20d840c4fef9
8791 Author: Lasse Collin <lasse.collin@tukaani.org>
8792 Date:   2020-02-27 20:24:27 +0200
8793
8794     Build: Add support for --no-po4a option to autogen.sh.
8795     
8796     Normally, if po4a isn't available, autogen.sh will return
8797     with non-zero exit status. The option --no-po4a can be useful
8798     when one knows that po4a isn't available but wants autogen.sh
8799     to still return with zero exit status.
8800
8801  autogen.sh | 11 ++++++++++-
8802  1 file changed, 10 insertions(+), 1 deletion(-)
8803
8804 commit 292a5c0f9c9b3a66f5a5c652dc46381836d4537f
8805 Author: Lasse Collin <lasse.collin@tukaani.org>
8806 Date:   2020-02-25 21:35:14 +0200
8807
8808     Update THANKS.
8809
8810  THANKS | 1 +
8811  1 file changed, 1 insertion(+)
8812
8813 commit 474320e9908786ba2021035f9013191e16cde08a
8814 Author: Lasse Collin <lasse.collin@tukaani.org>
8815 Date:   2020-02-25 20:42:31 +0200
8816
8817     Build: Fix bugs in the CMake files.
8818     
8819     Seems that the phrase "add more quotes" from sh/bash scripting
8820     applies to CMake as well. E.g. passing an unquoted list ${FOO}
8821     to a function that expects one argument results in only the
8822     first element of the list being passed as an argument and
8823     the rest get ignored. Adding quotes helps ("${FOO}").
8824     
8825     list(INSERT ...) is weird. Inserting an empty string to an empty
8826     variable results in empty list, but inserting it to a non-empty
8827     variable does insert an empty element to the list.
8828     
8829     Since INSERT requires at least one element,
8830     "${CMAKE_THREAD_LIBS_INIT}" needs to be quoted in CMakeLists.txt.
8831     It might result in an empty element in the list. It seems to not
8832     matter as empty elements consistently get ignored in that variable.
8833     In fact, calling cmake_check_push_state() and cmake_check_pop_state()
8834     will strip the empty elements from CMAKE_REQUIRED_LIBRARIES!
8835     
8836     In addition to quoting fixes, this fixes checks for the cache
8837     variables in tuklib_cpucores.cmake and tuklib_physmem.cmake.
8838     
8839     Thanks to Martin Matuška for testing and reporting the problems.
8840     These fixes aren't tested yet but hopefully they soon will be.
8841
8842  CMakeLists.txt              | 52 ++++++++++++++++++++++-----------------------
8843  cmake/tuklib_common.cmake   |  8 ++++---
8844  cmake/tuklib_cpucores.cmake | 30 ++++++++++++++------------
8845  cmake/tuklib_integer.cmake  | 34 +++++++++++++++--------------
8846  cmake/tuklib_mbstr.cmake    |  6 +++---
8847  cmake/tuklib_physmem.cmake  | 29 +++++++++++++------------
8848  cmake/tuklib_progname.cmake |  4 ++--
8849  7 files changed, 85 insertions(+), 78 deletions(-)
8850
8851 commit 7e3493d40eac0c3fa3d5124097745a70e15c41f6
8852 Author: Lasse Collin <lasse.collin@tukaani.org>
8853 Date:   2020-02-24 23:38:16 +0200
8854
8855     Build: Add very limited experimental CMake support.
8856     
8857     This does *NOT* replace the Autotools-based build system in
8858     the foreseeable future. See the comment in the beginning
8859     of CMakeLists.txt.
8860     
8861     So far this has been tested only on GNU/Linux but I commit
8862     it anyway to make it easier for others to test. Since I
8863     haven't played much with CMake before, it's likely that
8864     there are things that have been done in a silly or wrong
8865     way and need to be fixed.
8866
8867  CMakeLists.txt              | 643 ++++++++++++++++++++++++++++++++++++++++++++
8868  cmake/tuklib_common.cmake   |  47 ++++
8869  cmake/tuklib_cpucores.cmake | 173 ++++++++++++
8870  cmake/tuklib_integer.cmake  | 100 +++++++
8871  cmake/tuklib_mbstr.cmake    |  20 ++
8872  cmake/tuklib_physmem.cmake  | 149 ++++++++++
8873  cmake/tuklib_progname.cmake |  19 ++
8874  7 files changed, 1151 insertions(+)
8875
8876 commit 21bd4701fca3e9002ce78bc135debca369ed8545
8877 Author: Lasse Collin <lasse.collin@tukaani.org>
8878 Date:   2020-02-24 23:37:07 +0200
8879
8880     Update m4/.gitignore.
8881
8882  m4/.gitignore | 1 +
8883  1 file changed, 1 insertion(+)
8884
8885 commit e094d1d0f196a91ec703e8d0055948feef349ae8
8886 Author: Lasse Collin <lasse.collin@tukaani.org>
8887 Date:   2020-02-24 23:29:35 +0200
8888
8889     tuklib: Omit an unneeded <sys/types.h> from a tests.
8890     
8891     tuklib_cpucores.c and tuklib_physmem.c don't include <sys/types.h>
8892     even via other files in this package, so clearly that header isn't
8893     needed in the tests either (no one has reported build problems due
8894     to a missing header in a .c file).
8895
8896  m4/tuklib_cpucores.m4 | 1 -
8897  m4/tuklib_physmem.m4  | 1 -
8898  2 files changed, 2 deletions(-)
8899
8900 commit b3ed19a55fe99a45bd77614e149d39d18498075c
8901 Author: Lasse Collin <lasse.collin@tukaani.org>
8902 Date:   2020-02-24 23:01:00 +0200
8903
8904     liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c.
8905     
8906     This file only generates fastpos_table.c.
8907     It isn't built as a part of liblzma.
8908
8909  src/liblzma/lzma/fastpos_tablegen.c | 1 -
8910  1 file changed, 1 deletion(-)
8911
8912 commit 7b8982b29179b3c586e0456dc9ecbd4f58dcea59
8913 Author: Lasse Collin <lasse.collin@tukaani.org>
8914 Date:   2020-02-22 14:15:07 +0200
8915
8916     Use defined(__GNUC__) before __GNUC__ in preprocessor lines.
8917     
8918     This should silence the equivalent of -Wundef in compilers that
8919     don't define __GNUC__.
8920
8921  src/common/sysdefs.h   | 3 ++-
8922  src/liblzma/api/lzma.h | 5 +++--
8923  2 files changed, 5 insertions(+), 3 deletions(-)
8924
8925 commit 43dfe04e6209c691cf4fbe3072d4ee91271748f1
8926 Author: Lasse Collin <lasse.collin@tukaani.org>
8927 Date:   2020-02-21 17:40:02 +0200
8928
8929     liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA.
8930     
8931     This gives a tiny encoder speed improvement. This could have been done
8932     in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but
8933     it was forgotten.
8934
8935  src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------
8936  1 file changed, 10 insertions(+), 6 deletions(-)
8937
8938 commit 59e6eb4840b9f52fa3a61544974017279b448216
8939 Author: Lasse Collin <lasse.collin@tukaani.org>
8940 Date:   2020-02-21 17:01:15 +0200
8941
8942     Build: Add visibility.m4 from gnulib.
8943     
8944     Appears that this file used to get included as a side effect of
8945     gettext. After the change to gettext version requirements this file
8946     no longer got copied to the package and so the build was broken.
8947
8948  m4/.gitignore    |  1 -
8949  m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8950  2 files changed, 77 insertions(+), 1 deletion(-)
8951
8952 commit 7fe3ef2eaa53d439cec043727ea1998f4ff0e22a
8953 Author: Lasse Collin <lasse.collin@tukaani.org>
8954 Date:   2020-02-21 16:10:44 +0200
8955
8956     xz: Silence a warning when sig_atomic_t is long int.
8957     
8958     It can be true at least on z/OS.
8959
8960  src/xz/signals.c | 2 +-
8961  1 file changed, 1 insertion(+), 1 deletion(-)
8962
8963 commit b0a2a77d10940c42b449d47a005bfc2e50ab5db8
8964 Author: Lasse Collin <lasse.collin@tukaani.org>
8965 Date:   2020-02-21 15:59:26 +0200
8966
8967     xz: Avoid unneeded access of a volatile variable.
8968
8969  src/xz/signals.c | 2 +-
8970  1 file changed, 1 insertion(+), 1 deletion(-)
8971
8972 commit 524c2f12c762032b819757aeda8af7c47c4cabce
8973 Author: Lasse Collin <lasse.collin@tukaani.org>
8974 Date:   2020-02-21 01:24:18 +0200
8975
8976     tuklib_integer.m4: Optimize the check order.
8977     
8978     The __builtin byteswapping is the preferred one so check for it first.
8979
8980  m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++-------------------------
8981  1 file changed, 29 insertions(+), 27 deletions(-)
8982
8983 commit 57360bb4fd79b358b36d2877db26ac828d1fdfcb
8984 Author: Lasse Collin <lasse.collin@tukaani.org>
8985 Date:   2020-02-20 18:54:04 +0200
8986
8987     tuklib_exit: Add missing header.
8988     
8989     strerror() needs <string.h> which happened to be included via
8990     tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H
8991     was defined. This wasn't tested without config.h before so it
8992     had worked fine.
8993
8994  src/common/tuklib_exit.c | 1 +
8995  1 file changed, 1 insertion(+)
8996
8997 commit fddd31175e74a538997a939d930462fde17d2dd4
8998 Author: Lasse Collin <lasse.collin@tukaani.org>
8999 Date:   2020-02-18 19:12:35 +0200
9000
9001     Revert the previous commit and add a comment.
9002     
9003     The previous commit broke crc32_tablegen.c.
9004     
9005     If the whole package is built without config.h (with defines
9006     set on the compiler command line) this should still work fine
9007     as long as these headers conform to C99 well enough.
9008
9009  src/common/tuklib_config.h | 17 ++++++++++-------
9010  1 file changed, 10 insertions(+), 7 deletions(-)
9011
9012 commit 4e4e9fbb7e66d45319525ac224bff48fbdd0cf6e
9013 Author: Lasse Collin <lasse.collin@tukaani.org>
9014 Date:   2020-02-17 23:37:20 +0200
9015
9016     Do not check for HAVE_CONFIG_H in tuklib_config.h.
9017     
9018     In XZ Utils sysdefs.h takes care of it and the required headers.
9019
9020  src/common/tuklib_config.h | 15 +++++++--------
9021  1 file changed, 7 insertions(+), 8 deletions(-)
9022
9023 commit 2d4cef954feba82073951358466a1d614141cf33
9024 Author: Lasse Collin <lasse.collin@tukaani.org>
9025 Date:   2020-02-16 11:18:28 +0200
9026
9027     sysdefs.h: Omit the conditionals around string.h and limits.h.
9028     
9029     string.h is used unconditionally elsewhere in the project and
9030     configure has always stopped if limits.h is missing, so these
9031     headers must have been always available even on the weirdest
9032     systems.
9033
9034  src/common/sysdefs.h | 8 ++------
9035  1 file changed, 2 insertions(+), 6 deletions(-)
9036
9037 commit feb9c1969bc3eb33d4ecb72cfa897f92dae84939
9038 Author: Lasse Collin <lasse.collin@tukaani.org>
9039 Date:   2020-02-15 15:07:11 +0200
9040
9041     Build: Bump Autoconf and Libtool version requirements.
9042     
9043     There is no specific reason for this other than blocking
9044     the most ancient versions. These are still old:
9045     
9046     Autoconf 2.69 (2012)
9047     Automake 1.12 (2012)
9048     gettext 0.19.6 (2015)
9049     Libtool 2.4 (2010)
9050
9051  configure.ac | 4 ++--
9052  1 file changed, 2 insertions(+), 2 deletions(-)
9053
9054 commit 3d576cf92158d62790017ad7f2dd6dc1dd6b42bb
9055 Author: Lasse Collin <lasse.collin@tukaani.org>
9056 Date:   2020-02-15 03:08:32 +0200
9057
9058     Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6.
9059     
9060     This bumps the version requirement from 0.19 (from 2014) to
9061     0.19.6 (2015).
9062     
9063     Using only the old AM_GNU_GETTEXT_VERSION results in old
9064     gettext infrastructure being placed in the package. By using
9065     both macros we get the latest gettext files while the other
9066     programs in the Autotools family can still see the old macro.
9067
9068  configure.ac | 6 +++++-
9069  1 file changed, 5 insertions(+), 1 deletion(-)
9070
9071 commit fa792b8befaf7cb3960b655e0a9410da866d756f
9072 Author: Lasse Collin <lasse.collin@tukaani.org>
9073 Date:   2020-02-14 20:42:06 +0200
9074
9075     Translations: Add German translation of the man pages.
9076     
9077     Thanks to Mario Blättermann.
9078
9079  po4a/de.po     | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9080  po4a/po4a.conf |    2 +-
9081  2 files changed, 5533 insertions(+), 1 deletion(-)
9082
9083 commit 6f7211b6bb47a895b47f533282dba9ee9a1b0c8b
9084 Author: Lasse Collin <lasse.collin@tukaani.org>
9085 Date:   2020-02-07 15:32:21 +0200
9086
9087     Build: Add support for translated man pages using po4a.
9088     
9089     The dependency on po4a is optional. It's never required to install
9090     the translated man pages when xz is built from a release tarball.
9091     If po4a is missing when building from xz.git, the translated man
9092     pages won't be generated but otherwise the build will work normally.
9093     
9094     The translations are only updated automatically by autogen.sh and
9095     by "make mydist". This makes it easy to keep po4a as an optional
9096     dependency and ensures that I won't forget to put updated
9097     translations to a release tarball.
9098     
9099     The translated man pages aren't installed if --disable-nls is used.
9100     
9101     The installation of translated man pages abuses Automake internals
9102     by calling "install-man" with redefined dist_man_MANS and man_MANS.
9103     This makes the hairy script code slightly less hairy. If it breaks
9104     some day, this code needs to be fixed; don't blame Automake developers.
9105     
9106     Also, this adds more quotes to the existing shell script code in
9107     the Makefile.am "-hook"s.
9108
9109  Makefile.am             |  4 ++++
9110  autogen.sh              |  8 ++++---
9111  po4a/.gitignore         |  2 ++
9112  po4a/po4a.conf          | 14 +++++++++++
9113  po4a/update-po          | 45 ++++++++++++++++++++++++++++++++++
9114  src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------
9115  src/xz/Makefile.am      | 50 +++++++++++++++++++++++++++-----------
9116  src/xzdec/Makefile.am   | 55 ++++++++++++++++++++++++++++++++----------
9117  8 files changed, 197 insertions(+), 45 deletions(-)
9118
9119 commit 426f9e5819ff7710a5ff573a96c02940be65d52f
9120 Author: Lasse Collin <lasse.collin@tukaani.org>
9121 Date:   2020-02-06 17:31:38 +0200
9122
9123     Update THANKS.
9124
9125  THANKS | 1 +
9126  1 file changed, 1 insertion(+)
9127
9128 commit e3a4481d020e4de89efa037f335cf50f3ca55592
9129 Author: Lasse Collin <lasse.collin@tukaani.org>
9130 Date:   2020-02-05 22:35:06 +0200
9131
9132     Update tests/.gitignore.
9133
9134  .gitignore | 4 ++++
9135  1 file changed, 4 insertions(+)
9136
9137 commit 07208de92f2d5bca764f6d0ebe9d9866051dc4ef
9138 Author: Lasse Collin <lasse.collin@tukaani.org>
9139 Date:   2020-02-05 22:28:51 +0200
9140
9141     Update m4/.gitignore.
9142
9143  m4/.gitignore | 1 +
9144  1 file changed, 1 insertion(+)
9145
9146 commit c91fbf223db46c3b3cb9df769863a1a60cd9c908
9147 Author: Lasse Collin <lasse.collin@tukaani.org>
9148 Date:   2020-02-05 20:47:38 +0200
9149
9150     Update THANKS.
9151
9152  THANKS | 1 +
9153  1 file changed, 1 insertion(+)
9154
9155 commit 15a133b6d1a3eab4faf6eb52a71fdc56bd65846f
9156 Author: Lasse Collin <lasse.collin@tukaani.org>
9157 Date:   2020-02-05 20:40:14 +0200
9158
9159     xz: Make it a fatal error if enabling the sandbox fails.
9160     
9161     Perhaps it's too drastic but on the other hand it will let me
9162     learn about possible problems if people report the errors.
9163     This won't be backported to the v5.2 branch.
9164
9165  src/xz/file_io.c | 2 +-
9166  1 file changed, 1 insertion(+), 1 deletion(-)
9167
9168 commit af0fb386ef55db66654ae39e2deec6e04190c4ff
9169 Author: Lasse Collin <lasse.collin@tukaani.org>
9170 Date:   2020-02-05 20:33:50 +0200
9171
9172     xz: Comment out annoying sandboxing messages.
9173
9174  src/xz/file_io.c | 10 +++++++---
9175  1 file changed, 7 insertions(+), 3 deletions(-)
9176
9177 commit 986d8c9b52b824474088e5bb3b6940651660f0e2
9178 Author: Lasse Collin <lasse.collin@tukaani.org>
9179 Date:   2020-02-05 19:33:37 +0200
9180
9181     Build: Workaround a POSIX shell detection problem on Solaris.
9182     
9183     I don't know if the problem is in gnulib's gl_POSIX_SHELL macro
9184     or if xzgrep does something that isn't in POSIX. The workaround
9185     adds a special case for Solaris: if /usr/xpg4/bin/sh exists and
9186     gl_cv_posix_shell wasn't overriden on the configure command line,
9187     use that shell for xzgrep and other scripts. That shell is known
9188     to work and exists on most Solaris systems.
9189
9190  configure.ac | 10 ++++++++++
9191  1 file changed, 10 insertions(+)
9192
9193 commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad
9194 Author: Lasse Collin <lasse.collin@tukaani.org>
9195 Date:   2020-02-03 22:03:50 +0200
9196
9197     Build: Update m4/ax_pthread.m4 from Autoconf Archive.
9198
9199  m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++-----------------
9200  1 file changed, 279 insertions(+), 119 deletions(-)
9201
9202 commit 353970510895f6a80adfe60cf71b70a95adfa8bc
9203 Author: Lasse Collin <lasse.collin@tukaani.org>
9204 Date:   2020-02-01 19:56:18 +0200
9205
9206     xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz.
9207     
9208     See the code comment for reasoning. It's far from perfect but
9209     hopefully good enough for certain cases while hopefully doing
9210     nothing bad in other situations.
9211     
9212     At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference
9213     on how xz scales down the number of threads.
9214     
9215     The limit has to be a few MiB below 4096 MiB because otherwise
9216     things like "xz --lzma2=dict=500MiB" won't scale down the dict
9217     size enough and xz cannot allocate enough memory. With
9218     "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had
9219     to be no more than 4085 MiB. Some safety margin is good though.
9220     
9221     This is hack but it should be useful when running 32-bit xz on
9222     a 64-bit kernel that gives full 4 GiB address space to xz.
9223     Hopefully this is enough to solve this:
9224     
9225     https://bugzilla.redhat.com/show_bug.cgi?id=1196786
9226     
9227     FreeBSD has a patch that limits the result in tuklib_physmem()
9228     to SIZE_MAX on 32-bit systems. While I think it's not the way
9229     to do it, the results on --memlimit-compress have been good. This
9230     commit should achieve practically identical results for compression
9231     while leaving decompression and tuklib_physmem() and thus
9232     lzma_physmem() unaffected.
9233
9234  src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++-
9235  src/xz/xz.1       | 21 ++++++++++++++++++++-
9236  2 files changed, 51 insertions(+), 2 deletions(-)
9237
9238 commit ba76d67585f88677af9f48b48e7bdc3bb7687def
9239 Author: Lasse Collin <lasse.collin@tukaani.org>
9240 Date:   2020-01-26 20:53:25 +0200
9241
9242     xz: Set the --flush-timeout deadline when the first input byte arrives.
9243     
9244     xz --flush-timeout=2000, old version:
9245     
9246       1. xz is started. The next flush will happen after two seconds.
9247       2. No input for one second.
9248       3. A burst of a few kilobytes of input.
9249       4. No input for one second.
9250       5. Two seconds have passed and flushing starts.
9251     
9252     The first second counted towards the flush-timeout even though
9253     there was no pending data. This can cause flushing to occur more
9254     often than needed.
9255     
9256     xz --flush-timeout=2000, after this commit:
9257     
9258       1. xz is started.
9259       2. No input for one second.
9260       3. A burst of a few kilobytes of input. The next flush will
9261          happen after two seconds counted from the time when the
9262          first bytes of the burst were read.
9263       4. No input for one second.
9264       5. No input for another second.
9265       6. Two seconds have passed and flushing starts.
9266
9267  src/xz/coder.c   | 6 +-----
9268  src/xz/file_io.c | 6 +++++-
9269  src/xz/mytime.c  | 1 -
9270  3 files changed, 6 insertions(+), 7 deletions(-)
9271
9272 commit fd47fd62bbb1bfd13ab63869137971d8b390025f
9273 Author: Lasse Collin <lasse.collin@tukaani.org>
9274 Date:   2020-01-26 20:19:19 +0200
9275
9276     xz: Move flush_needed from mytime.h to file_pair struct in file_io.h.
9277
9278  src/xz/coder.c   | 3 ++-
9279  src/xz/file_io.c | 3 ++-
9280  src/xz/file_io.h | 3 +++
9281  src/xz/mytime.c  | 3 ---
9282  src/xz/mytime.h  | 4 ----
9283  5 files changed, 7 insertions(+), 9 deletions(-)
9284
9285 commit 815035681063d5774d3640fc20b8ede783dd574e
9286 Author: Lasse Collin <lasse.collin@tukaani.org>
9287 Date:   2020-01-26 14:49:22 +0200
9288
9289     xz: coder.c: Make writing output a separate function.
9290     
9291     The same code sequence repeats so it's nicer as a separate function.
9292     Note that in one case there was no test for opt_mode != MODE_TEST,
9293     but that was only because that condition would always be true, so
9294     this commit doesn't change the behavior there.
9295
9296  src/xz/coder.c | 30 +++++++++++++++++-------------
9297  1 file changed, 17 insertions(+), 13 deletions(-)
9298
9299 commit 5a49e081a098455bcdbd95cefb90e9b18780fe58
9300 Author: Lasse Collin <lasse.collin@tukaani.org>
9301 Date:   2020-01-26 14:13:42 +0200
9302
9303     xz: Fix semi-busy-waiting in xz --flush-timeout.
9304     
9305     When input blocked, xz --flush-timeout=1 would wake up every
9306     millisecond and initiate flushing which would have nothing to
9307     flush and thus would just waste CPU time. The fix disables the
9308     timeout when no input has been seen since the previous flush.
9309
9310  src/xz/coder.c   |  4 ++++
9311  src/xz/file_io.c | 15 +++++++++++----
9312  src/xz/file_io.h |  4 ++++
9313  3 files changed, 19 insertions(+), 4 deletions(-)
9314
9315 commit dcca70fe9fa3c4bec56cf9c79e966166c9a9cf6a
9316 Author: Lasse Collin <lasse.collin@tukaani.org>
9317 Date:   2020-01-26 13:47:31 +0200
9318
9319     xz: Refactor io_read() a bit.
9320
9321  src/xz/file_io.c | 17 ++++++++---------
9322  1 file changed, 8 insertions(+), 9 deletions(-)
9323
9324 commit 4ae9ab70cd3214395756435d13d8d000368ca2cb
9325 Author: Lasse Collin <lasse.collin@tukaani.org>
9326 Date:   2020-01-26 13:37:08 +0200
9327
9328     xz: Update a comment in file_io.h.
9329
9330  src/xz/file_io.h | 5 ++++-
9331  1 file changed, 4 insertions(+), 1 deletion(-)
9332
9333 commit 3333ba4a6795a55cf0375329ba08152bd7fcbd46
9334 Author: Lasse Collin <lasse.collin@tukaani.org>
9335 Date:   2020-01-26 13:27:51 +0200
9336
9337     xz: Move the setting of flush_needed in file_io.c to a nicer location.
9338
9339  src/xz/file_io.c | 6 ++----
9340  1 file changed, 2 insertions(+), 4 deletions(-)
9341
9342 commit cf2df0f05ac98c1158c6e48145900b773223605d
9343 Author: Lasse Collin <lasse.collin@tukaani.org>
9344 Date:   2020-01-19 21:54:33 +0200
9345
9346     Use $(LIB_FUZZING_ENGINE) in tests/ossfuzz/Makefile.
9347     
9348     https://github.com/google/oss-fuzz/pull/3219#issuecomment-573751048
9349     
9350     Thanks to Bhargava Shastry for sending the patch.
9351
9352  tests/ossfuzz/Makefile | 2 +-
9353  1 file changed, 1 insertion(+), 1 deletion(-)
9354
9355 commit 7136f1735c60ac6967c4b8e277fcde53d485234f
9356 Author: Lasse Collin <lasse.collin@tukaani.org>
9357 Date:   2019-12-31 00:41:28 +0200
9358
9359     Rename unaligned_read32ne to read32ne, and similarly for the others.
9360
9361  src/common/tuklib_integer.h               | 64 +++++++++++++++----------------
9362  src/liblzma/common/alone_encoder.c        |  2 +-
9363  src/liblzma/common/block_header_decoder.c |  2 +-
9364  src/liblzma/common/block_header_encoder.c |  2 +-
9365  src/liblzma/common/memcmplen.h            |  9 ++---
9366  src/liblzma/common/stream_flags_decoder.c |  6 +--
9367  src/liblzma/common/stream_flags_encoder.c |  8 ++--
9368  src/liblzma/lz/lz_encoder_hash.h          |  2 +-
9369  src/liblzma/lzma/lzma_decoder.c           |  2 +-
9370  src/liblzma/lzma/lzma_encoder.c           |  2 +-
9371  src/liblzma/lzma/lzma_encoder_private.h   |  3 +-
9372  src/liblzma/simple/simple_decoder.c       |  2 +-
9373  src/liblzma/simple/simple_encoder.c       |  2 +-
9374  tests/test_block_header.c                 |  4 +-
9375  tests/test_stream_flags.c                 |  6 +--
9376  15 files changed, 54 insertions(+), 62 deletions(-)
9377
9378 commit 5e78fcbf2eb21936022c9c5c3625d4da76f4b241
9379 Author: Lasse Collin <lasse.collin@tukaani.org>
9380 Date:   2019-12-31 00:29:48 +0200
9381
9382     Rename read32ne to aligned_read32ne, and similarly for the others.
9383     
9384     Using the aligned methods requires more care to ensure that
9385     the address really is aligned, so it's nicer if the aligned
9386     methods are prefixed. The next commit will remove the unaligned_
9387     prefix from the unaligned methods which in liblzma are used in
9388     more places than the aligned ones.
9389
9390  src/common/tuklib_integer.h    | 56 +++++++++++++++++++++---------------------
9391  src/liblzma/check/crc32_fast.c |  4 +--
9392  src/liblzma/check/crc64_fast.c |  4 +--
9393  3 files changed, 32 insertions(+), 32 deletions(-)
9394
9395 commit 77bc5bc6dd67056cfd5888520ac930cfc57b4516
9396 Author: Lasse Collin <lasse.collin@tukaani.org>
9397 Date:   2019-12-31 00:18:24 +0200
9398
9399     Revise tuklib_integer.h and .m4.
9400     
9401     Add a configure option --enable-unsafe-type-punning to get the
9402     old non-conforming memory access methods. It can be useful with
9403     old compilers or in some other less typical situations but
9404     shouldn't normally be used.
9405     
9406     Omit the packed struct trick for unaligned access. While it's
9407     best in some cases, this is simpler. If the memcpy trick doesn't
9408     work, one can request unsafe type punning from configure.
9409     
9410     Because CRC32/CRC64 code needs fast aligned reads, if no very
9411     safe way to do it is found, type punning is used as a fallback.
9412     This sucks but since it currently works in practice, it seems to
9413     be the least bad option. It's never needed with GCC >= 4.7 or
9414     Clang >= 3.6 since these support __builtin_assume_aligned and
9415     thus fast aligned access can be done with the memcpy trick.
9416     
9417     Other things:
9418       - Support GCC/Clang __builtin_bswapXX
9419       - Cleaner bswap fallback macros
9420       - Minor cleanups
9421
9422  m4/tuklib_integer.m4        |  46 ++++-
9423  src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++--------------------
9424  2 files changed, 316 insertions(+), 218 deletions(-)
9425
9426 commit 8b72950a6b2e2a36c2d8fdc8857564b57191b088
9427 Author: Lasse Collin <lasse.collin@tukaani.org>
9428 Date:   2019-12-29 22:51:58 +0200
9429
9430     Tests: Hopefully fix test_check.c to work on EBCDIC systems.
9431     
9432     Thanks to Daniel Richard G.
9433
9434  tests/test_check.c | 9 +++++++--
9435  1 file changed, 7 insertions(+), 2 deletions(-)
9436
9437 commit 43ce4ea7c762238d3df9717b34126d3e0d7cd51c
9438 Author: Lasse Collin <lasse.collin@tukaani.org>
9439 Date:   2019-09-24 23:02:40 +0300
9440
9441     Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris.
9442     
9443     This adds a configure option --enable-path-for-scripts=PREFIX
9444     which defaults to empty except on Solaris it is /usr/xpg4/bin
9445     to make POSIX grep and others available. The Solaris case had
9446     been documented in INSTALL with a manual fix but it's better
9447     to do this automatically since it is needed on most Solaris
9448     systems anyway.
9449     
9450     Thanks to Daniel Richard G.
9451
9452  INSTALL               | 43 +++++++++++++++++++++++++++++++++++--------
9453  configure.ac          | 26 ++++++++++++++++++++++++++
9454  src/scripts/xzdiff.in |  1 +
9455  src/scripts/xzgrep.in |  1 +
9456  src/scripts/xzless.in |  1 +
9457  src/scripts/xzmore.in |  1 +
9458  6 files changed, 65 insertions(+), 8 deletions(-)
9459
9460 commit 6a89e656ebedd53a10cd1a063a32a9e4ade0da1f
9461 Author: Lasse Collin <lasse.collin@tukaani.org>
9462 Date:   2019-07-12 18:57:43 +0300
9463
9464     Fix comment typos in tuklib_mbstr* files.
9465
9466  src/common/tuklib_mbstr.h       | 2 +-
9467  src/common/tuklib_mbstr_fw.c    | 2 +-
9468  src/common/tuklib_mbstr_width.c | 2 +-
9469  3 files changed, 3 insertions(+), 3 deletions(-)
9470
9471 commit ac0b4212656a48ef0c187c0c941d40ac9489ae36
9472 Author: Lasse Collin <lasse.collin@tukaani.org>
9473 Date:   2019-07-12 18:30:46 +0300
9474
9475     Add missing include to tuklib_mbstr_width.c.
9476     
9477     It didn't matter in XZ Utils because sysdefs.h
9478     includes string.h anyway.
9479
9480  src/common/tuklib_mbstr_width.c | 1 +
9481  1 file changed, 1 insertion(+)
9482
9483 commit 72a443281fb0b91aebf8cdff2ab1f7c07b081240
9484 Author: Lasse Collin <lasse.collin@tukaani.org>
9485 Date:   2019-07-12 18:10:57 +0300
9486
9487     Update tuklib base headers to include stdbool.h.
9488
9489  src/common/tuklib_common.h | 2 +-
9490  src/common/tuklib_config.h | 1 +
9491  2 files changed, 2 insertions(+), 1 deletion(-)
9492
9493 commit de1f47b2b40e960b7bc3acba754f66dd19705921
9494 Author: Lasse Collin <lasse.collin@tukaani.org>
9495 Date:   2019-06-28 00:54:31 +0300
9496
9497     xz: Automatically align the strings in --info-memory.
9498     
9499     This makes it easier to translate the strings.
9500     
9501     Also, the string for amount of RAM was shortened.
9502
9503  src/xz/hardware.c | 45 ++++++++++++++++++++++++++++++++++-----------
9504  1 file changed, 34 insertions(+), 11 deletions(-)
9505
9506 commit 8ce679125dbd0e2058d8f886e738d7f19a45cab5
9507 Author: Lasse Collin <lasse.collin@tukaani.org>
9508 Date:   2019-06-25 23:15:21 +0300
9509
9510     liblzma: Fix a buggy comment.
9511
9512  src/liblzma/lz/lz_encoder_mf.c | 2 +-
9513  1 file changed, 1 insertion(+), 1 deletion(-)
9514
9515 commit fc77929e92e869f6869bf88931066103fd75f376
9516 Author: Lasse Collin <lasse.collin@tukaani.org>
9517 Date:   2019-06-25 00:16:06 +0300
9518
9519     configure.ac: Fix a typo in a comment.
9520
9521  configure.ac | 2 +-
9522  1 file changed, 1 insertion(+), 1 deletion(-)
9523
9524 commit e873902641794210ad7db59743f98e3e1cd6139f
9525 Author: Lasse Collin <lasse.collin@tukaani.org>
9526 Date:   2019-06-25 00:08:13 +0300
9527
9528     Tests: Silence warnings from clang -Wassign-enum.
9529     
9530     Also changed 999 to 99 so it fits even if lzma_check happened
9531     to be 8 bits wide.
9532
9533  tests/test_block_header.c | 3 ++-
9534  tests/test_stream_flags.c | 2 +-
9535  2 files changed, 3 insertions(+), 2 deletions(-)
9536
9537 commit d499e467d99efeaae688564eedc4548837c1416a
9538 Author: Lasse Collin <lasse.collin@tukaani.org>
9539 Date:   2019-06-24 23:52:17 +0300
9540
9541     liblzma: Add a comment.
9542
9543  src/liblzma/common/stream_encoder_mt.c | 2 +-
9544  1 file changed, 1 insertion(+), 1 deletion(-)
9545
9546 commit a12b13c5f0d54c684fa8446f93fdac08ab2a716b
9547 Author: Lasse Collin <lasse.collin@tukaani.org>
9548 Date:   2019-06-24 23:45:21 +0300
9549
9550     liblzma: Silence clang -Wmissing-variable-declarations.
9551
9552  src/liblzma/check/crc32_table.c | 3 +++
9553  src/liblzma/check/crc64_table.c | 3 +++
9554  2 files changed, 6 insertions(+)
9555
9556 commit 1b4675cebf7471f7cc9b7072c950e3de97147063
9557 Author: Lasse Collin <lasse.collin@tukaani.org>
9558 Date:   2019-06-24 23:25:41 +0300
9559
9560     Add LZMA_RET_INTERNAL1..8 to lzma_ret and use one for LZMA_TIMED_OUT.
9561     
9562     LZMA_TIMED_OUT is *internally* used as a value for lzma_ret
9563     enumeration. Previously it was #defined to 32 and cast to lzma_ret.
9564     That way it wasn't visible in the public API, but this was hackish.
9565     
9566     Now the public API has eight LZMA_RET_INTERNALx members and
9567     LZMA_TIMED_OUT is #defined to LZMA_RET_INTERNAL1. This way
9568     the code is cleaner overall although the public API has a few
9569     extra mysterious enum members.
9570
9571  src/liblzma/api/lzma/base.h | 15 ++++++++++++++-
9572  src/liblzma/common/common.c |  4 +---
9573  src/liblzma/common/common.h |  5 ++---
9574  src/xz/message.c            |  8 ++++++++
9575  4 files changed, 25 insertions(+), 7 deletions(-)
9576
9577 commit 159c43875eb25deea626ed651274464bae3e32ef
9578 Author: Lasse Collin <lasse.collin@tukaani.org>
9579 Date:   2019-06-24 22:57:43 +0300
9580
9581     xz: Silence a warning from clang -Wsign-conversion in main.c.
9582
9583  src/xz/main.c | 2 +-
9584  1 file changed, 1 insertion(+), 1 deletion(-)
9585
9586 commit 466cfcd3e52f6750ce28a635997f3dd84fb18515
9587 Author: Lasse Collin <lasse.collin@tukaani.org>
9588 Date:   2019-06-24 22:52:20 +0300
9589
9590     xz: Make "headings" static in list.c.
9591     
9592     Caught by clang -Wmissing-variable-declarations.
9593
9594  src/xz/list.c | 2 +-
9595  1 file changed, 1 insertion(+), 1 deletion(-)
9596
9597 commit 608517b9b76c41fac6613dbda1193d6f41338e19
9598 Author: Lasse Collin <lasse.collin@tukaani.org>
9599 Date:   2019-06-24 22:47:39 +0300
9600
9601     liblzma: Remove incorrect uses of lzma_attribute((__unused__)).
9602     
9603     Caught by clang -Wused-but-marked-unused.
9604
9605  src/liblzma/common/alone_decoder.c | 3 +--
9606  src/liblzma/common/alone_encoder.c | 3 +--
9607  src/liblzma/lz/lz_decoder.c        | 3 +--
9608  3 files changed, 3 insertions(+), 6 deletions(-)
9609
9610 commit c2d2ab6a9d41a2b55d047c5b710aacf80d219255
9611 Author: Lasse Collin <lasse.collin@tukaani.org>
9612 Date:   2019-06-24 20:53:55 +0300
9613
9614     Tests: Silence a warning from -Wsign-conversion.
9615
9616  tests/create_compress_files.c | 8 ++++----
9617  1 file changed, 4 insertions(+), 4 deletions(-)
9618
9619 commit 2402f7873dcae719d0ebddd23bb579074519ac52
9620 Author: Lasse Collin <lasse.collin@tukaani.org>
9621 Date:   2019-06-24 20:45:49 +0300
9622
9623     xz: Fix an integer overflow with 32-bit off_t.
9624     
9625     Or any off_t which isn't very big (like signed 64 bit integer
9626     that most system have). A small off_t could overflow if the
9627     file being decompressed had long enough run of zero bytes,
9628     which would result in corrupt output.
9629
9630  src/xz/file_io.c | 11 +++++++++--
9631  1 file changed, 9 insertions(+), 2 deletions(-)
9632
9633 commit 4fd3a8dd0b60f029e1c66a0ee634f9e9fda3caa9
9634 Author: Lasse Collin <lasse.collin@tukaani.org>
9635 Date:   2019-06-24 01:24:17 +0300
9636
9637     xz: Cleanup io_seek_src() a bit.
9638     
9639     lseek() returns -1 on error and checking for -1 is nicer.
9640
9641  src/xz/file_io.c | 4 +---
9642  1 file changed, 1 insertion(+), 3 deletions(-)
9643
9644 commit dfda7cf6afa486e10df035327d68753896dfb48a
9645 Author: Lasse Collin <lasse.collin@tukaani.org>
9646 Date:   2019-06-24 00:57:23 +0300
9647
9648     Tests: Remove a duplicate branch from tests/tests.h.
9649     
9650     The duplication was introduced about eleven years ago and
9651     should have been cleaned up back then already.
9652     
9653     This was caught by -Wduplicated-branches.
9654
9655  tests/tests.h | 9 ++-------
9656  1 file changed, 2 insertions(+), 7 deletions(-)
9657
9658 commit 1d4a904d8fb634bd5a04f7fbdd17d3739f3d8866
9659 Author: Lasse Collin <lasse.collin@tukaani.org>
9660 Date:   2019-06-24 00:40:45 +0300
9661
9662     xz: Change io_seek_src and io_pread arguments from off_t to uint64_t.
9663     
9664     This helps fixing warnings from -Wsign-conversion and makes the
9665     code look better too.
9666
9667  src/xz/file_io.c | 16 ++++++++++++----
9668  src/xz/file_io.h |  4 ++--
9669  src/xz/list.c    |  9 ++++-----
9670  3 files changed, 18 insertions(+), 11 deletions(-)
9671
9672 commit 50120deb0159fcb53ee1a6caffb2bb81a1ecd990
9673 Author: Lasse Collin <lasse.collin@tukaani.org>
9674 Date:   2019-06-24 00:12:38 +0300
9675
9676     xz: list.c: Fix some warnings from -Wsign-conversion.
9677
9678  src/xz/list.c | 7 ++++---
9679  1 file changed, 4 insertions(+), 3 deletions(-)
9680
9681 commit d0a78751eb54fb1572002746c533936a118e4e42
9682 Author: Lasse Collin <lasse.collin@tukaani.org>
9683 Date:   2019-06-23 23:22:45 +0300
9684
9685     tuklib_mbstr_width: Fix a warning from -Wsign-conversion.
9686
9687  src/common/tuklib_mbstr_width.c | 2 +-
9688  1 file changed, 1 insertion(+), 1 deletion(-)
9689
9690 commit 7883d73530b4b2a701ddd7d50c35676cbc158039
9691 Author: Lasse Collin <lasse.collin@tukaani.org>
9692 Date:   2019-06-23 23:19:34 +0300
9693
9694     xz: Fix some of the warnings from -Wsign-conversion.
9695
9696  src/xz/args.c    | 4 ++--
9697  src/xz/coder.c   | 4 ++--
9698  src/xz/file_io.c | 5 +++--
9699  src/xz/message.c | 4 ++--
9700  src/xz/mytime.c  | 4 ++--
9701  src/xz/options.c | 2 +-
9702  src/xz/util.c    | 4 ++--
9703  7 files changed, 14 insertions(+), 13 deletions(-)
9704
9705 commit c2b994fe3d35e9e575c28869a2f7f534f2495d05
9706 Author: Lasse Collin <lasse.collin@tukaani.org>
9707 Date:   2019-06-23 22:27:45 +0300
9708
9709     tuklib_cpucores: Silence warnings from -Wsign-conversion.
9710
9711  src/common/tuklib_cpucores.c | 10 +++++-----
9712  1 file changed, 5 insertions(+), 5 deletions(-)
9713
9714 commit 07c4fa9e1a195e0543f271380c8de22a3ab145ff
9715 Author: Lasse Collin <lasse.collin@tukaani.org>
9716 Date:   2019-06-23 21:40:47 +0300
9717
9718     xzdec: Fix warnings from -Wsign-conversion.
9719
9720  src/xzdec/xzdec.c | 2 +-
9721  1 file changed, 1 insertion(+), 1 deletion(-)
9722
9723 commit dfac2c9a1d7d4a2b8a5d7c9c6d567dee48318bcf
9724 Author: Lasse Collin <lasse.collin@tukaani.org>
9725 Date:   2019-06-23 21:38:56 +0300
9726
9727     liblzma: Fix warnings from -Wsign-conversion.
9728     
9729     Also, more parentheses were added to the literal_subcoder
9730     macro in lzma_comon.h (better style but no functional change
9731     in the current usage).
9732
9733  src/liblzma/common/block_header_decoder.c |  2 +-
9734  src/liblzma/delta/delta_decoder.c         |  2 +-
9735  src/liblzma/lzma/fastpos.h                |  2 +-
9736  src/liblzma/lzma/lzma2_decoder.c          |  8 ++++----
9737  src/liblzma/lzma/lzma_common.h            |  3 ++-
9738  src/liblzma/lzma/lzma_decoder.c           | 16 ++++++++--------
9739  src/liblzma/simple/arm.c                  |  6 +++---
9740  src/liblzma/simple/armthumb.c             |  8 ++++----
9741  src/liblzma/simple/ia64.c                 |  2 +-
9742  src/liblzma/simple/powerpc.c              |  9 +++++----
9743  src/liblzma/simple/x86.c                  |  2 +-
9744  11 files changed, 31 insertions(+), 29 deletions(-)
9745
9746 commit 41838dcc26375f6aa393a63e4d81e2f4d223de07
9747 Author: Lasse Collin <lasse.collin@tukaani.org>
9748 Date:   2019-06-23 19:33:55 +0300
9749
9750     tuklib_integer: Silence warnings from -Wsign-conversion.
9751
9752  src/common/tuklib_integer.h | 6 +++---
9753  1 file changed, 3 insertions(+), 3 deletions(-)
9754
9755 commit 3ce05d235f736d392347a05086b8033416874b87
9756 Author: Lasse Collin <lasse.collin@tukaani.org>
9757 Date:   2019-06-20 19:40:30 +0300
9758
9759     tuklib_integer: Fix usage of conv macros.
9760     
9761     Use a temporary variable instead of e.g.
9762     conv32le(unaligned_read32ne(buf)) because the macro can
9763     evaluate its argument multiple times.
9764
9765  src/common/tuklib_integer.h | 12 ++++++++----
9766  1 file changed, 8 insertions(+), 4 deletions(-)
9767
9768 commit b525b0c0ef40cd89b69294c9b8d57f4a8db58e1f
9769 Author: Lasse Collin <lasse.collin@tukaani.org>
9770 Date:   2019-06-03 20:44:19 +0300
9771
9772     Update THANKS.
9773
9774  THANKS | 1 +
9775  1 file changed, 1 insertion(+)
9776
9777 commit 039a168e8cf201d5104a25ec41f0cf25eda6cc53
9778 Author: Lasse Collin <lasse.collin@tukaani.org>
9779 Date:   2019-06-03 20:41:54 +0300
9780
9781     liblzma: Fix comments.
9782     
9783     Thanks to Bruce Stark.
9784
9785  src/liblzma/common/alone_encoder.c        | 4 ++--
9786  src/liblzma/common/block_util.c           | 2 +-
9787  src/liblzma/common/common.c               | 2 +-
9788  src/liblzma/common/filter_common.h        | 2 +-
9789  src/liblzma/common/filter_decoder.h       | 2 +-
9790  src/liblzma/common/filter_flags_encoder.c | 2 +-
9791  6 files changed, 7 insertions(+), 7 deletions(-)
9792
9793 commit c460f6defebc5a81bbca90adc2476154ca244f69
9794 Author: Lasse Collin <lasse.collin@tukaani.org>
9795 Date:   2019-06-02 00:50:59 +0300
9796
9797     liblzma: Fix one more unaligned read to use unaligned_read16ne().
9798
9799  src/liblzma/lz/lz_encoder_hash.h | 2 +-
9800  1 file changed, 1 insertion(+), 1 deletion(-)
9801
9802 commit c81d77c537f0b8c8672868e1dc6cf7290ce4a25b
9803 Author: Lasse Collin <lasse.collin@tukaani.org>
9804 Date:   2019-06-01 21:41:55 +0300
9805
9806     Update THANKS.
9807
9808  THANKS | 1 +
9809  1 file changed, 1 insertion(+)
9810
9811 commit 386394fc9fcde2615391f804eaa466749f96f4ef
9812 Author: Lasse Collin <lasse.collin@tukaani.org>
9813 Date:   2019-06-01 21:36:13 +0300
9814
9815     liblzma: memcmplen: Use ctz32() from tuklib_integer.h.
9816     
9817     The same compiler-specific #ifdefs are already in tuklib_integer.h
9818
9819  src/liblzma/common/memcmplen.h | 10 +---------
9820  1 file changed, 1 insertion(+), 9 deletions(-)
9821
9822 commit 264ab971ce2994baac41b1579c9c35aba7743fc8
9823 Author: Lasse Collin <lasse.collin@tukaani.org>
9824 Date:   2019-06-01 21:30:03 +0300
9825
9826     tuklib_integer: Cleanup MSVC-specific code.
9827
9828  src/common/tuklib_integer.h | 20 +++++++++-----------
9829  1 file changed, 9 insertions(+), 11 deletions(-)
9830
9831 commit 33773c6f2a8711d4aa6656795db52c59a28580ec
9832 Author: Lasse Collin <lasse.collin@tukaani.org>
9833 Date:   2019-06-01 19:01:21 +0300
9834
9835     liblzma: Use unaligned_readXXne functions instead of type punning.
9836     
9837     Now gcc -fsanitize=undefined should be clean.
9838     
9839     Thanks to Jeffrey Walton.
9840
9841  src/liblzma/common/memcmplen.h          | 12 ++++++------
9842  src/liblzma/lzma/lzma_encoder_private.h |  2 +-
9843  2 files changed, 7 insertions(+), 7 deletions(-)
9844
9845 commit e5f13a66567b1987e0aae42c6fdcd277bb5810ba
9846 Author: Lasse Collin <lasse.collin@tukaani.org>
9847 Date:   2019-06-01 18:46:54 +0300
9848
9849     tuklib_integer: Autodetect support for unaligned access on ARM.
9850     
9851     The result is used as the default for --enable-unaligned-access.
9852     The test should work with GCC and Clang.
9853
9854  m4/tuklib_integer.m4 | 11 +++++++++++
9855  1 file changed, 11 insertions(+)
9856
9857 commit 3bc112c2d38d5f348bce7bc2422286b1692c7490
9858 Author: Lasse Collin <lasse.collin@tukaani.org>
9859 Date:   2019-06-01 18:41:16 +0300
9860
9861     tuklib_integer: Improve unaligned memory access.
9862     
9863     Now memcpy() or GNU C packed structs for unaligned access instead
9864     of type punning. See the comment in this commit for details.
9865     
9866     Avoiding type punning with unaligned access is needed to
9867     silence gcc -fsanitize=undefined.
9868     
9869     New functions: unaliged_readXXne and unaligned_writeXXne where
9870     XX is 16, 32, or 64.
9871
9872  src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++---
9873  1 file changed, 168 insertions(+), 12 deletions(-)
9874
9875 commit 2a22de439ec63da1927b640eda309296a1e8dce5
9876 Author: Lasse Collin <lasse.collin@tukaani.org>
9877 Date:   2019-05-13 20:05:17 +0300
9878
9879     liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior.
9880     
9881     I should have always known this but I didn't. Here is an example
9882     as a reminder to myself:
9883     
9884         int mycopy(void *dest, void *src, size_t n)
9885         {
9886             memcpy(dest, src, n);
9887             return dest == NULL;
9888         }
9889     
9890     In the example, a compiler may assume that dest != NULL because
9891     passing NULL to memcpy() would be undefined behavior. Testing
9892     with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1.
9893     With -O2 the return value is 0 because the compiler infers that
9894     dest cannot be NULL because it was already used with memcpy()
9895     and thus the test for NULL gets optimized out.
9896     
9897     In liblzma, if a null-pointer was passed to memcpy(), there were
9898     no checks for NULL *after* the memcpy() call, so I cautiously
9899     suspect that it shouldn't have caused bad behavior in practice,
9900     but it's hard to be sure, and the problematic cases had to be
9901     fixed anyway.
9902     
9903     Thanks to Jeffrey Walton.
9904
9905  src/liblzma/common/common.c       |  6 +++++-
9906  src/liblzma/lz/lz_decoder.c       | 12 +++++++++---
9907  src/liblzma/simple/simple_coder.c | 10 +++++++++-
9908  3 files changed, 23 insertions(+), 5 deletions(-)
9909
9910 commit d3fc850cfedc058247d9e334ce59bbc8f2286d8a
9911 Author: Lasse Collin <lasse.collin@tukaani.org>
9912 Date:   2019-05-11 20:56:08 +0300
9913
9914     Update THANKS.
9915
9916  THANKS | 1 +
9917  1 file changed, 1 insertion(+)
9918
9919 commit 4adb8288ab61d5f14e212007b8742df0710baf73
9920 Author: Lasse Collin <lasse.collin@tukaani.org>
9921 Date:   2019-05-11 20:54:12 +0300
9922
9923     xz: Update xz man page date.
9924
9925  src/xz/xz.1 | 2 +-
9926  1 file changed, 1 insertion(+), 1 deletion(-)
9927
9928 commit 2fb0ddaa557ce86e38fe06439930fa8665f092fd
9929 Author: Antoine Cœur <antoine.coeur@ef.com>
9930 Date:   2019-05-08 13:30:57 +0800
9931
9932     spelling
9933
9934  Doxyfile.in                            | 2 +-
9935  NEWS                                   | 2 +-
9936  doc/examples/11_file_info.c            | 2 +-
9937  src/liblzma/api/lzma/block.h           | 2 +-
9938  src/liblzma/api/lzma/hardware.h        | 2 +-
9939  src/liblzma/api/lzma/lzma12.h          | 2 +-
9940  src/liblzma/api/lzma/vli.h             | 2 +-
9941  src/liblzma/common/file_info.c         | 4 ++--
9942  src/liblzma/common/hardware_physmem.c  | 2 +-
9943  src/liblzma/common/index.c             | 4 ++--
9944  src/liblzma/common/stream_encoder_mt.c | 2 +-
9945  src/liblzma/common/vli_decoder.c       | 2 +-
9946  src/liblzma/lz/lz_decoder.c            | 2 +-
9947  src/scripts/xzgrep.in                  | 2 +-
9948  src/xz/args.c                          | 2 +-
9949  src/xz/coder.c                         | 4 ++--
9950  src/xz/list.c                          | 4 ++--
9951  src/xz/main.c                          | 2 +-
9952  src/xz/mytime.h                        | 2 +-
9953  src/xz/private.h                       | 2 +-
9954  src/xz/xz.1                            | 2 +-
9955  windows/build.bash                     | 2 +-
9956  22 files changed, 26 insertions(+), 26 deletions(-)
9957
9958 commit 4ed339606156bd313ed99237485cb8ed0362d64f
9959 Author: Lasse Collin <lasse.collin@tukaani.org>
9960 Date:   2019-05-01 18:43:10 +0300
9961
9962     xz: In xz -lvv look at the widths of the check names too.
9963     
9964     Now the widths of the check names is used to adjust the width
9965     of the Check column. This way there no longer is a need to restrict
9966     the widths of the check names to be at most ten terminal-columns.
9967
9968  src/xz/list.c | 32 ++++++++++++++++++++++++++------
9969  1 file changed, 26 insertions(+), 6 deletions(-)
9970
9971 commit 2f4281a1001dcf7fdf1418c0c0d246c16561fb65
9972 Author: Lasse Collin <lasse.collin@tukaani.org>
9973 Date:   2019-05-01 18:33:25 +0300
9974
9975     xz: Fix xz -lvv column alignment to look at the translated strings.
9976
9977  src/xz/list.c | 4 ++--
9978  1 file changed, 2 insertions(+), 2 deletions(-)
9979
9980 commit 01d01b7c7c0b8eaf7f780a5584ec52c22d10fa4a
9981 Author: Lasse Collin <lasse.collin@tukaani.org>
9982 Date:   2019-05-01 16:52:36 +0300
9983
9984     Update THANKS.
9985
9986  THANKS | 1 +
9987  1 file changed, 1 insertion(+)
9988
9989 commit 64030c6b17f7743df03a9948a0ccfcdf40c6b97c
9990 Author: Lasse Collin <lasse.collin@tukaani.org>
9991 Date:   2019-05-01 16:43:16 +0300
9992
9993     Windows: Update VS version in windows/vs2019/config.h.
9994
9995  windows/vs2019/config.h | 2 +-
9996  1 file changed, 1 insertion(+), 1 deletion(-)
9997
9998 commit 2dc9117f5fbfab31444a3ca1e55795ccfa8a9f51
9999 Author: Julien Marrec <julien.marrec@gmail.com>
10000 Date:   2019-04-25 17:44:06 +0200
10001
10002     Windows: Upgrade solution itself
10003
10004  windows/vs2019/xz_win.sln | 7 +++++--
10005  1 file changed, 5 insertions(+), 2 deletions(-)
10006
10007 commit ac31413916fa9b11bab17f0f0aa63e2869360f6f
10008 Author: Julien Marrec <julien.marrec@gmail.com>
10009 Date:   2019-04-25 17:40:24 +0200
10010
10011     Windows: Upgrade solution with VS2019
10012
10013  windows/vs2019/liblzma.vcxproj     | 15 ++++++++-------
10014  windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++-------
10015  2 files changed, 16 insertions(+), 14 deletions(-)
10016
10017 commit be25a0c37ba92a20c390b4d17fe502457fe96b71
10018 Author: Julien Marrec <julien.marrec@gmail.com>
10019 Date:   2019-04-25 17:39:32 +0200
10020
10021     Windows: Duplicate windows/vs2017 before upgrading
10022
10023  windows/vs2019/config.h            | 148 ++++++++++++++
10024  windows/vs2019/liblzma.vcxproj     | 356 ++++++++++++++++++++++++++++++++++
10025  windows/vs2019/liblzma_dll.vcxproj | 385 +++++++++++++++++++++++++++++++++++++
10026  windows/vs2019/xz_win.sln          |  48 +++++
10027  4 files changed, 937 insertions(+)
10028
10029 commit d0e58b3a51e8e616f3dc26ec7b7e4aa0fa6991ad
10030 Author: Lasse Collin <lasse.collin@tukaani.org>
10031 Date:   2019-03-04 22:49:04 +0200
10032
10033     README: Update translation instructions.
10034     
10035     XZ Utils is now part of the Translation Project
10036     <https://translationproject.org/>.
10037
10038  README | 32 +++++++++++++-------------------
10039  1 file changed, 13 insertions(+), 19 deletions(-)
10040
10041 commit a750c35a7d45a16c11c1d40fecee8443c32a9996
10042 Author: Lasse Collin <lasse.collin@tukaani.org>
10043 Date:   2019-03-04 21:20:39 +0200
10044
10045     xz: Automatically align column headings in xz -lvv.
10046
10047  src/xz/list.c | 263 ++++++++++++++++++++++++++++++++++++++++++++++------------
10048  1 file changed, 212 insertions(+), 51 deletions(-)
10049
10050 commit 6cb42e8aa1dc37bf403a9f5acbd07e86036b7e77
10051 Author: Lasse Collin <lasse.collin@tukaani.org>
10052 Date:   2019-03-04 01:07:59 +0200
10053
10054     xz: Automatically align strings ending in a colon in --list output.
10055     
10056     This should avoid alignment errors in translations with these
10057     strings.
10058
10059  src/xz/list.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
10060  1 file changed, 102 insertions(+), 12 deletions(-)
10061
10062 commit 1e3f29b62f2c03e50fc9ebea7b83c1497dd35484
10063 Author: Lasse Collin <lasse.collin@tukaani.org>
10064 Date:   2019-01-13 17:29:23 +0200
10065
10066     Windows/VS2017: Omit WindowsTargetPlatformVersion from project files.
10067     
10068     I understood that if a WTPV is specified, it's often wrong
10069     because different VS installations have different SDK version
10070     installed. Omitting the WTPV tag makes VS2017 default to
10071     Windows SDK 8.1 which often is also missing, so in any case
10072     people may need to specify the WTPV before building. But some
10073     day in the future a missing WTPV tag will start to default to
10074     the latest installed SDK which sounds reasonable:
10075     
10076     https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html
10077     
10078     Thanks to "dom".
10079
10080  windows/INSTALL-MSVC.txt           | 4 ++++
10081  windows/vs2017/liblzma.vcxproj     | 1 -
10082  windows/vs2017/liblzma_dll.vcxproj | 1 -
10083  3 files changed, 4 insertions(+), 2 deletions(-)
10084
10085 commit 4d86076332aece6314063d3712a5f364172bbb0f
10086 Author: Lasse Collin <lasse.collin@tukaani.org>
10087 Date:   2018-12-20 20:42:29 +0200
10088
10089     Update THANKS.
10090
10091  THANKS | 1 +
10092  1 file changed, 1 insertion(+)
10093
10094 commit b55d79461d1f6aeaac03c7dae84481e5eb8bea4c
10095 Author: Lasse Collin <lasse.collin@tukaani.org>
10096 Date:   2018-12-14 20:34:30 +0200
10097
10098     xz: Fix a crash in progress indicator when in passthru mode.
10099     
10100     "xz -dcfv not_an_xz_file" crashed (all four options are
10101     required to trigger it). It caused xz to call
10102     lzma_get_progress(&strm, ...) when no coder was initialized
10103     in strm. In this situation strm.internal is NULL which leads
10104     to a crash in lzma_get_progress().
10105     
10106     The bug was introduced when xz started using lzma_get_progress()
10107     to get progress info for multi-threaded compression, so the
10108     bug is present in versions 5.1.3alpha and higher.
10109     
10110     Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for
10111     the bug report.
10112
10113  src/xz/coder.c   | 11 +++++++----
10114  src/xz/message.c | 18 ++++++++++++++++--
10115  src/xz/message.h |  3 ++-
10116  3 files changed, 25 insertions(+), 7 deletions(-)
10117
10118 commit 4ae5526de013efd1021686fa80bdd10cf1cb9c56
10119 Author: Lasse Collin <lasse.collin@tukaani.org>
10120 Date:   2018-11-22 17:20:31 +0200
10121
10122     xz: Update man page timestamp.
10123
10124  src/xz/xz.1 | 2 +-
10125  1 file changed, 1 insertion(+), 1 deletion(-)
10126
10127 commit 6a36d0d5f49e0080ff64dd9ef250abd489bea2ad
10128 Author: Pavel Raiskup <praiskup@redhat.com>
10129 Date:   2018-11-22 15:14:34 +0100
10130
10131     'have have' typos
10132
10133  src/xz/signals.c | 2 +-
10134  src/xz/xz.1      | 2 +-
10135  2 files changed, 2 insertions(+), 2 deletions(-)
10136
10137 commit 9eca51ef805ed8002a851df1b4995d71826c8b6e
10138 Author: Lasse Collin <lasse.collin@tukaani.org>
10139 Date:   2018-11-02 20:40:48 +0200
10140
10141     Update THANKS.
10142
10143  THANKS | 1 +
10144  1 file changed, 1 insertion(+)
10145
10146 commit 106d1a663d4ba42b63231caa289f531548df81c1
10147 Author: Lasse Collin <lasse.collin@tukaani.org>
10148 Date:   2018-11-02 20:18:45 +0200
10149
10150     Tests: Add a fuzz test program and a config file for OSS-Fuzz.
10151     
10152     Thanks to Bhargava Shastry and Github user pdknsk.
10153
10154  tests/Makefile.am                 |  1 +
10155  tests/ossfuzz/Makefile            |  7 ++++
10156  tests/ossfuzz/config/fuzz.dict    |  2 +
10157  tests/ossfuzz/config/fuzz.options |  2 +
10158  tests/ossfuzz/fuzz.c              | 82 +++++++++++++++++++++++++++++++++++++++
10159  5 files changed, 94 insertions(+)
10160
10161 commit a18ae42a79a19b1394b41eb3e238139fd28012ec
10162 Author: Lasse Collin <lasse.collin@tukaani.org>
10163 Date:   2018-10-26 22:49:10 +0300
10164
10165     liblzma: Don't verify header CRC32s if building for fuzz testing.
10166     
10167     FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is #defined when liblzma
10168     is being built for fuzz testing.
10169     
10170     Most fuzzed inputs would normally get rejected because of incorrect
10171     CRC32 and the actual header decoding code wouldn't get fuzzed.
10172     Disabling CRC32 checks avoids this problem. The fuzzer program
10173     must still use LZMA_IGNORE_CHECK flag to disable verification of
10174     integrity checks of uncompressed data.
10175
10176  src/liblzma/common/block_header_decoder.c |  5 ++++-
10177  src/liblzma/common/index_decoder.c        |  5 ++++-
10178  src/liblzma/common/index_hash.c           |  5 ++++-
10179  src/liblzma/common/stream_flags_decoder.c | 10 ++++++++--
10180  4 files changed, 20 insertions(+), 5 deletions(-)
10181
10182 commit f76f7516d6a1c832f61810c82e92d151cc80966c
10183 Author: Lasse Collin <lasse.collin@tukaani.org>
10184 Date:   2018-07-27 18:10:44 +0300
10185
10186     xzless: Rename unused variables to silence static analysers.
10187     
10188     In this particular case I don't see this affecting readability
10189     of the code.
10190     
10191     Thanks to Pavel Raiskup.
10192
10193  src/scripts/xzless.in | 2 +-
10194  1 file changed, 1 insertion(+), 1 deletion(-)
10195
10196 commit 3cbcaeb07eb7543735befd6f507fdb5fa4363cff
10197 Author: Lasse Collin <lasse.collin@tukaani.org>
10198 Date:   2018-07-27 16:02:58 +0300
10199
10200     liblzma: Remove an always-true condition from lzma_index_cat().
10201     
10202     This should help static analysis tools to see that newg
10203     isn't leaked.
10204     
10205     Thanks to Pavel Raiskup.
10206
10207  src/liblzma/common/index.c | 4 ++--
10208  1 file changed, 2 insertions(+), 2 deletions(-)
10209
10210 commit 76762ae6098ec55c326f4b4b4a42e8c1918ee81f
10211 Author: Lasse Collin <lasse.collin@tukaani.org>
10212 Date:   2018-05-19 21:23:25 +0300
10213
10214     liblzma: Improve lzma_properties_decode() API documentation.
10215
10216  src/liblzma/api/lzma/filter.h | 7 ++++---
10217  1 file changed, 4 insertions(+), 3 deletions(-)
10218
10219 commit 2267f5b0d20a5d24e93fcd9f72ea7eeb0d89708c
10220 Author: Lasse Collin <lasse.collin@tukaani.org>
10221 Date:   2018-04-29 18:58:19 +0300
10222
10223     Bump the version number to 5.3.1alpha.
10224
10225  src/liblzma/api/lzma/version.h | 2 +-
10226  src/liblzma/liblzma.map        | 2 +-
10227  2 files changed, 2 insertions(+), 2 deletions(-)
10228
10229 commit cee3021d30704858e4bdd22240e7d28e570d7451
10230 Author: Lasse Collin <lasse.collin@tukaani.org>
10231 Date:   2018-04-29 18:48:00 +0300
10232
10233     extra/scanlzma: Fix compiler warnings.
10234
10235  extra/scanlzma/scanlzma.c | 6 +++++-
10236  1 file changed, 5 insertions(+), 1 deletion(-)
10237
10238 commit c5c7ceb08a011b97d261798033e2c39613a69eb7
10239 Author: Lasse Collin <lasse.collin@tukaani.org>
10240 Date:   2018-04-29 18:44:47 +0300
10241
10242     DOS: Add file_info.c to the list of files to build.
10243
10244  dos/Makefile | 1 +
10245  1 file changed, 1 insertion(+)
10246
10247 commit 114cab97af766b21e0fc8620479202fb1e7a5e41
10248 Author: Lasse Collin <lasse.collin@tukaani.org>
10249 Date:   2018-04-29 18:33:10 +0300
10250
10251     Update NEWS for 5.3.1alpha.
10252
10253  NEWS | 11 +++++++++++
10254  1 file changed, 11 insertions(+)
10255
10256 commit b8139e11c512bbf32bf58ab0689f9bb6c52819da
10257 Author: Lasse Collin <lasse.collin@tukaani.org>
10258 Date:   2018-04-29 18:15:37 +0300
10259
10260     Add NEWS for 5.2.4.
10261
10262  NEWS | 27 +++++++++++++++++++++++++++
10263  1 file changed, 27 insertions(+)
10264
10265 commit 47b59d47cfd904a420fbd45629d168ca1973721d
10266 Author: Lasse Collin <lasse.collin@tukaani.org>
10267 Date:   2018-02-06 19:36:30 +0200
10268
10269     Update THANKS.
10270
10271  THANKS | 2 ++
10272  1 file changed, 2 insertions(+)
10273
10274 commit bc197991690ede24ab143665b5b0f0f9cb35cc46
10275 Author: Ben Boeckel <mathstuf@gmail.com>
10276 Date:   2018-01-29 13:58:18 -0500
10277
10278     nothrow: use noexcept for C++11 and newer
10279     
10280     In C++11, the `throw()` specifier is deprecated and `noexcept` is
10281     preffered instead.
10282
10283  src/liblzma/api/lzma.h | 6 +++++-
10284  1 file changed, 5 insertions(+), 1 deletion(-)
10285
10286 commit fb6d4f83cb6e144734f2a4216bb117bd56dc3cb5
10287 Author: Lasse Collin <lasse.collin@tukaani.org>
10288 Date:   2018-02-06 18:02:48 +0200
10289
10290     liblzma: Remove incorrect #ifdef from range_common.h.
10291     
10292     In most cases it was harmless but it could affect some
10293     custom build systems.
10294     
10295     Thanks to Pippijn van Steenhoven.
10296
10297  src/liblzma/rangecoder/range_common.h | 4 +---
10298  1 file changed, 1 insertion(+), 3 deletions(-)
10299
10300 commit bc577d35c2d0ed17f554d2d8107b2a2a9abbac76
10301 Author: Lasse Collin <lasse.collin@tukaani.org>
10302 Date:   2018-01-10 22:10:39 +0200
10303
10304     Update THANKS.
10305
10306  THANKS | 1 +
10307  1 file changed, 1 insertion(+)
10308
10309 commit 713bbc1a80f26d34c96ed3dbb9887362204de3a1
10310 Author: Lasse Collin <lasse.collin@tukaani.org>
10311 Date:   2018-01-10 21:54:27 +0200
10312
10313     tuklib_integer: New Intel C compiler needs immintrin.h.
10314     
10315     Thanks to Melanie Blower (Intel) for the patch.
10316
10317  src/common/tuklib_integer.h | 11 +++++++++++
10318  1 file changed, 11 insertions(+)
10319
10320 commit a0ee1afbd99da138b559cb27fa2022e7f1ab44f3
10321 Author: Lasse Collin <lasse.collin@tukaani.org>
10322 Date:   2017-09-24 20:04:24 +0300
10323
10324     Update THANKS.
10325
10326  THANKS | 1 +
10327  1 file changed, 1 insertion(+)
10328
10329 commit a1e2c568de29c0b57d873eab40a2879b749da429
10330 Author: Lasse Collin <lasse.collin@tukaani.org>
10331 Date:   2017-09-16 20:36:20 +0300
10332
10333     Windows: Fix paths in VS project files.
10334     
10335     Some paths use slashes instead of backslashes as directory
10336     separators... now it should work (I tested VS2013 version).
10337
10338  windows/vs2013/liblzma.vcxproj     | 12 ++++++------
10339  windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------
10340  windows/vs2017/liblzma.vcxproj     | 12 ++++++------
10341  windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------
10342  4 files changed, 36 insertions(+), 36 deletions(-)
10343
10344 commit cea5cf8d26c9d1dc30a808614d79c0b25640e15e
10345 Author: Lasse Collin <lasse.collin@tukaani.org>
10346 Date:   2017-09-16 12:56:20 +0300
10347
10348     Windows: Update VS2017 project files to include file info decoder.
10349
10350  windows/vs2017/liblzma.vcxproj     | 2 ++
10351  windows/vs2017/liblzma_dll.vcxproj | 2 ++
10352  2 files changed, 4 insertions(+)
10353
10354 commit 95d563db3ee497b223e522b699c4d4c29943eef0
10355 Author: Lasse Collin <lasse.collin@tukaani.org>
10356 Date:   2017-09-16 12:54:23 +0300
10357
10358     Windows: Add project files for VS2017.
10359     
10360     These files match the v5.2 branch (no file info decoder).
10361
10362  windows/vs2017/config.h            | 148 ++++++++++++++
10363  windows/vs2017/liblzma.vcxproj     | 355 ++++++++++++++++++++++++++++++++++
10364  windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++
10365  windows/vs2017/xz_win.sln          |  48 +++++
10366  4 files changed, 935 insertions(+)
10367
10368 commit ab72416d62ea8f50ad31d5b8545fcb6a2bf96b73
10369 Author: Lasse Collin <lasse.collin@tukaani.org>
10370 Date:   2017-09-16 12:45:50 +0300
10371
10372     Windows: Update VS2013 project files to include file info decoder.
10373
10374  windows/vs2013/liblzma.vcxproj     | 2 ++
10375  windows/vs2013/liblzma_dll.vcxproj | 2 ++
10376  2 files changed, 4 insertions(+)
10377
10378 commit 82388980187b0e3794d187762054200bbdcc9a53
10379 Author: Lasse Collin <lasse.collin@tukaani.org>
10380 Date:   2017-09-16 12:39:43 +0300
10381
10382     Windows: Move VS2013 files into windows/vs2013 directory.
10383
10384  windows/{ => vs2013}/config.h            |   0
10385  windows/{ => vs2013}/liblzma.vcxproj     | 278 +++++++++++++++---------------
10386  windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++----------------
10387  windows/{ => vs2013}/xz_win.sln          |   0
10388  4 files changed, 279 insertions(+), 279 deletions(-)
10389
10390 commit 94e3f986aa4e14b4ff01ac24857f499630d6d180
10391 Author: Lasse Collin <lasse.collin@tukaani.org>
10392 Date:   2017-08-14 20:08:33 +0300
10393
10394     Fix or hide warnings from GCC 7's -Wimplicit-fallthrough.
10395
10396  src/liblzma/lzma/lzma_decoder.c | 6 ++++++
10397  src/xz/list.c                   | 2 ++
10398  2 files changed, 8 insertions(+)
10399
10400 commit 0b0e1e6803456aac641a59332200f8e95e2b7ea8
10401 Author: Alexey Tourbin <alexey.tourbin@gmail.com>
10402 Date:   2017-05-16 23:56:35 +0300
10403
10404     Docs: Fix a typo in a comment in doc/examples/02_decompress.c.
10405
10406  doc/examples/02_decompress.c | 2 +-
10407  1 file changed, 1 insertion(+), 1 deletion(-)
10408
10409 commit a015cd1f90116e655be4eaf4aad42c4c911c2807
10410 Author: Lasse Collin <lasse.collin@tukaani.org>
10411 Date:   2017-05-23 18:34:43 +0300
10412
10413     xz: Fix "xz --list --robot missing_or_bad_file.xz".
10414     
10415     It ended up printing an uninitialized char-array when trying to
10416     print the check names (column 7) on the "totals" line.
10417     
10418     This also changes the column 12 (minimum xz version) to
10419     50000002 (xz 5.0.0) instead of 0 when there are no valid
10420     input files.
10421     
10422     Thanks to kidmin for the bug report.
10423
10424  src/xz/list.c | 8 ++++++--
10425  1 file changed, 6 insertions(+), 2 deletions(-)
10426
10427 commit c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd
10428 Author: Lasse Collin <lasse.collin@tukaani.org>
10429 Date:   2017-04-24 20:20:11 +0300
10430
10431     Docs: Add doc/examples/11_file_info.c.
10432
10433  doc/examples/11_file_info.c | 206 ++++++++++++++++++++++++++++++++++++++++++++
10434  doc/examples/Makefile       |   3 +-
10435  2 files changed, 208 insertions(+), 1 deletion(-)
10436
10437 commit 1520f6ec808896375ac7bf778c449e0f7dea5f46
10438 Author: Lasse Collin <lasse.collin@tukaani.org>
10439 Date:   2017-04-24 19:48:47 +0300
10440
10441     Build: Omit pre-5.0.0 entries from the generated ChangeLog.
10442     
10443     It makes ChangeLog significantly smaller.
10444
10445  Makefile.am | 3 ++-
10446  1 file changed, 2 insertions(+), 1 deletion(-)
10447
10448 commit 8269782283806c90a8509c2ac2a308344f70e171
10449 Author: Lasse Collin <lasse.collin@tukaani.org>
10450 Date:   2017-04-24 19:48:23 +0300
10451
10452     xz: Use lzma_file_info_decoder() for --list.
10453
10454  src/xz/list.c | 254 ++++++++++------------------------------------------------
10455  1 file changed, 44 insertions(+), 210 deletions(-)
10456
10457 commit e353d0b1cc0d3997ae5048faa8e6786414953e06
10458 Author: Lasse Collin <lasse.collin@tukaani.org>
10459 Date:   2017-04-24 19:35:50 +0300
10460
10461     liblzma: Add lzma_file_info_decoder().
10462
10463  src/liblzma/api/lzma/index.h    |  66 ++++
10464  src/liblzma/common/Makefile.inc |   1 +
10465  src/liblzma/common/file_info.c  | 855 ++++++++++++++++++++++++++++++++++++++++
10466  src/liblzma/liblzma.map         |   7 +-
10467  4 files changed, 928 insertions(+), 1 deletion(-)
10468
10469 commit 144ef9e19e9496c995b21505dd1e111c442968d1
10470 Author: Lasse Collin <lasse.collin@tukaani.org>
10471 Date:   2017-04-24 19:30:22 +0300
10472
10473     Update the Git repository URL to HTTPS in ChangeLog.
10474
10475  ChangeLog | 2 +-
10476  1 file changed, 1 insertion(+), 1 deletion(-)
10477
10478 commit 8c9842c265993d7dd4039f732d3546267fb5ecc4
10479 Author: Lasse Collin <lasse.collin@tukaani.org>
10480 Date:   2017-04-21 15:05:16 +0300
10481
10482     liblzma: Rename LZMA_SEEK to LZMA_SEEK_NEEDED and seek_in to seek_pos.
10483
10484  src/liblzma/api/lzma/base.h | 18 +++++++++---------
10485  src/liblzma/common/common.c |  2 +-
10486  src/xz/message.c            |  2 +-
10487  3 files changed, 11 insertions(+), 11 deletions(-)
10488
10489 commit 662b27c417cab248cb365dd7682121bdec4d5ae7
10490 Author: Lasse Collin <lasse.collin@tukaani.org>
10491 Date:   2017-04-19 22:17:35 +0300
10492
10493     Update the home page URLs to HTTPS.
10494
10495  COPYING                     | 2 +-
10496  README                      | 2 +-
10497  configure.ac                | 2 +-
10498  doc/faq.txt                 | 4 ++--
10499  dos/config.h                | 2 +-
10500  src/common/common_w32res.rc | 2 +-
10501  src/xz/xz.1                 | 6 +++---
10502  src/xzdec/xzdec.1           | 4 ++--
10503  windows/README-Windows.txt  | 2 +-
10504  windows/config.h            | 2 +-
10505  10 files changed, 14 insertions(+), 14 deletions(-)
10506
10507 commit c28f0b3d00af87b92dda229831548d8eb0067d1d
10508 Author: Lasse Collin <lasse.collin@tukaani.org>
10509 Date:   2017-04-05 18:47:22 +0300
10510
10511     xz: Add io_seek_src().
10512
10513  src/xz/file_io.c | 20 +++++++++++++++++---
10514  src/xz/file_io.h | 13 +++++++++++++
10515  2 files changed, 30 insertions(+), 3 deletions(-)
10516
10517 commit bba477257d7319c8764890f3669175b866d24944
10518 Author: Lasse Collin <lasse.collin@tukaani.org>
10519 Date:   2017-03-30 22:01:54 +0300
10520
10521     xz: Use POSIX_FADV_RANDOM for in "xz --list" mode.
10522     
10523     xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly
10524     wrong.
10525
10526  src/xz/file_io.c | 10 ++++++++--
10527  1 file changed, 8 insertions(+), 2 deletions(-)
10528
10529 commit 310d19816d1652b0c8bb1b82574d46345d924752
10530 Author: Lasse Collin <lasse.collin@tukaani.org>
10531 Date:   2017-03-30 20:03:05 +0300
10532
10533     liblzma: Make lzma_index_decoder_init() visible to other liblzma funcs.
10534     
10535     This is to allow other functions to use it without going
10536     via the public API (lzma_index_decoder()).
10537
10538  src/liblzma/common/Makefile.inc    |  1 +
10539  src/liblzma/common/index_decoder.c | 10 +++++-----
10540  src/liblzma/common/index_decoder.h | 24 ++++++++++++++++++++++++
10541  3 files changed, 30 insertions(+), 5 deletions(-)
10542
10543 commit a27920002dbc469f778a134fc665b7c3ea73701b
10544 Author: Lasse Collin <lasse.collin@tukaani.org>
10545 Date:   2017-03-30 20:00:09 +0300
10546
10547     liblzma: Add generic support for input seeking (LZMA_SEEK).
10548     
10549     Also mention LZMA_SEEK in xz/message.c to silence a warning.
10550
10551  src/liblzma/api/lzma/base.h | 31 ++++++++++++++++++++++++++++++-
10552  src/liblzma/common/common.c | 12 +++++++++++-
10553  src/xz/message.c            |  1 +
10554  3 files changed, 42 insertions(+), 2 deletions(-)
10555
10556 commit a0b1dda409bc3e6e2957a2651663fc411d2caf2d
10557 Author: Lasse Collin <lasse.collin@tukaani.org>
10558 Date:   2017-03-30 19:47:45 +0300
10559
10560     liblzma: Fix lzma_memlimit_set(strm, 0).
10561     
10562     The 0 got treated specially in a buggy way and as a result
10563     the function did nothing. The API doc said that 0 was supposed
10564     to return LZMA_PROG_ERROR but it didn't.
10565     
10566     Now 0 is treated as if 1 had been specified. This is done because
10567     0 is already used to indicate an error from lzma_memlimit_get()
10568     and lzma_memusage().
10569     
10570     In addition, lzma_memlimit_set() no longer checks that the new
10571     limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive
10572     for the Index decoder and was actually needed only by the
10573     auto decoder. Auto decoder has now been modified to check for
10574     LZMA_MEMUSAGE_BASE.
10575
10576  src/liblzma/api/lzma/base.h       | 7 ++++++-
10577  src/liblzma/common/auto_decoder.c | 3 +++
10578  src/liblzma/common/common.c       | 6 ++++--
10579  3 files changed, 13 insertions(+), 3 deletions(-)
10580
10581 commit 84462afaada61379f5878e46f8f00e25a1cdcf29
10582 Author: Lasse Collin <lasse.collin@tukaani.org>
10583 Date:   2017-03-30 19:16:55 +0300
10584
10585     liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder.
10586
10587  src/liblzma/api/lzma/container.h    | 21 +++++++++++++++++----
10588  src/liblzma/common/alone_decoder.c  |  5 +----
10589  src/liblzma/common/auto_decoder.c   |  5 +----
10590  src/liblzma/common/stream_decoder.c |  5 +----
10591  4 files changed, 20 insertions(+), 16 deletions(-)
10592
10593 commit cbc74017939690d13441b8926bb743fb03211b83
10594 Author: Lasse Collin <lasse.collin@tukaani.org>
10595 Date:   2017-03-30 18:58:18 +0300
10596
10597     liblzma: Fix handling of memlimit == 0 in lzma_index_decoder().
10598     
10599     It returned LZMA_PROG_ERROR, which was done to avoid zero as
10600     the limit (because it's a special value elsewhere), but using
10601     LZMA_PROG_ERROR is simply inconvenient and can cause bugs.
10602     
10603     The fix/workaround is to treat 0 as if it were 1 byte. It's
10604     effectively the same thing. The only weird consequence is
10605     that then lzma_memlimit_get() will return 1 even when 0 was
10606     specified as the limit.
10607     
10608     This fixes a very rare corner case in xz --list where a specific
10609     memory usage limit and a multi-stream file could print the
10610     error message "Internal error (bug)" instead of saying that
10611     the memory usage limit is too low.
10612
10613  src/liblzma/api/lzma/index.h       | 18 +++++++++++-------
10614  src/liblzma/common/index_decoder.c |  4 ++--
10615  2 files changed, 13 insertions(+), 9 deletions(-)
10616
10617 commit 78ae13bced912b1b92ae927992c99cbcc463cae7
10618 Author: Lasse Collin <lasse.collin@tukaani.org>
10619 Date:   2016-12-30 13:25:10 +0200
10620
10621     Update NEWS for 5.2.3.
10622
10623  NEWS | 39 +++++++++++++++++++++++++++++++++++++++
10624  1 file changed, 39 insertions(+)
10625
10626 commit 0297863fdb453aed1a25eb025f3ba7bacbbb1357
10627 Author: Lasse Collin <lasse.collin@tukaani.org>
10628 Date:   2016-12-26 20:55:52 +0200
10629
10630     Document --enable-sandbox configure option in INSTALL.
10631
10632  INSTALL | 23 +++++++++++++++++++++++
10633  1 file changed, 23 insertions(+)
10634
10635 commit d4a0462abe5478193521c14625e1c81fead87f9f
10636 Author: Lasse Collin <lasse.collin@tukaani.org>
10637 Date:   2016-11-21 20:24:50 +0200
10638
10639     liblzma: Avoid multiple definitions of lzma_coder structures.
10640     
10641     Only one definition was visible in a translation unit.
10642     It avoided a few casts and temp variables but seems that
10643     this hack doesn't work with link-time optimizations in compilers
10644     as it's not C99/C11 compliant.
10645     
10646     Fixes:
10647     http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html
10648
10649  src/liblzma/common/alone_decoder.c             |  44 +++++----
10650  src/liblzma/common/alone_encoder.c             |  34 ++++---
10651  src/liblzma/common/auto_decoder.c              |  35 ++++---
10652  src/liblzma/common/block_decoder.c             |  41 ++++----
10653  src/liblzma/common/block_encoder.c             |  40 ++++----
10654  src/liblzma/common/common.h                    |  18 ++--
10655  src/liblzma/common/index_decoder.c             |  33 ++++---
10656  src/liblzma/common/index_encoder.c             |  16 ++--
10657  src/liblzma/common/stream_decoder.c            |  50 +++++-----
10658  src/liblzma/common/stream_encoder.c            |  56 ++++++-----
10659  src/liblzma/common/stream_encoder_mt.c         | 124 ++++++++++++++-----------
10660  src/liblzma/delta/delta_common.c               |  25 ++---
10661  src/liblzma/delta/delta_decoder.c              |   6 +-
10662  src/liblzma/delta/delta_encoder.c              |  12 ++-
10663  src/liblzma/delta/delta_private.h              |   4 +-
10664  src/liblzma/lz/lz_decoder.c                    |  60 ++++++------
10665  src/liblzma/lz/lz_decoder.h                    |  13 ++-
10666  src/liblzma/lz/lz_encoder.c                    |  57 +++++++-----
10667  src/liblzma/lz/lz_encoder.h                    |   9 +-
10668  src/liblzma/lzma/lzma2_decoder.c               |  32 ++++---
10669  src/liblzma/lzma/lzma2_encoder.c               |  51 +++++-----
10670  src/liblzma/lzma/lzma_decoder.c                |  27 +++---
10671  src/liblzma/lzma/lzma_encoder.c                |  29 +++---
10672  src/liblzma/lzma/lzma_encoder.h                |   9 +-
10673  src/liblzma/lzma/lzma_encoder_optimum_fast.c   |   3 +-
10674  src/liblzma/lzma/lzma_encoder_optimum_normal.c |  23 ++---
10675  src/liblzma/lzma/lzma_encoder_private.h        |   6 +-
10676  src/liblzma/simple/arm.c                       |   2 +-
10677  src/liblzma/simple/armthumb.c                  |   2 +-
10678  src/liblzma/simple/ia64.c                      |   2 +-
10679  src/liblzma/simple/powerpc.c                   |   2 +-
10680  src/liblzma/simple/simple_coder.c              |  61 ++++++------
10681  src/liblzma/simple/simple_private.h            |  12 +--
10682  src/liblzma/simple/sparc.c                     |   2 +-
10683  src/liblzma/simple/x86.c                       |  15 +--
10684  35 files changed, 532 insertions(+), 423 deletions(-)
10685
10686 commit a01794c52add98263b49119842c3e7141d1b9ced
10687 Author: Lasse Collin <lasse.collin@tukaani.org>
10688 Date:   2016-10-24 18:53:25 +0300
10689
10690     Update THANKS.
10691
10692  THANKS | 1 +
10693  1 file changed, 1 insertion(+)
10694
10695 commit df8f446e3ad47e5148b8c8d8b6e519d3ce29cb9d
10696 Author: Lasse Collin <lasse.collin@tukaani.org>
10697 Date:   2016-10-24 18:51:36 +0300
10698
10699     tuklib_cpucores: Add support for sched_getaffinity().
10700     
10701     It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better
10702     than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity()
10703     gives the number of cores available to the process instead of
10704     the total number of cores online.
10705     
10706     As a side effect, this commit fixes a bug on GNU/kFreeBSD where
10707     configure would detect the FreeBSD-specific cpuset_getaffinity()
10708     but it wouldn't actually work because on GNU/kFreeBSD it requires
10709     using -lfreebsd-glue when linking. Now the glibc-specific function
10710     will be used instead.
10711     
10712     Thanks to Sebastian Andrzej Siewior for the original patch
10713     and testing.
10714
10715  m4/tuklib_cpucores.m4        | 30 +++++++++++++++++++++++++++++-
10716  src/common/tuklib_cpucores.c |  9 +++++++++
10717  2 files changed, 38 insertions(+), 1 deletion(-)
10718
10719 commit 446e4318fa79788e09299d5953b5dd428953d14b
10720 Author: Lasse Collin <lasse.collin@tukaani.org>
10721 Date:   2016-06-30 20:27:36 +0300
10722
10723     xz: Fix copying of timestamps on Windows.
10724     
10725     xz used to call utime() on Windows, but its result gets lost
10726     on close(). Using _futime() seems to work.
10727     
10728     Thanks to Martok for reporting the bug:
10729     http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html
10730
10731  configure.ac     |  2 +-
10732  src/xz/file_io.c | 18 ++++++++++++++++++
10733  2 files changed, 19 insertions(+), 1 deletion(-)
10734
10735 commit 1b0ac0c53c761263e91e34195cb21dfdcfeac0bd
10736 Author: Lasse Collin <lasse.collin@tukaani.org>
10737 Date:   2016-06-16 22:46:02 +0300
10738
10739     xz: Silence warnings from -Wlogical-op.
10740     
10741     Thanks to Evan Nemerson.
10742
10743  src/xz/file_io.c | 12 ++++++++++--
10744  1 file changed, 10 insertions(+), 2 deletions(-)
10745
10746 commit c83b7a03342c3325ff10400b22ee21edfcd1e026
10747 Author: Lasse Collin <lasse.collin@tukaani.org>
10748 Date:   2016-04-10 20:55:49 +0300
10749
10750     Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am.
10751     
10752     Thanks to Christian Kujau.
10753
10754  src/xz/Makefile.am | 2 +-
10755  1 file changed, 1 insertion(+), 1 deletion(-)
10756
10757 commit ade31a2bfb95c94d05fbfc0ecbba5d6377f2506e
10758 Author: Lasse Collin <lasse.collin@tukaani.org>
10759 Date:   2016-04-10 20:54:17 +0300
10760
10761     Build: Bump GNU Gettext version requirement to 0.19.
10762     
10763     It silences a few warnings and most people probably have
10764     0.19 even on stable distributions.
10765     
10766     Thanks to Christian Kujau.
10767
10768  configure.ac | 2 +-
10769  1 file changed, 1 insertion(+), 1 deletion(-)
10770
10771 commit ac398c3bafa6e4c80e20571373a96947db863b3d
10772 Author: Lasse Collin <lasse.collin@tukaani.org>
10773 Date:   2016-03-13 20:21:49 +0200
10774
10775     liblzma: Disable external SHA-256 by default.
10776     
10777     This is the sane thing to do. The conflict with OpenSSL
10778     on some OSes and especially that the OS-provided versions
10779     can be significantly slower makes it clear that it was
10780     a mistake to have the external SHA-256 support enabled by
10781     default.
10782     
10783     Those who want it can now pass --enable-external-sha256 to
10784     configure. INSTALL was updated with notes about OSes where
10785     this can be a bad idea.
10786     
10787     The SHA-256 detection code in configure.ac had some bugs that
10788     could lead to a build failure in some situations. These were
10789     fixed, although it doesn't matter that much now that the
10790     external SHA-256 is disabled by default.
10791     
10792     MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init
10793     in libc instead of libutil. Support for the libutil version
10794     was removed.
10795
10796  INSTALL                   | 36 ++++++++++++++++++++++
10797  configure.ac              | 76 +++++++++++++++++++++++------------------------
10798  src/liblzma/check/check.h | 16 ++++------
10799  3 files changed, 79 insertions(+), 49 deletions(-)
10800
10801 commit 6fd5ecb589a9fdd7a576ea48c4850d496bab9ce5
10802 Author: Lasse Collin <lasse.collin@tukaani.org>
10803 Date:   2016-03-10 20:27:05 +0200
10804
10805     Update THANKS.
10806
10807  THANKS | 1 +
10808  1 file changed, 1 insertion(+)
10809
10810 commit 473ef0dc69a30e64d5fa0d34aca02f7309faa3e9
10811 Author: Lasse Collin <lasse.collin@tukaani.org>
10812 Date:   2016-03-10 20:26:49 +0200
10813
10814     Build: Avoid SHA256_Init on FreeBSD and MINIX 3.
10815     
10816     On FreeBSD 10 and older, SHA256_Init from libmd conflicts
10817     with libcrypto from OpenSSL. The OpenSSL version has
10818     different sizeof(SHA256_CTX) and it can cause weird
10819     problems if wrong SHA256_Init gets used.
10820     
10821     Looking at the source, MINIX 3 seems to have a similar issue but
10822     I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too.
10823     
10824     NetBSD has SHA256_Init in libc and they had a similar problem,
10825     but they already fixed it in 2009.
10826     
10827     Thanks to Jim Wilcoxson for the bug report that helped
10828     in finding the problem.
10829
10830  configure.ac | 27 +++++++++++++++++++++------
10831  1 file changed, 21 insertions(+), 6 deletions(-)
10832
10833 commit faf302137e54d605b44ecf0373cb51a6403a2de1
10834 Author: Lasse Collin <lasse.collin@tukaani.org>
10835 Date:   2015-11-08 20:16:10 +0200
10836
10837     tuklib_physmem: Hopefully silence a warning on Windows.
10838
10839  src/common/tuklib_physmem.c | 3 ++-
10840  1 file changed, 2 insertions(+), 1 deletion(-)
10841
10842 commit e52e9151cf8613022d1de4712ff39dbcb666e991
10843 Author: Lasse Collin <lasse.collin@tukaani.org>
10844 Date:   2015-11-04 23:17:43 +0200
10845
10846     Update THANKS.
10847
10848  THANKS | 1 +
10849  1 file changed, 1 insertion(+)
10850
10851 commit 14115f84a38161d55eaa2d070f08739bde37e966
10852 Author: Lasse Collin <lasse.collin@tukaani.org>
10853 Date:   2015-11-04 23:14:00 +0200
10854
10855     liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.
10856     
10857     When optimizing, GCC can reorder code so that an uninitialized
10858     value gets used in a comparison, which makes Valgrind unhappy.
10859     It doesn't happen when compiled with -O0, which I tend to use
10860     when running Valgrind.
10861     
10862     Thanks to Rich Prohaska. I remember this being mentioned long
10863     ago by someone else but nothing was done back then.
10864
10865  src/liblzma/lz/lz_encoder.c | 4 ++++
10866  1 file changed, 4 insertions(+)
10867
10868 commit f4c95ba94beb71a608eb6eadbf82b44f53a0260e
10869 Author: Lasse Collin <lasse.collin@tukaani.org>
10870 Date:   2015-11-03 20:55:45 +0200
10871
10872     liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c.
10873     
10874     It would be too annoying to update other build systems
10875     just because of this.
10876
10877  src/liblzma/lzma/Makefile.inc                               | 2 +-
10878  src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +-
10879  2 files changed, 2 insertions(+), 2 deletions(-)
10880
10881 commit c7bc20a6f3e71920871d48db31a79ab58b5a0a4b
10882 Author: Lasse Collin <lasse.collin@tukaani.org>
10883 Date:   2015-11-03 20:47:07 +0200
10884
10885     Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built.
10886     
10887     They all need decoder support and if that isn't available,
10888     there's no point trying to build them.
10889
10890  configure.ac | 3 +++
10891  1 file changed, 3 insertions(+)
10892
10893 commit 5cbca1205deeb6fb7afe7a864fa68a57466d928a
10894 Author: Lasse Collin <lasse.collin@tukaani.org>
10895 Date:   2015-11-03 20:35:19 +0200
10896
10897     Build: Simplify $enable_{encoders,decoders} usage a bit.
10898
10899  configure.ac | 6 ++++--
10900  1 file changed, 4 insertions(+), 2 deletions(-)
10901
10902 commit af13781886c8e7a0aabebb5141ea282dc364f5c6
10903 Author: Lasse Collin <lasse.collin@tukaani.org>
10904 Date:   2015-11-03 20:31:31 +0200
10905
10906     Windows/MSVC: Update config.h.
10907
10908  windows/config.h | 6 ++++++
10909  1 file changed, 6 insertions(+)
10910
10911 commit 9fa5949330f162c5a2f6653f83025327837e8f39
10912 Author: Lasse Collin <lasse.collin@tukaani.org>
10913 Date:   2015-11-03 20:29:58 +0200
10914
10915     DOS: Update config.h.
10916
10917  dos/config.h | 6 ++++++
10918  1 file changed, 6 insertions(+)
10919
10920 commit cb3111e3ed84152912b5138d690c8d9f00c6ef02
10921 Author: Lasse Collin <lasse.collin@tukaani.org>
10922 Date:   2015-11-03 20:29:33 +0200
10923
10924     xz: Make xz buildable even when encoders or decoders are disabled.
10925     
10926     The patch is quite long but it's mostly about adding new #ifdefs
10927     to omit code when encoders or decoders have been disabled.
10928     
10929     This adds two new #defines to config.h: HAVE_ENCODERS and
10930     HAVE_DECODERS.
10931
10932  configure.ac       |  4 ++++
10933  src/xz/Makefile.am |  8 ++++++--
10934  src/xz/args.c      | 16 ++++++++++++++++
10935  src/xz/coder.c     | 33 +++++++++++++++++++++++++--------
10936  src/xz/main.c      |  9 +++++++--
10937  src/xz/private.h   |  5 ++++-
10938  6 files changed, 62 insertions(+), 13 deletions(-)
10939
10940 commit 4cc584985c0b7a13901da1b7a64ef9f7cc36e8ab
10941 Author: Lasse Collin <lasse.collin@tukaani.org>
10942 Date:   2015-11-03 18:06:40 +0200
10943
10944     Build: Build LZMA1/2 presets also when only decoder is wanted.
10945     
10946     People shouldn't rely on the presets when decoding raw streams,
10947     but xz uses the presets as the starting point for raw decoder
10948     options anyway.
10949     
10950     lzma_encocder_presets.c was renamed to lzma_presets.c to
10951     make it clear it's not used solely by the encoder code.
10952
10953  src/liblzma/lzma/Makefile.inc                               | 6 +++++-
10954  src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++-
10955  2 files changed, 7 insertions(+), 2 deletions(-)
10956
10957 commit 23ed1d41489f632155bbc9660f323d57e09da180
10958 Author: Lasse Collin <lasse.collin@tukaani.org>
10959 Date:   2015-11-03 17:54:48 +0200
10960
10961     Build: Fix configure to handle LZMA1 dependency with LZMA2.
10962     
10963     Now it gives an error if LZMA1 encoder/decoder is missing
10964     when LZMA2 encoder/decoder was requested. Even better would
10965     be LZMA2 implicitly enabling LZMA1 but it would need more code.
10966
10967  configure.ac | 5 -----
10968  1 file changed, 5 deletions(-)
10969
10970 commit b0bc3e03852af13419ea2960881824258d451117
10971 Author: Lasse Collin <lasse.collin@tukaani.org>
10972 Date:   2015-11-03 17:41:54 +0200
10973
10974     Build: Don't omit lzma_cputhreads() unless using --disable-threads.
10975     
10976     Previously it was omitted if encoders were disabled
10977     with --disable-encoders. It didn't make sense and
10978     it also broke the build.
10979
10980  src/liblzma/common/Makefile.inc | 5 ++++-
10981  1 file changed, 4 insertions(+), 1 deletion(-)
10982
10983 commit c6bf438ab39e0fb4a47d3c81725c227919502726
10984 Author: Lasse Collin <lasse.collin@tukaani.org>
10985 Date:   2015-11-02 18:16:51 +0200
10986
10987     liblzma: Fix a build failure related to external SHA-256 support.
10988     
10989     If an appropriate header and structure were found by configure,
10990     but a library with a usable SHA-256 functions wasn't, the build
10991     failed.
10992
10993  src/liblzma/check/check.h | 32 +++++++++++++++++++++++---------
10994  1 file changed, 23 insertions(+), 9 deletions(-)
10995
10996 commit e18adc56f2262aa9394d46681e9e4b9981ed5e97
10997 Author: Lasse Collin <lasse.collin@tukaani.org>
10998 Date:   2015-11-02 15:19:10 +0200
10999
11000     xz: Always close the file before trying to delete it.
11001     
11002     unlink() can return EBUSY in errno for open files on some
11003     operating systems and file systems.
11004
11005  src/xz/file_io.c | 25 ++++++++++++-------------
11006  1 file changed, 12 insertions(+), 13 deletions(-)
11007
11008 commit 282e768a1484e88c8b7ec35655ee4959954ec87a
11009 Author: Lasse Collin <lasse.collin@tukaani.org>
11010 Date:   2015-10-12 21:08:42 +0300
11011
11012     Update THANKS.
11013
11014  THANKS | 1 +
11015  1 file changed, 1 insertion(+)
11016
11017 commit 372e402713a1d4337ffce5f56d5c5c9ed99a66d0
11018 Author: Lasse Collin <lasse.collin@tukaani.org>
11019 Date:   2015-10-12 21:07:41 +0300
11020
11021     Tests: Add tests for the two bugs fixed in index.c.
11022
11023  tests/test_index.c | 30 ++++++++++++++++++++++++++++++
11024  1 file changed, 30 insertions(+)
11025
11026 commit 21515d79d778b8730a434f151b07202d52a04611
11027 Author: Lasse Collin <lasse.collin@tukaani.org>
11028 Date:   2015-10-12 20:45:15 +0300
11029
11030     liblzma: Fix lzma_index_dup() for empty Streams.
11031     
11032     Stream Flags and Stream Padding weren't copied from
11033     empty Streams.
11034
11035  src/liblzma/common/index.c | 11 ++++++-----
11036  1 file changed, 6 insertions(+), 5 deletions(-)
11037
11038 commit 09f395b6b360c0b13e8559eece1d179b908ebd3a
11039 Author: Lasse Collin <lasse.collin@tukaani.org>
11040 Date:   2015-10-12 20:31:44 +0300
11041
11042     liblzma: Add a note to index.c for those using static analyzers.
11043
11044  src/liblzma/common/index.c | 3 +++
11045  1 file changed, 3 insertions(+)
11046
11047 commit 3bf857edfef51374f6f3fffae3d817f57d3264a0
11048 Author: Lasse Collin <lasse.collin@tukaani.org>
11049 Date:   2015-10-12 20:29:09 +0300
11050
11051     liblzma: Fix a memory leak in error path of lzma_index_dup().
11052     
11053     lzma_index_dup() calls index_dup_stream() which, in case of
11054     an error, calls index_stream_end() to free memory allocated
11055     by index_stream_init(). However, it illogically didn't
11056     actually free the memory. To make it logical, the tree
11057     handling code was modified a bit in addition to changing
11058     index_stream_end().
11059     
11060     Thanks to Evan Nemerson for the bug report.
11061
11062  src/liblzma/common/index.c | 18 +++++++++---------
11063  1 file changed, 9 insertions(+), 9 deletions(-)
11064
11065 commit 7f05803979b4b79642d5be4218a79da7a0b12c47
11066 Author: Lasse Collin <lasse.collin@tukaani.org>
11067 Date:   2015-09-29 13:57:28 +0300
11068
11069     Update NEWS for 5.2.2.
11070
11071  NEWS | 18 ++++++++++++++++++
11072  1 file changed, 18 insertions(+)
11073
11074 commit 397fcc0946315b55c3c6d80e37e82a2a78bc15c1
11075 Author: Hauke Henningsen <sqrt@entless.org>
11076 Date:   2015-08-17 04:59:54 +0200
11077
11078     Update German translation, mostly wrt orthography
11079     
11080     Provide an update of the German translation.
11081     * A lot of compound words were previously written with spaces, while
11082       German orthography is relatively clear in that the components
11083       should not be separated.
11084     * When referring to the actual process of (de)compression rather than the
11085       concept, replace “(De-)Kompression” with “(De-)Komprimierung”.
11086       Previously, both forms were used in this context and are now used in a
11087       manner consistent with “Komprimierung” being more likely to refer to
11088       a process.
11089     * Consistently translate “standard input”/“output”
11090     * Use “Zeichen” instead of false friend “Charakter” for “character”
11091     * Insert commas around relative clauses (as required in German)
11092     * Some other minor corrections
11093     * Capitalize “ß” as “ẞ”
11094     * Consistently start option descriptions in --help with capital letters
11095     
11096     Acked-By: Andre Noll <maan@tuebingen.mpg.de>
11097     
11098     * Update after msgmerge
11099
11100  po/de.po | 383 ++++++++++++++++++++++++++++++++-------------------------------
11101  1 file changed, 196 insertions(+), 187 deletions(-)
11102
11103 commit cbc9e39bae715accb44168930a71888480aad569
11104 Author: Lasse Collin <lasse.collin@tukaani.org>
11105 Date:   2015-08-11 13:23:04 +0300
11106
11107     Build: Minor Cygwin cleanup.
11108     
11109     Some tests used "cygwin*" and some used "cygwin". I changed
11110     them all to use "cygwin". Shouldn't affect anything in practice.
11111
11112  configure.ac | 6 +++---
11113  1 file changed, 3 insertions(+), 3 deletions(-)
11114
11115 commit bcacd8ce7a031566858e5e03c1009064c3f1c89e
11116 Author: Lasse Collin <lasse.collin@tukaani.org>
11117 Date:   2015-08-11 13:21:52 +0300
11118
11119     Build: Support building of MSYS2 binaries.
11120
11121  configure.ac | 16 +++++++++++-----
11122  1 file changed, 11 insertions(+), 5 deletions(-)
11123
11124 commit 0275a5398c01d57b724dec7fea52dec3bd6edc6c
11125 Author: Lasse Collin <lasse.collin@tukaani.org>
11126 Date:   2015-08-09 21:06:26 +0300
11127
11128     Windows: Define DLL_EXPORT when building liblzma.dll with MSVC.
11129     
11130     src/liblzma/common/common.h uses it to set __declspec(dllexport)
11131     for the API symbols.
11132     
11133     Thanks to Adam Walling.
11134
11135  windows/liblzma_dll.vcxproj | 12 ++++++------
11136  1 file changed, 6 insertions(+), 6 deletions(-)
11137
11138 commit a74525cf9b945fb0b370e64cf406104beb31729b
11139 Author: Lasse Collin <lasse.collin@tukaani.org>
11140 Date:   2015-08-09 21:02:20 +0300
11141
11142     Windows: Omit unneeded header files from MSVC project files.
11143
11144  windows/liblzma.vcxproj     | 5 -----
11145  windows/liblzma_dll.vcxproj | 5 -----
11146  2 files changed, 10 deletions(-)
11147
11148 commit fbbb295a91caf39faf8838c8c39526e4cb4dc121
11149 Author: Lasse Collin <lasse.collin@tukaani.org>
11150 Date:   2015-07-12 20:48:19 +0300
11151
11152     liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer.
11153
11154  src/liblzma/api/lzma.h | 18 +++++++++++++-----
11155  1 file changed, 13 insertions(+), 5 deletions(-)
11156
11157 commit 713dbe5c230fe00865a54f5c32358ea30f9a1156
11158 Author: Lasse Collin <lasse.collin@tukaani.org>
11159 Date:   2015-06-19 20:38:55 +0300
11160
11161     Update THANKS.
11162
11163  THANKS | 2 ++
11164  1 file changed, 2 insertions(+)
11165
11166 commit 3a5d755d055d51f99c523b4c2952727e1e69cfa1
11167 Author: Lasse Collin <lasse.collin@tukaani.org>
11168 Date:   2015-06-19 20:21:30 +0300
11169
11170     Windows: Update the docs.
11171
11172  INSTALL                                            | 29 ++++++++-----
11173  windows/INSTALL-MSVC.txt                           | 47 ++++++++++++++++++++++
11174  windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} |  2 +-
11175  3 files changed, 67 insertions(+), 11 deletions(-)
11176
11177 commit b0798c6aa6184efcefd0bdcca20f96121a13feda
11178 Author: Lasse Collin <lasse.collin@tukaani.org>
11179 Date:   2015-06-19 17:25:31 +0300
11180
11181     Windows: Add MSVC project files for building liblzma.
11182     
11183     Thanks to Adam Walling for creating these files.
11184
11185  windows/liblzma.vcxproj     | 359 ++++++++++++++++++++++++++++++++++++++++
11186  windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++
11187  windows/xz_win.sln          |  48 ++++++
11188  3 files changed, 795 insertions(+)
11189
11190 commit 9b02a4ffdac1b9f066658ec4c95c0834f4cd2fb7
11191 Author: Andre Noll <maan@tuebingen.mpg.de>
11192 Date:   2015-05-28 15:50:00 +0200
11193
11194     Fix typo in German translation.
11195     
11196     As pointed out by Robert Pollak, there's a typo in the German
11197     translation of the compression preset option (-0 ... -9) help text.
11198     "The compressor" translates to "der Komprimierer", and the genitive
11199     form is "des Komprimierers". The old word makes no sense at all.
11200
11201  po/de.po | 2 +-
11202  1 file changed, 1 insertion(+), 1 deletion(-)
11203
11204 commit c7f4041f6b8f4729f88d3bc888b2a4080ae51f72
11205 Author: Lasse Collin <lasse.collin@tukaani.org>
11206 Date:   2015-05-13 20:57:55 +0300
11207
11208     Tests: Fix a memory leak in test_bcj_exact_size.
11209     
11210     Thanks to Cristian Rodríguez.
11211
11212  tests/test_bcj_exact_size.c | 1 +
11213  1 file changed, 1 insertion(+)
11214
11215 commit 17b29d4f0ae0f780fbd69e15a398dc478d8492f8
11216 Author: Lasse Collin <lasse.collin@tukaani.org>
11217 Date:   2015-05-12 18:08:24 +0300
11218
11219     Fix NEWS about threading in 5.2.0.
11220     
11221     Thanks to Andy Hochhaus.
11222
11223  NEWS | 3 ++-
11224  1 file changed, 2 insertions(+), 1 deletion(-)
11225
11226 commit 49c26920d6e2d85e5c6123e34958aed2e77485ad
11227 Author: Lasse Collin <lasse.collin@tukaani.org>
11228 Date:   2015-05-11 21:26:16 +0300
11229
11230     xz: Document that threaded decompression hasn't been implemented yet.
11231
11232  src/xz/xz.1 | 10 +++++++++-
11233  1 file changed, 9 insertions(+), 1 deletion(-)
11234
11235 commit 5b2458cb244ed237efe4de1ebcf06e1b3a1f4256
11236 Author: Lasse Collin <lasse.collin@tukaani.org>
11237 Date:   2015-04-20 20:20:29 +0300
11238
11239     Update THANKS.
11240
11241  THANKS | 1 +
11242  1 file changed, 1 insertion(+)
11243
11244 commit 6bd0349c58451b13442e8f463e35de83548bf985
11245 Author: Lasse Collin <lasse.collin@tukaani.org>
11246 Date:   2015-04-20 19:59:18 +0300
11247
11248     Revert "xz: Use pipe2() if available."
11249     
11250     This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd.
11251     It is a problem when libc has pipe2() but the kernel is too
11252     old to have pipe2() and thus pipe2() fails. In xz it's pointless
11253     to have a fallback for non-functioning pipe2(); it's better to
11254     avoid pipe2() completely.
11255     
11256     Thanks to Michael Fox for the bug report.
11257
11258  configure.ac     | 4 ++--
11259  src/xz/file_io.c | 9 +--------
11260  2 files changed, 3 insertions(+), 10 deletions(-)
11261
11262 commit fc0df0f8db87dff45543708a711e17d29c37f632
11263 Author: Lasse Collin <lasse.collin@tukaani.org>
11264 Date:   2015-04-01 14:45:25 +0300
11265
11266     xz: Fix the Capsicum rights on user_abort_pipe.
11267
11268  src/xz/file_io.c | 6 +++++-
11269  1 file changed, 5 insertions(+), 1 deletion(-)
11270
11271 commit 57393615b31b3788dd77280452d845bcc12d33af
11272 Author: Lasse Collin <lasse.collin@tukaani.org>
11273 Date:   2015-03-31 22:20:11 +0300
11274
11275     Update THANKS.
11276
11277  THANKS | 1 +
11278  1 file changed, 1 insertion(+)
11279
11280 commit 1238381143a9a7ce84839c2582ccd56ff750a440
11281 Author: Lasse Collin <lasse.collin@tukaani.org>
11282 Date:   2015-03-31 22:19:34 +0300
11283
11284     xz: Add support for sandboxing with Capsicum.
11285     
11286     The sandboxing is used conditionally as described in main.c.
11287     This isn't optimal but it was much easier to implement than
11288     a full sandboxing solution and it still covers the most common
11289     use cases where xz is writing to standard output. This should
11290     have practically no effect on performance even with small files
11291     as fork() isn't needed.
11292     
11293     C and locale libraries can open files as needed. This has been
11294     fine in the past, but it's a problem with things like Capsicum.
11295     io_sandbox_enter() tries to ensure that various locale-related
11296     files have been loaded before cap_enter() is called, but it's
11297     possible that there are other similar problems which haven't
11298     been seen yet.
11299     
11300     Currently Capsicum is available on FreeBSD 10 and later
11301     and there is a port to Linux too.
11302     
11303     Thanks to Loganaden Velvindron for help.
11304
11305  configure.ac       | 41 +++++++++++++++++++++++++++
11306  src/xz/Makefile.am |  2 +-
11307  src/xz/file_io.c   | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11308  src/xz/file_io.h   |  6 ++++
11309  src/xz/main.c      | 18 ++++++++++++
11310  src/xz/private.h   |  4 +++
11311  6 files changed, 151 insertions(+), 1 deletion(-)
11312
11313 commit 29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e
11314 Author: Lasse Collin <lasse.collin@tukaani.org>
11315 Date:   2015-03-31 21:12:30 +0300
11316
11317     Fix bugs and otherwise improve ax_check_capsicum.m4.
11318     
11319     AU_ALIAS was removed because the new version is incompatible
11320     with the old version.
11321     
11322     It no longer checks for <sys/capability.h> separately.
11323     It's enough to test for it as part of AC_CHECK_DECL.
11324     The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and
11325     HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded.
11326     HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough.
11327     
11328     It no longer does a useless search for the Capsicum library
11329     if the header wasn't found.
11330     
11331     Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying
11332     the argument omitted the default action but the given action
11333     wasn't used instead.
11334     
11335     AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum
11336     support is found. Previously it was part of the default
11337     ACTION-IF-FOUND which a custom action would override. Now
11338     the default action only prepends ${CAPSICUM_LIB} to LIBS.
11339     
11340     The documentation was updated.
11341     
11342     Since there as no serial number, "#serial 2" was added.
11343
11344  m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------
11345  1 file changed, 51 insertions(+), 52 deletions(-)
11346
11347 commit 6e845c6a3eddf2fde9db5a29950421dff60a43ac
11348 Author: Lasse Collin <lasse.collin@tukaani.org>
11349 Date:   2015-03-31 19:20:24 +0300
11350
11351     Add m4/ax_check_capsicum.m4 for detecting Capsicum support.
11352     
11353     The file was loaded from this web page:
11354     https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4
11355     
11356     Thanks to Loganaden Velvindron for pointing it out for me.
11357
11358  m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
11359  1 file changed, 86 insertions(+)
11360
11361 commit 3717885f9ef2c06f1bcbad9f4c2ed2d5695f844e
11362 Author: Lasse Collin <lasse.collin@tukaani.org>
11363 Date:   2015-03-30 22:44:02 +0300
11364
11365     Bump version to 5.3.0alpha and soname to 5.3.99.
11366     
11367     The idea of 99 is that it looks a bit weird in this context.
11368     For new features there's no API/ABI stability in devel versions.
11369
11370  src/liblzma/Makefile.am        | 2 +-
11371  src/liblzma/api/lzma/version.h | 6 +++---
11372  2 files changed, 4 insertions(+), 4 deletions(-)
11373
11374 commit eccd8155e107c5ada03d13e7730675cdf1a44ddc
11375 Author: Lasse Collin <lasse.collin@tukaani.org>
11376 Date:   2015-03-29 22:14:47 +0300
11377
11378     Update THANKS.
11379
11380  THANKS | 1 +
11381  1 file changed, 1 insertion(+)
11382
11383 commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00
11384 Author: Lasse Collin <lasse.collin@tukaani.org>
11385 Date:   2015-03-29 22:13:48 +0300
11386
11387     Fix the detection of installed RAM on QNX.
11388     
11389     The earlier version compiled but didn't actually work
11390     since sysconf(_SC_PHYS_PAGES) always fails (or so I was told).
11391     
11392     Thanks to Ole André Vadla Ravnås for the patch and testing.
11393
11394  m4/tuklib_physmem.m4        |  6 +++---
11395  src/common/tuklib_physmem.c | 14 +++++++++++++-
11396  2 files changed, 16 insertions(+), 4 deletions(-)
11397
11398 commit 4c544d2410903d38402221cb783ed85585b6a007
11399 Author: Lasse Collin <lasse.collin@tukaani.org>
11400 Date:   2015-03-27 22:39:07 +0200
11401
11402     Fix CPU core count detection on QNX.
11403     
11404     It tried to use sysctl() on QNX but
11405       - it broke the build because sysctl() needs -lsocket on QNX;
11406       - sysctl() doesn't work for detecting the core count on QNX
11407         even if it compiled.
11408     
11409     sysconf() works. An alternative would have been to use
11410     QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>.
11411     
11412     Thanks to Ole André Vadla Ravnås.
11413
11414  m4/tuklib_cpucores.m4 | 15 +++++++++++----
11415  1 file changed, 11 insertions(+), 4 deletions(-)
11416
11417 commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3
11418 Author: Lasse Collin <lasse.collin@tukaani.org>
11419 Date:   2015-03-07 22:05:57 +0200
11420
11421     xz: size_t/uint32_t cleanup in options.c.
11422
11423  src/xz/options.c | 12 ++++++------
11424  1 file changed, 6 insertions(+), 6 deletions(-)
11425
11426 commit 8bcca29a65335fd679c13814b70b35b68fa5daed
11427 Author: Lasse Collin <lasse.collin@tukaani.org>
11428 Date:   2015-03-07 22:04:23 +0200
11429
11430     xz: Fix a comment and silence a warning in message.c.
11431
11432  src/xz/message.c | 5 +++--
11433  1 file changed, 3 insertions(+), 2 deletions(-)
11434
11435 commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b
11436 Author: Lasse Collin <lasse.collin@tukaani.org>
11437 Date:   2015-03-07 22:01:00 +0200
11438
11439     liblzma: Silence more uint32_t vs. size_t warnings.
11440
11441  src/liblzma/lz/lz_encoder.c     | 2 +-
11442  src/liblzma/lzma/lzma_encoder.c | 2 +-
11443  2 files changed, 2 insertions(+), 2 deletions(-)
11444
11445 commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34
11446 Author: Lasse Collin <lasse.collin@tukaani.org>
11447 Date:   2015-03-07 19:54:00 +0200
11448
11449     xz: Make arg_count an unsigned int to silence a warning.
11450     
11451     Actually the value of arg_count cannot exceed INT_MAX
11452     but it's nicer as an unsigned int.
11453
11454  src/xz/args.h | 2 +-
11455  src/xz/main.c | 2 +-
11456  2 files changed, 2 insertions(+), 2 deletions(-)
11457
11458 commit f6ec46801588b1be29c07c9db98558b521304002
11459 Author: Lasse Collin <lasse.collin@tukaani.org>
11460 Date:   2015-03-07 19:33:17 +0200
11461
11462     liblzma: Fix a warning in index.c.
11463
11464  src/liblzma/common/index.c | 4 +++-
11465  1 file changed, 3 insertions(+), 1 deletion(-)
11466
11467 commit a24518971cc621315af142dd3bb7614fab04ad27
11468 Author: Lasse Collin <lasse.collin@tukaani.org>
11469 Date:   2015-02-26 20:46:14 +0200
11470
11471     Build: Fix a CR+LF problem when running autoreconf -fi on OS/2.
11472
11473  build-aux/version.sh | 2 +-
11474  1 file changed, 1 insertion(+), 1 deletion(-)
11475
11476 commit dec11497a71518423b5ff0e759100cf8aadf6c7b
11477 Author: Lasse Collin <lasse.collin@tukaani.org>
11478 Date:   2015-02-26 16:53:44 +0200
11479
11480     Bump version and soname for 5.2.1.
11481
11482  src/liblzma/Makefile.am        | 2 +-
11483  src/liblzma/api/lzma/version.h | 2 +-
11484  2 files changed, 2 insertions(+), 2 deletions(-)
11485
11486 commit 29e39c79975ab89ee5dd671e97064534a9f3a649
11487 Author: Lasse Collin <lasse.collin@tukaani.org>
11488 Date:   2015-02-26 13:01:09 +0200
11489
11490     Update NEWS for 5.2.1.
11491
11492  NEWS | 14 ++++++++++++++
11493  1 file changed, 14 insertions(+)
11494
11495 commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd
11496 Author: Lasse Collin <lasse.collin@tukaani.org>
11497 Date:   2015-02-22 19:38:48 +0200
11498
11499     xz: Use pipe2() if available.
11500
11501  configure.ac     | 4 ++--
11502  src/xz/file_io.c | 9 ++++++++-
11503  2 files changed, 10 insertions(+), 3 deletions(-)
11504
11505 commit 117d962685c72682c63edc9bb765367189800202
11506 Author: Lasse Collin <lasse.collin@tukaani.org>
11507 Date:   2015-02-21 23:40:26 +0200
11508
11509     liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode.
11510     
11511     The bug was added in the commit
11512     f48fce093b07aeda95c18850f5e086d9f2383380 and thus
11513     affected 5.1.4beta and 5.2.0. Luckily the bug cannot
11514     cause data corruption or other nasty things.
11515
11516  src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +-
11517  1 file changed, 1 insertion(+), 1 deletion(-)
11518
11519 commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719
11520 Author: Lasse Collin <lasse.collin@tukaani.org>
11521 Date:   2015-02-21 23:00:19 +0200
11522
11523     xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick.
11524     
11525     Now it reads the old flags instead of blindly setting O_NONBLOCK.
11526     The old code may have worked correctly, but this is better.
11527
11528  src/xz/file_io.c | 16 +++++++++++-----
11529  1 file changed, 11 insertions(+), 5 deletions(-)
11530
11531 commit 2205bb5853098aea36a56df6f5747037175f66b4
11532 Author: Lasse Collin <lasse.collin@tukaani.org>
11533 Date:   2015-02-10 15:29:34 +0200
11534
11535     Update THANKS.
11536
11537  THANKS | 1 +
11538  1 file changed, 1 insertion(+)
11539
11540 commit d935b0cdf3db440269b9d952b2b281b18f8c7b08
11541 Author: Lasse Collin <lasse.collin@tukaani.org>
11542 Date:   2015-02-10 15:28:30 +0200
11543
11544     tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available.
11545     
11546     In FreeBSD, cpuset_getaffinity() is the preferred way to get
11547     the number of available cores.
11548     
11549     Thanks to Rui Paulo for the patch. I edited it slightly, but
11550     hopefully I didn't break anything.
11551
11552  m4/tuklib_cpucores.m4        | 23 ++++++++++++++++++++++-
11553  src/common/tuklib_cpucores.c | 18 ++++++++++++++++++
11554  2 files changed, 40 insertions(+), 1 deletion(-)
11555
11556 commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560
11557 Author: Lasse Collin <lasse.collin@tukaani.org>
11558 Date:   2015-02-09 22:08:37 +0200
11559
11560     xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp.
11561     
11562     Thanks to Rui Paulo for the fix.
11563
11564  src/scripts/xzdiff.in | 7 ++++++-
11565  1 file changed, 6 insertions(+), 1 deletion(-)
11566
11567 commit b9a5b6b7a29029680af733082b6a46e0fc01623a
11568 Author: Lasse Collin <lasse.collin@tukaani.org>
11569 Date:   2015-02-03 21:45:53 +0200
11570
11571     Add a few casts to tuklib_integer.h to silence possible warnings.
11572     
11573     I heard that Visual Studio 2013 gave warnings without the casts.
11574     
11575     Thanks to Gabi Davar.
11576
11577  src/common/tuklib_integer.h | 24 ++++++++++++------------
11578  1 file changed, 12 insertions(+), 12 deletions(-)
11579
11580 commit c45757135f40e4a0de730ba5fff0100219493982
11581 Author: Lasse Collin <lasse.collin@tukaani.org>
11582 Date:   2015-01-26 21:24:39 +0200
11583
11584     liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method.
11585
11586  src/liblzma/common/memcmplen.h | 15 ++++++++++-----
11587  1 file changed, 10 insertions(+), 5 deletions(-)
11588
11589 commit 3c500174ed5485f550972a2a6109c361e875f069
11590 Author: Lasse Collin <lasse.collin@tukaani.org>
11591 Date:   2015-01-26 20:40:16 +0200
11592
11593     Update THANKS.
11594
11595  THANKS | 1 +
11596  1 file changed, 1 insertion(+)
11597
11598 commit fec88d41e672d9e197c9442aecf02bd0dfa6d516
11599 Author: Lasse Collin <lasse.collin@tukaani.org>
11600 Date:   2015-01-26 20:39:28 +0200
11601
11602     liblzma: Silence harmless Valgrind errors.
11603     
11604     Thanks to Torsten Rupp for reporting this. I had
11605     forgotten to run Valgrind before the 5.2.0 release.
11606
11607  src/liblzma/lz/lz_encoder.c | 6 ++++++
11608  1 file changed, 6 insertions(+)
11609
11610 commit a9b45badfec0928d20a27c7176c005fa637f7d1e
11611 Author: Lasse Collin <lasse.collin@tukaani.org>
11612 Date:   2015-01-09 21:50:19 +0200
11613
11614     xz: Fix comments.
11615
11616  src/xz/file_io.c | 12 ++++++++----
11617  1 file changed, 8 insertions(+), 4 deletions(-)
11618
11619 commit 541aee6dd4aa97a809aba281475a21b641bb89e2
11620 Author: Lasse Collin <lasse.collin@tukaani.org>
11621 Date:   2015-01-09 21:35:06 +0200
11622
11623     Update THANKS.
11624
11625  THANKS | 1 +
11626  1 file changed, 1 insertion(+)
11627
11628 commit 4170edc914655310d2363baccf5e615e09b04911
11629 Author: Lasse Collin <lasse.collin@tukaani.org>
11630 Date:   2015-01-09 21:34:06 +0200
11631
11632     xz: Don't fail if stdout doesn't support O_NONBLOCK.
11633     
11634     This is similar to the case with stdin.
11635     
11636     Thanks to Brad Smith for the bug report and testing
11637     on OpenBSD.
11638
11639  src/xz/file_io.c | 36 +++++++++++++++---------------------
11640  1 file changed, 15 insertions(+), 21 deletions(-)
11641
11642 commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d
11643 Author: Lasse Collin <lasse.collin@tukaani.org>
11644 Date:   2015-01-07 19:18:20 +0200
11645
11646     xz: Fix a memory leak in DOS-specific code.
11647
11648  src/xz/file_io.c | 2 ++
11649  1 file changed, 2 insertions(+)
11650
11651 commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea
11652 Author: Lasse Collin <lasse.collin@tukaani.org>
11653 Date:   2015-01-07 19:08:06 +0200
11654
11655     xz: Don't fail if stdin doesn't support O_NONBLOCK.
11656     
11657     It's a problem at least on OpenBSD which doesn't support
11658     O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's
11659     a problem on other OSes too since this behavior is allowed
11660     in POSIX-1.2008.
11661     
11662     The code relying on this behavior was committed in June 2013
11663     and included in 5.1.3alpha released on 2013-10-26. Clearly
11664     the development releases only get limited testing.
11665
11666  src/xz/file_io.c | 18 +++++++-----------
11667  1 file changed, 7 insertions(+), 11 deletions(-)
11668
11669 commit d2d484647d9d9d679f03c75abb0404f67069271c
11670 Author: Lasse Collin <lasse.collin@tukaani.org>
11671 Date:   2015-01-06 20:30:15 +0200
11672
11673     Tests: Don't hide unexpected error messages in test_files.sh.
11674     
11675     Hiding them makes no sense since normally there's no error
11676     when testing the "good" files. With "bad" files errors are
11677     expected and then it makes sense to keep the messages hidden.
11678
11679  tests/test_files.sh | 4 ++--
11680  1 file changed, 2 insertions(+), 2 deletions(-)
11681
11682 commit aae6a6aeda51cf94a47e39ad624728f9bee75e30
11683 Author: Lasse Collin <lasse.collin@tukaani.org>
11684 Date:   2014-12-30 11:17:16 +0200
11685
11686     Update Solaris notes in INSTALL.
11687     
11688     Mention the possible "make check" failure on Solaris in the
11689     Solaris-specific section of INSTALL. It was already in
11690     section 4.5 but it is better mention it in the OS-specific
11691     section too.
11692
11693  INSTALL | 4 ++++
11694  1 file changed, 4 insertions(+)
11695
11696 commit 7815112153178800a3521b9f31960e7cdc26cfba
11697 Author: Lasse Collin <lasse.collin@tukaani.org>
11698 Date:   2014-12-26 12:00:05 +0200
11699
11700     Build: POSIX shell isn't required if scripts are disabled.
11701
11702  INSTALL      | 3 ++-
11703  configure.ac | 2 +-
11704  2 files changed, 3 insertions(+), 2 deletions(-)
11705
11706 commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
11707 Author: Lasse Collin <lasse.collin@tukaani.org>
11708 Date:   2014-12-21 20:48:37 +0200
11709
11710     DOS: Update Makefile.
11711
11712  dos/Makefile | 1 +
11713  1 file changed, 1 insertion(+)
11714
11715 commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e
11716 Author: Lasse Collin <lasse.collin@tukaani.org>
11717 Date:   2014-12-21 19:50:38 +0200
11718
11719     Windows: Fix bin_i486 to bin_i686 in build.bash.
11720
11721  windows/build.bash | 2 +-
11722  1 file changed, 1 insertion(+), 1 deletion(-)
11723
11724 commit cbafa710918195dbba3db02c3fab4f0538235206
11725 Author: Lasse Collin <lasse.collin@tukaani.org>
11726 Date:   2014-12-21 18:58:44 +0200
11727
11728     Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c.
11729
11730  doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++----
11731  1 file changed, 26 insertions(+), 4 deletions(-)
11732
11733 commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a
11734 Author: Lasse Collin <lasse.collin@tukaani.org>
11735 Date:   2014-12-21 18:56:44 +0200
11736
11737     Docs: Update docs/examples/00_README.txt.
11738
11739  doc/examples/00_README.txt | 4 ++++
11740  1 file changed, 4 insertions(+)
11741
11742 commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6
11743 Author: Lasse Collin <lasse.collin@tukaani.org>
11744 Date:   2014-12-21 18:11:17 +0200
11745
11746     Bump version and soname for 5.2.0.
11747     
11748     I know that soname != app version, but I skip AGE=1
11749     in -version-info to make the soname match the liblzma
11750     version anyway. It doesn't hurt anything as long as
11751     it doesn't conflict with library versioning rules.
11752
11753  src/liblzma/Makefile.am        | 2 +-
11754  src/liblzma/api/lzma/version.h | 6 +++---
11755  src/liblzma/liblzma.map        | 2 +-
11756  3 files changed, 5 insertions(+), 5 deletions(-)