xref: /freebsd/contrib/xz/ChangeLog (revision dad64f0e)
1commit 18b845e69752c975dfeda418ec00eda22605c2ee
2Author: Lasse Collin <lasse.collin@tukaani.org>
3Date:   2023-01-11 18:52:54 +0200
4
5    Bump version and soname for 5.4.1.
6
7 src/liblzma/Makefile.am        | 2 +-
8 src/liblzma/api/lzma/version.h | 2 +-
9 2 files changed, 2 insertions(+), 2 deletions(-)
10
11commit 4080bbb844fb36701ffb978f0c41ea2c2c9f8960
12Author: Jia Tan <jiat0218@gmail.com>
13Date:   2023-01-11 23:58:16 +0800
14
15    Add NEWS for 5.4.1.
16
17 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18 1 file changed, 70 insertions(+)
19
20commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2
21Author: Lasse Collin <lasse.collin@tukaani.org>
22Date:   2023-01-10 11:56:11 +0200
23
24    sysdefs.h: Don't include strings.h anymore.
25
26    On some platforms src/xz/suffix.c may need <strings.h> for
27    strcasecmp() but suffix.c includes the header when it needs it.
28
29    Unless there is an old system that otherwise supports enough C99
30    to build XZ Utils but doesn't have C89/C90-compatible <string.h>,
31    there should be no need to include <strings.h> in sysdefs.h.
32
33 src/common/sysdefs.h | 6 ------
34 1 file changed, 6 deletions(-)
35
36commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6
37Author: Lasse Collin <lasse.collin@tukaani.org>
38Date:   2023-01-10 11:23:41 +0200
39
40    xz: Include <strings.h> in suffix.c if needed for strcasecmp().
41
42    SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>.
43    Of these, strcasecmp() is used on some platforms in suffix.c.
44    Nothing else in the project needs <strings.h> (at least if
45    building on a modern system).
46
47    sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is
48    defined and suffix.c relied on this.
49
50    Note that dos/config.h doesn't #define HAVE_STRINGS_H even though
51    DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp()
52    is also in <string.h> in DJGPP.
53
54 src/xz/suffix.c | 3 +++
55 1 file changed, 3 insertions(+)
56
57commit aea639e81beb548e3114c74b6d9a894d6e036189
58Author: Jia Tan <jiat0218@gmail.com>
59Date:   2023-01-11 22:46:48 +0800
60
61    xz: Fix warning -Wformat-nonliteral on clang in message.c.
62
63    clang and gcc differ in how they handle -Wformat-nonliteral. gcc will
64    allow a non-literal format string as long as the function takes its
65    format arguments as a va_list.
66
67 src/xz/message.c | 9 +++++++++
68 1 file changed, 9 insertions(+)
69
70commit e3b42bfcb0f67988beee7c7022fed0361282be45
71Author: Jia Tan <jiat0218@gmail.com>
72Date:   2023-01-11 20:58:31 +0800
73
74    Tests: Fix test_filter_flags copy/paste error.
75
76 tests/test_filter_flags.c | 4 ++--
77 1 file changed, 2 insertions(+), 2 deletions(-)
78
79commit 21625b7e11d004788e40eb5eb88d9d89f65fe347
80Author: Jia Tan <jiat0218@gmail.com>
81Date:   2023-01-11 20:42:29 +0800
82
83    Tests: Fix type-limits warning in test_filter_flags.
84
85    This only occurs in test_filter_flags when the BCJ filters are not
86    configured and built. In this case, ARRAY_SIZE() returns 0 and causes a
87    type-limits warning with the loop variable since an unsigned number will
88    always be >= 0.
89
90 tests/test_filter_flags.c | 13 ++++++++++---
91 1 file changed, 10 insertions(+), 3 deletions(-)
92
93commit c337983e928682d56ce3470b286a8d5b8646e0ad
94Author: Lasse Collin <lasse.collin@tukaani.org>
95Date:   2023-01-10 22:14:03 +0200
96
97    liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt.
98
99    This affects only 32-bit x86 builds. x86-64 is OK as is.
100
101    I still cannot easily test this myself. The reporter has tested
102    this and it passes the tests included in the CMake build and
103    performance is good: raw CRC64 is 2-3 times faster than the
104    C version of the slice-by-four method. (Note that liblzma doesn't
105    include a MSVC-compatible version of the 32-bit x86 assembly code
106    for the slice-by-four method.)
107
108    Thanks to Iouri Kharon for figuring out a fix, testing, and
109    benchmarking.
110
111 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++
112 1 file changed, 18 insertions(+)
113
114commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7
115Author: Jia Tan <jiat0218@gmail.com>
116Date:   2023-01-11 01:18:50 +0800
117
118    Tests: Fix unused function warning in test_block_header.
119
120    One of the global arrays of filters was only used in a test that
121    required both encoders and decoders to be configured in the build.
122
123 tests/test_block_header.c | 4 ++++
124 1 file changed, 4 insertions(+)
125
126commit 68e9ef036d18d7c3952bff0b391d5989b86934da
127Author: Jia Tan <jiat0218@gmail.com>
128Date:   2023-01-11 01:08:03 +0800
129
130    Tests: Fix unused function warning in test_index_hash.
131
132    test_index_hash does not use fill_index_hash() unless both encoders
133    and decoders are configured in the build.
134
135 tests/test_index_hash.c | 4 +---
136 1 file changed, 1 insertion(+), 3 deletions(-)
137
138commit a387707cd8cdefbffb5b7429bda4b7fcc192954a
139Author: Lasse Collin <lasse.collin@tukaani.org>
140Date:   2023-01-10 00:33:14 +0200
141
142    Windows: Update INSTALL-MSVC.txt to recommend CMake over project files.
143
144 windows/INSTALL-MSVC.txt | 19 ++++++++++++-------
145 1 file changed, 12 insertions(+), 7 deletions(-)
146
147commit 52902ad69518255a14b0144f0a2379e06fde5b6e
148Author: Lasse Collin <lasse.collin@tukaani.org>
149Date:   2023-01-10 12:47:16 +0200
150
151    Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)."
152
153    This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5.
154
155    It was reported that it wasn't a good enough fix and MSVC
156    still produced (different kind of) bad code when building
157    for 32-bit x86 if optimizations are enabled.
158
159    Thanks to Iouri Kharon.
160
161 src/liblzma/check/crc64_fast.c | 6 ------
162 1 file changed, 6 deletions(-)
163
164commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496
165Author: Lasse Collin <lasse.collin@tukaani.org>
166Date:   2023-01-10 10:05:13 +0200
167
168    sysdefs.h: Fix a comment.
169
170 src/common/sysdefs.h | 2 +-
171 1 file changed, 1 insertion(+), 1 deletion(-)
172
173commit 6e89ab58b031aa046308a0b3504ff0a5be042571
174Author: Lasse Collin <lasse.collin@tukaani.org>
175Date:   2023-01-10 10:04:06 +0200
176
177    sysdefs.h: Don't include memory.h anymore even if it were available.
178
179    It quite probably was never needed, that is, any system where memory.h
180    was required likely couldn't compile XZ Utils for other reasons anyway.
181
182    XZ Utils 5.2.6 and later source packages were generated using
183    Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code
184    being removed is no longer used anyway.
185
186 src/common/sysdefs.h | 8 ++------
187 1 file changed, 2 insertions(+), 6 deletions(-)
188
189commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123
190Author: Lasse Collin <lasse.collin@tukaani.org>
191Date:   2023-01-10 08:50:26 +0200
192
193    CMake/Windows: Add a workaround for windres from GNU binutils.
194
195    This is combined from the following commits in the master branch:
196    443dfebced041adc88f10d824188eeef5b5821a9
197    6b117d3b1fe91eb26d533ab16a2e552f84148d47
198    5e34774c31d1b7509b5cb77a3be9973adec59ea0
199
200    Thanks to Iouri Kharon for the bug report, the original patch,
201    and testing.
202
203 CMakeLists.txt | 32 +++++++++++++++++++++++++++++++-
204 1 file changed, 31 insertions(+), 1 deletion(-)
205
206commit 43521e77acc907863fa4f94aae276366172cb9ee
207Author: Lasse Collin <lasse.collin@tukaani.org>
208Date:   2023-01-06 22:53:38 +0200
209
210    Tests: test_filter_flags: Clean up minor issues.
211
212    Here are the list of the most significant issues addressed:
213    - Avoid using internal common.h header. It's not good to copy the
214    constants like this but common.h cannot be included for use outside
215    of liblzma. This is the quickest thing to do that could be fixed later.
216
217    - Omit the INIT_FILTER macro. Initialization should be done with just
218    regular designated initializers.
219
220    - Use start_offset = 257 for BCJ tests. It demonstrates that Filter
221    Flags encoder and decoder don't validate the options thoroughly.
222    257 is valid only for the x86 filter. This is a bit silly but
223    not a significant problem in practice because the encoder and
224    decoder initialization functions will catch bad alignment still.
225    Perhaps this should be fixed but it's not urgent and doesn't need
226    to be in 5.4.x.
227
228    - Various tweaks to comments such as filter id -> Filter ID
229
230 tests/test_filter_flags.c | 153 +++++++++++++++++++++++-----------------------
231 1 file changed, 78 insertions(+), 75 deletions(-)
232
233commit 6b44cead95d767414272dc3a67898a36bfdf95b3
234Author: Jia Tan <jiat0218@gmail.com>
235Date:   2022-12-29 23:33:33 +0800
236
237    Tests: Refactors existing filter flags tests.
238
239    Converts the existing filter flags tests into tuktests.
240
241 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++--------------
242 1 file changed, 457 insertions(+), 198 deletions(-)
243
244commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7
245Author: Lasse Collin <lasse.collin@tukaani.org>
246Date:   2023-01-08 00:32:29 +0200
247
248    Tests: tuktest.h: Support tuktest_malloc(0).
249
250    It's not needed in XZ Utils at least for now. It's good to support
251    it still because if such use is needed later, it wouldn't be
252    caught on GNU/Linux since malloc(0) from glibc returns non-NULL.
253
254 tests/tuktest.h | 4 ++--
255 1 file changed, 2 insertions(+), 2 deletions(-)
256
257commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee
258Author: Lasse Collin <lasse.collin@tukaani.org>
259Date:   2023-01-07 21:57:11 +0200
260
261    CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25.
262
263    The changes listed on cmake-policies(7) for versions 3.17 to 3.25
264    shouldn't affect this project.
265
266 CMakeLists.txt | 2 +-
267 1 file changed, 1 insertion(+), 1 deletion(-)
268
269commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2
270Author: Lasse Collin <lasse.collin@tukaani.org>
271Date:   2023-01-08 00:24:23 +0200
272
273    Update THANKS.
274
275 THANKS | 1 +
276 1 file changed, 1 insertion(+)
277
278commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab
279Author: Lasse Collin <lasse.collin@tukaani.org>
280Date:   2023-01-07 19:50:35 +0200
281
282    Update THANKS.
283
284 THANKS | 1 +
285 1 file changed, 1 insertion(+)
286
287commit 3d45987451b1c3bb42697b29341824c0e5484cba
288Author: Lasse Collin <lasse.collin@tukaani.org>
289Date:   2023-01-09 11:27:24 +0200
290
291    CMake: Fix a copypaste error in xzdec Windows resource file handling.
292
293    It was my mistake. Thanks to Iouri Kharon for the bug report.
294
295 CMakeLists.txt | 4 ++--
296 1 file changed, 2 insertions(+), 2 deletions(-)
297
298commit 706bce5018d7cf83094e13454a0731169ec119b5
299Author: Lasse Collin <lasse.collin@tukaani.org>
300Date:   2023-01-07 19:50:03 +0200
301
302    CMake/Windows: Add resource files to xz.exe and xzdec.exe.
303
304    The command line tools cannot be built with MSVC for now but
305    they can be built with MinGW-w64.
306
307    Thanks to Iouri Kharon for the bug report and the original patch.
308
309 CMakeLists.txt | 16 ++++++++++++++++
310 1 file changed, 16 insertions(+)
311
312commit e96dee55df04113c33b387ccdb6cb70935422d91
313Author: Lasse Collin <lasse.collin@tukaani.org>
314Date:   2023-01-09 12:22:05 +0200
315
316    liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022).
317
318    I haven't tested with MSVC myself and there doesn't seem to be
319    information about the problem online, so I'm relying on the bug report.
320
321    Thanks to Iouri Kharon for the bug report and the patch.
322
323 src/liblzma/check/crc64_fast.c | 6 ++++++
324 1 file changed, 6 insertions(+)
325
326commit 52bc1ee34dda9bb6fb40175e5952863066681b77
327Author: Lasse Collin <lasse.collin@tukaani.org>
328Date:   2023-01-07 19:31:15 +0200
329
330    Build: Require that _mm_set_epi64x() is usable to enable CLMUL support.
331
332    VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets
333    disabled with VS2013.
334
335    Thanks to Iouri Kharon for the bug report.
336
337 CMakeLists.txt | 3 ++-
338 configure.ac   | 8 ++++++--
339 2 files changed, 8 insertions(+), 3 deletions(-)
340
341commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa
342Author: Jia Tan <jiat0218@gmail.com>
343Date:   2022-12-29 00:25:18 +0800
344
345    Tests: Creates test_index_hash.c
346
347    Tests all API functions exported from index_hash.h. Does not have a
348    dedicated test for lzma_index_hash_end.
349
350    [Minor edits were made by Lasse Collin.]
351
352 .gitignore              |   1 +
353 CMakeLists.txt          |   2 +
354 tests/Makefile.am       |   3 +
355 tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++
356 4 files changed, 394 insertions(+)
357
358commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1
359Author: Jia Tan <jiat0218@gmail.com>
360Date:   2023-01-05 20:57:25 +0800
361
362    liblzma: Remove common.h include from common/index.h.
363
364    common/index.h is needed by liblzma internally and tests. common.h will
365    include and define many things that are not needed by the tests.
366
367    Also, this prevents include order problems because both common.h and
368    lzma.h define LZMA_API. On most platforms it results only in a warning
369    but on Windows it would break the build as the definition in common.h
370    must be used only for building liblzma itself.
371
372 src/liblzma/common/index.c                 | 1 +
373 src/liblzma/common/index.h                 | 9 +++++++--
374 src/liblzma/common/index_decoder.h         | 1 +
375 src/liblzma/common/stream_buffer_encoder.c | 1 +
376 4 files changed, 10 insertions(+), 2 deletions(-)
377
378commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb
379Author: Jia Tan <jiat0218@gmail.com>
380Date:   2022-08-17 20:20:16 +0800
381
382    liblzma: Add NULL check to lzma_index_hash_append.
383
384    This is for consistency with lzma_index_append.
385
386 src/liblzma/common/index_hash.c | 2 +-
387 1 file changed, 1 insertion(+), 1 deletion(-)
388
389commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc
390Author: Jia Tan <jiat0218@gmail.com>
391Date:   2022-08-17 17:59:51 +0800
392
393    liblzma: Replaced hardcoded 0x0 index indicator byte with macro
394
395 src/liblzma/common/index.h             | 3 +++
396 src/liblzma/common/index_decoder.c     | 2 +-
397 src/liblzma/common/index_encoder.c     | 2 +-
398 src/liblzma/common/index_hash.c        | 2 +-
399 src/liblzma/common/stream_decoder.c    | 3 ++-
400 src/liblzma/common/stream_decoder_mt.c | 2 +-
401 6 files changed, 9 insertions(+), 5 deletions(-)
402
403commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6
404Author: Jia Tan <jiat0218@gmail.com>
405Date:   2023-01-06 20:43:31 +0800
406
407    Style: Change #if !defined() to #ifndef in mythread.h.
408
409 src/common/mythread.h | 2 +-
410 1 file changed, 1 insertion(+), 1 deletion(-)
411
412commit 3f0130aa288e4ed57ace609517db9700a41223af
413Author: Jia Tan <jiat0218@gmail.com>
414Date:   2023-01-06 20:35:55 +0800
415
416    Build: Add missing stream_decoder_mt.c to .vcxproj files.
417
418    The line in the .vcxproj files for building with was missing in 5.4.0.
419    Thank to Hajin Jang for reporting the issue.
420
421 windows/vs2013/liblzma.vcxproj     | 1 +
422 windows/vs2013/liblzma_dll.vcxproj | 1 +
423 windows/vs2017/liblzma.vcxproj     | 1 +
424 windows/vs2017/liblzma_dll.vcxproj | 1 +
425 windows/vs2019/liblzma.vcxproj     | 1 +
426 windows/vs2019/liblzma_dll.vcxproj | 1 +
427 6 files changed, 6 insertions(+)
428
429commit f204d1050a515d17851eed9049862ce5a9c729c1
430Author: Lasse Collin <lasse.collin@tukaani.org>
431Date:   2023-01-04 22:40:54 +0200
432
433    Update THANKS.
434
435 THANKS | 1 +
436 1 file changed, 1 insertion(+)
437
438commit 34a9c2d650d6c30bd88e1b21910dd863209aa884
439Author: Lasse Collin <lasse.collin@tukaani.org>
440Date:   2023-01-04 18:40:28 +0200
441
442    Tests: Adjust style in test_compress.sh.
443
444 tests/test_compress.sh | 12 +++++++-----
445 1 file changed, 7 insertions(+), 5 deletions(-)
446
447commit 761c208d58e0c3daa0f46e68b406adfc318d2a46
448Author: Jia Tan <jiat0218@gmail.com>
449Date:   2023-01-04 23:58:58 +0800
450
451    Tests: Replace non portable shell parameter expansion
452
453    The shell parameter expansion using # and ## is not supported in
454    Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully
455    portable, so we should avoid it.
456
457 tests/create_compress_files.c          |  2 +-
458 tests/test_compress.sh                 | 20 +++++++++++++-------
459 tests/test_compress_prepared_bcj_sparc |  2 +-
460 tests/test_compress_prepared_bcj_x86   |  2 +-
461 4 files changed, 16 insertions(+), 10 deletions(-)
462
463commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4
464Author: Jia Tan <jiat0218@gmail.com>
465Date:   2023-01-03 21:02:38 +0800
466
467    Translations: Add Korean translation of man pages.
468
469    Thanks to Seong-ho Cho
470
471 po4a/ko.po     | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
472 po4a/po4a.conf |    2 +-
473 2 files changed, 5553 insertions(+), 1 deletion(-)
474
475commit ca2af49bb8be5995eb0e6a3abf457622626d49a7
476Author: Jia Tan <jiat0218@gmail.com>
477Date:   2023-01-03 20:47:27 +0800
478
479    Translations: Update the Esperanto translation.
480
481 po/eo.po | 620 ++++++++++++++++++++++++++++++++++-----------------------------
482 1 file changed, 332 insertions(+), 288 deletions(-)
483
484commit bfba3394aed03311fe9a746d3141b2e16d8b9325
485Author: Lasse Collin <lasse.collin@tukaani.org>
486Date:   2023-01-02 17:05:07 +0200
487
488    Build: Fix config.h comments.
489
490 configure.ac          | 2 +-
491 m4/tuklib_progname.m4 | 2 +-
492 2 files changed, 2 insertions(+), 2 deletions(-)
493
494commit 507648ad114c2ae0cd6d181063e1ac07e8106718
495Author: Jia Tan <jiat0218@gmail.com>
496Date:   2023-01-02 22:33:48 +0800
497
498    Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1.
499
500    HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to
501    HAVE_PROGRAM_INVOCATION_NAME. Previously,
502    HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when
503    building with autotools. CMake would only set this when it was 1, and the
504    dos/config.h did not define it. The new macro definition is consistent
505    across build systems.
506
507 cmake/tuklib_progname.cmake  | 5 ++---
508 m4/tuklib_progname.m4        | 5 ++++-
509 src/common/tuklib_progname.c | 2 +-
510 src/common/tuklib_progname.h | 2 +-
511 4 files changed, 8 insertions(+), 6 deletions(-)
512
513commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5
514Author: Lasse Collin <lasse.collin@tukaani.org>
515Date:   2022-12-30 20:10:08 +0200
516
517    Tests: test_check: Test corner cases of CLMUL CRC64.
518
519 tests/test_check.c | 27 +++++++++++++++++++++++++++
520 1 file changed, 27 insertions(+)
521
522commit 8791826f31733fda0a13b411c2ed930faaeb25aa
523Author: Lasse Collin <lasse.collin@tukaani.org>
524Date:   2022-12-30 19:36:49 +0200
525
526    Tests: Clarify a comment in test_lzip_decoder.c.
527
528 tests/test_lzip_decoder.c | 8 ++++++--
529 1 file changed, 6 insertions(+), 2 deletions(-)
530
531commit c410d812ea12bfc74f6b727c1a799478c79f19ca
532Author: Jia Tan <jiat0218@gmail.com>
533Date:   2022-12-29 01:55:19 +0800
534
535    xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c.
536
537    Previously, mytime.c depended on mythread.h for <time.h> to be included.
538
539 src/xz/mytime.c | 4 +++-
540 1 file changed, 3 insertions(+), 1 deletion(-)
541
542commit 501c6013d4a59fae5d4368e9657c4885493db809
543Author: Jia Tan <jiat0218@gmail.com>
544Date:   2022-12-29 01:15:27 +0800
545
546    liblzma: Includes sys/time.h conditionally in mythread
547
548    Previously, <sys/time.h> was always included, even if mythread only used
549    clock_gettime. <time.h> is still needed even if clock_gettime is not used
550    though because struct timespec is needed for mythread_condtime.
551
552 src/common/mythread.h | 8 +++++++-
553 1 file changed, 7 insertions(+), 1 deletion(-)
554
555commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f
556Author: Jia Tan <jiat0218@gmail.com>
557Date:   2022-12-29 01:10:53 +0800
558
559    Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set.
560
561    Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always
562    be set to 0 or 1. However, this macro was needed in xz so if xz was not
563    built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but
564    HAVE_CLOCK_GETTIME was, it caused a warning during build. Now,
565    HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and
566    will only be set if it is 1.
567
568 CMakeLists.txt        | 8 +++-----
569 configure.ac          | 5 ++++-
570 src/common/mythread.h | 4 ++--
571 src/xz/mytime.c       | 5 ++---
572 4 files changed, 11 insertions(+), 11 deletions(-)
573
574commit 6fc3e5467911572fa9af4021ea46396261aae796
575Author: Jia Tan <jiat0218@gmail.com>
576Date:   2022-12-28 01:14:07 +0800
577
578    Translations: Add Ukrainian translations of man pages.
579
580    Thanks to Yuri Chornoivan
581
582 po4a/po4a.conf |    2 +-
583 po4a/uk.po     | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
584 2 files changed, 3677 insertions(+), 1 deletion(-)
585
586commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e
587Author: Jia Tan <jiat0218@gmail.com>
588Date:   2022-12-22 23:14:53 +0800
589
590    liblzma: Update documentation for lzma_filter_encoder.
591
592 src/liblzma/common/filter_encoder.c | 7 +++++--
593 1 file changed, 5 insertions(+), 2 deletions(-)
594
595commit b14b8dbba9a3b232787ae218b46430b9246383dd
596Author: Jia Tan <jiat0218@gmail.com>
597Date:   2022-12-21 21:12:03 +0800
598
599    Tests: Adds lzip decoder tests
600
601 .gitignore                |   1 +
602 tests/Makefile.am         |   2 +
603 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++
604 3 files changed, 474 insertions(+)
605
606commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710
607Author: Jia Cheong Tan <jiat0218@gmail.com>
608Date:   2022-12-20 22:05:21 +0800
609
610    Doxygen: Update .gitignore for generating docs for in source build.
611
612    In source builds are not recommended, but we should still ignore
613    the generated artifacts.
614
615 .gitignore | 2 ++
616 1 file changed, 2 insertions(+)
617
618commit d3e6fe44196bf9478ad193522e2b48febf2eca6b
619Author: Jia Tan <jiat0218@gmail.com>
620Date:   2022-12-20 20:46:44 +0800
621
622    liblzma: Fix lzma_microlzma_encoder() return value.
623
624    Using return_if_error on lzma_lzma_lclppb_encode was improper because
625    return_if_error is expecting an lzma_ret value, but
626    lzma_lzma_lclppb_encode returns a boolean. This could result in
627    lzma_microlzma_encoder, which would be misleading for applications.
628
629 src/liblzma/common/microlzma_encoder.c | 3 ++-
630 1 file changed, 2 insertions(+), 1 deletion(-)
631
632commit b55a27b46f52524a4a8d9cdef03e6689cefc1375
633Author: Lasse Collin <lasse.collin@tukaani.org>
634Date:   2022-12-16 18:30:02 +0200
635
636    liblzma: Update authors list in arm64.c.
637
638 src/liblzma/simple/arm64.c | 1 +
639 1 file changed, 1 insertion(+)
640
641commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d
642Author: Jia Tan <jiat0218@gmail.com>
643Date:   2022-12-16 20:58:55 +0800
644
645    CMake: Update .gitignore for CMake artifacts from in source build.
646
647    In source builds are not recommended, but we can make it easier
648    by ignoring the generated artifacts from CMake.
649
650 .gitignore | 23 +++++++++++++++++++++++
651 1 file changed, 23 insertions(+)
652
653commit b69da6d4bb6bb11fc0cf066920791990d2b22a06
654Author: Lasse Collin <lasse.collin@tukaani.org>
655Date:   2022-12-13 20:37:17 +0200
656
657    Bump version to 5.4.0 and soname to 5.4.0.
658
659 src/liblzma/Makefile.am         | 2 +-
660 src/liblzma/api/lzma/version.h  | 6 +++---
661 src/liblzma/liblzma_generic.map | 2 +-
662 src/liblzma/liblzma_linux.map   | 2 +-
663 4 files changed, 6 insertions(+), 6 deletions(-)
664
665commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19
666Author: Lasse Collin <lasse.collin@tukaani.org>
667Date:   2022-12-13 20:29:39 +0200
668
669    Update INSTALL: CMake on Windows isn't experimental anymore.
670
671    Using CMake to build liblzma should work on a few other OSes
672    but building the command line tools is still subtly broken.
673
674    It is known that shared library versioning may differ between
675    CMake and Libtool builds on some OSes, most notably Darwin.
676
677 INSTALL | 10 ++++------
678 1 file changed, 4 insertions(+), 6 deletions(-)
679
680commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852
681Author: Lasse Collin <lasse.collin@tukaani.org>
682Date:   2022-12-13 19:47:53 +0200
683
684    Add NEWS for 5.4.0.
685
686 NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
687 1 file changed, 202 insertions(+)
688
689commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14
690Author: Lasse Collin <lasse.collin@tukaani.org>
691Date:   2022-12-13 17:41:20 +0200
692
693    Fix a typo in NEWS.
694
695 NEWS | 2 +-
696 1 file changed, 1 insertion(+), 1 deletion(-)
697
698commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245
699Author: Lasse Collin <lasse.collin@tukaani.org>
700Date:   2022-12-13 17:41:03 +0200
701
702    Add NEWS for 5.2.10.
703
704 NEWS | 12 ++++++++++++
705 1 file changed, 12 insertions(+)
706
707commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6
708Author: Lasse Collin <lasse.collin@tukaani.org>
709Date:   2022-12-13 12:30:45 +0200
710
711    Tests: Fix a typo in tests/files/README.
712
713 tests/files/README | 2 +-
714 1 file changed, 1 insertion(+), 1 deletion(-)
715
716commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5
717Author: Lasse Collin <lasse.collin@tukaani.org>
718Date:   2022-12-13 12:30:09 +0200
719
720    Tests: Add two ARM64 test files.
721
722 tests/files/README                  |   7 +++++++
723 tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes
724 tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes
725 tests/test_files.sh                 |   5 +++++
726 4 files changed, 12 insertions(+)
727
728commit f5e419550619c548c7c35d7e367cf00580a56521
729Author: Lasse Collin <lasse.collin@tukaani.org>
730Date:   2022-12-12 22:44:21 +0200
731
732    Translations: Update the Catalan translation.
733
734 po/ca.po | 657 +++++++++++++++++++++++++++++----------------------------------
735 1 file changed, 306 insertions(+), 351 deletions(-)
736
737commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8
738Author: Lasse Collin <lasse.collin@tukaani.org>
739Date:   2022-12-12 19:18:12 +0200
740
741    Update THANKS.
742
743 THANKS | 1 +
744 1 file changed, 1 insertion(+)
745
746commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc
747Author: Lasse Collin <lasse.collin@tukaani.org>
748Date:   2022-12-12 19:07:58 +0200
749
750    Update AUTHORS.
751
752 AUTHORS | 12 ++++++++++++
753 1 file changed, 12 insertions(+)
754
755commit f2d98e691099d82054d5f3071ef6f5e809932e44
756Author: Lasse Collin <lasse.collin@tukaani.org>
757Date:   2022-12-12 15:31:14 +0200
758
759    Docs: Omit multi-threaded decompress from TODO.
760
761    The TODO file outdated still.
762
763 TODO | 2 --
764 1 file changed, 2 deletions(-)
765
766commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da
767Author: Lasse Collin <lasse.collin@tukaani.org>
768Date:   2022-12-11 21:16:09 +0200
769
770    Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter.
771
772 doc/xz-file-format.txt | 29 ++++++++++++++++++++++-------
773 1 file changed, 22 insertions(+), 7 deletions(-)
774
775commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f
776Author: Lasse Collin <lasse.collin@tukaani.org>
777Date:   2022-12-11 21:13:57 +0200
778
779    xz: Rename --experimental-arm64 to --arm64.
780
781 src/xz/args.c | 2 +-
782 1 file changed, 1 insertion(+), 1 deletion(-)
783
784commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5
785Author: Lasse Collin <lasse.collin@tukaani.org>
786Date:   2022-12-11 21:13:06 +0200
787
788    liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A.
789
790 src/liblzma/api/lzma/bcj.h | 6 +-----
791 1 file changed, 1 insertion(+), 5 deletions(-)
792
793commit 01b3549e523edac899ec4925b282ceddd20da116
794Author: Lasse Collin <lasse.collin@tukaani.org>
795Date:   2022-12-08 19:24:22 +0200
796
797    xz: Make args_info.files_name a const pointer.
798
799 src/xz/args.c | 2 +-
800 src/xz/args.h | 2 +-
801 2 files changed, 2 insertions(+), 2 deletions(-)
802
803commit bc665b84ea6bf7946394a08122177efe41b26a5f
804Author: Lasse Collin <lasse.collin@tukaani.org>
805Date:   2022-12-08 19:18:16 +0200
806
807    xz: Don't modify argv[].
808
809    The code that parses --memlimit options and --block-list modified
810    the argv[] when parsing the option string from optarg. This was
811    visible in "ps auxf" and such and could be confusing. I didn't
812    understand it back in the day when I wrote that code. Now a copy
813    is allocated when modifiable strings are needed.
814
815 src/xz/args.c | 23 +++++++++++++++++++----
816 1 file changed, 19 insertions(+), 4 deletions(-)
817
818commit a13064e1c290de7933db72b6dffbd65cfce59c9f
819Author: Lasse Collin <lasse.collin@tukaani.org>
820Date:   2022-12-08 18:18:57 +0200
821
822    Translations: Update the German man page translations.
823
824 po4a/de.po | 4570 ++++++++++++++++++------------------------------------------
825 1 file changed, 1374 insertions(+), 3196 deletions(-)
826
827commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a
828Author: Jia Tan <jiat0218@gmail.com>
829Date:   2022-12-06 23:05:56 +0800
830
831    Translations: Update the German translation.
832
833 po/de.po | 586 ++++++++++++++++++++++++++++++++++-----------------------------
834 1 file changed, 315 insertions(+), 271 deletions(-)
835
836commit 5c304b57c24ef40ff57f864301065f0244c05bde
837Author: Jia Tan <jiat0218@gmail.com>
838Date:   2022-12-06 23:04:25 +0800
839
840    Translations: Update the Turkish translation.
841
842 po/tr.po | 221 +++++++++++++++++++++++++++++++--------------------------------
843 1 file changed, 108 insertions(+), 113 deletions(-)
844
845commit 6d86781fdb937970486500447ebb49b98244235b
846Author: Jia Tan <jiat0218@gmail.com>
847Date:   2022-12-06 23:02:11 +0800
848
849    Translations: Update the Croatian translation.
850
851 po/hr.po | 228 +++++++++++++++++++++++++++++++--------------------------------
852 1 file changed, 113 insertions(+), 115 deletions(-)
853
854commit 7a5b4b8075eb36026b1796f04ffed5830c42396a
855Author: Jia Tan <jiat0218@gmail.com>
856Date:   2022-12-06 22:56:30 +0800
857
858    Translations: Add Romanian translation of man pages.
859
860    Thanks to Remus-Gabriel Chelu.
861
862 po4a/po4a.conf |    2 +-
863 po4a/ro.po     | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
864 2 files changed, 3693 insertions(+), 1 deletion(-)
865
866commit c6977e7400088177556e8771bcb839eb7d90caa3
867Author: Jia Tan <jiat0218@gmail.com>
868Date:   2022-12-06 22:52:13 +0800
869
870    Translations: Update the Romanian translation.
871
872 po/ro.po | 294 +++++++++++++++++++++++++++++++--------------------------------
873 1 file changed, 147 insertions(+), 147 deletions(-)
874
875commit ac2a747e939c2cbccff7a49c399769af5e02d2ab
876Author: Lasse Collin <lasse.collin@tukaani.org>
877Date:   2022-12-08 17:30:09 +0200
878
879    liblzma: Check for unexpected NULL pointers in block_header_decode().
880
881    The API docs gave an impression that such checks are done
882    but they actually weren't done. In practice it made little
883    difference since the calling code has a bug if these are NULL.
884
885    Thanks to Jia Tan for the original patch that checked for
886    block->filters == NULL.
887
888 src/liblzma/common/block_header_decoder.c | 4 ++++
889 1 file changed, 4 insertions(+)
890
891commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25
892Author: Lasse Collin <lasse.collin@tukaani.org>
893Date:   2022-12-01 20:59:32 +0200
894
895    Bump version number for 5.3.5beta.
896
897    This also sorts the symbol names alphabetically in liblzma_*.map.
898
899 src/liblzma/api/lzma/version.h  |  4 ++--
900 src/liblzma/liblzma_generic.map | 10 +++++-----
901 src/liblzma/liblzma_linux.map   | 10 +++++-----
902 3 files changed, 12 insertions(+), 12 deletions(-)
903
904commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa
905Author: Lasse Collin <lasse.collin@tukaani.org>
906Date:   2022-12-01 20:57:26 +0200
907
908    Add NEWS for 5.3.5beta.
909
910 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
911 1 file changed, 43 insertions(+)
912
913commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e
914Author: Lasse Collin <lasse.collin@tukaani.org>
915Date:   2022-12-01 20:57:09 +0200
916
917    Update THANKS.
918
919 THANKS | 3 +++
920 1 file changed, 3 insertions(+)
921
922commit 62b270988ec67314d69976df484d2974c6eacfda
923Author: Lasse Collin <lasse.collin@tukaani.org>
924Date:   2022-12-01 20:04:17 +0200
925
926    liblzma: Use __has_attribute(__symver__) to fix Clang detection.
927
928    If someone sets up Clang to define __GNUC__ to 10 or greater
929    then symvers broke. __has_attribute is supported by such GCC
930    and Clang versions that don't support __symver__ so this should
931    be much better and simpler way to detect if __symver__ is
932    actually supported.
933
934    Thanks to Tomasz Gajc for the bug report.
935
936 src/liblzma/common/common.h | 15 ++++++++++++++-
937 1 file changed, 14 insertions(+), 1 deletion(-)
938
939commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb
940Author: Lasse Collin <lasse.collin@tukaani.org>
941Date:   2022-12-01 18:51:52 +0200
942
943    liblzma: Omit zero-skipping from ARM64 filter.
944
945    It has some complicated downsides and its usefulness is more limited
946    than I originally thought. So this change is bad for certain very
947    specific situations but a generic solution that works for other
948    filters (and is otherwise better too) is planned anyway. And this
949    way 7-Zip can use the same compatible filter for the .7z format.
950
951    This is still marked as experimental with a new temporary Filter ID.
952
953 src/liblzma/api/lzma/bcj.h |  2 +-
954 src/liblzma/simple/arm64.c | 81 +++++++++++++---------------------------------
955 2 files changed, 24 insertions(+), 59 deletions(-)
956
957commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b
958Author: Lasse Collin <lasse.collin@tukaani.org>
959Date:   2022-12-01 18:13:27 +0200
960
961    xz: Omit the special notes about ARM64 filter on the man page.
962
963 src/xz/xz.1 | 5 ++---
964 1 file changed, 2 insertions(+), 3 deletions(-)
965
966commit 0c3627b51862eb0dcdd4fc283d046250571991c6
967Author: Lasse Collin <lasse.collin@tukaani.org>
968Date:   2022-12-01 18:12:03 +0200
969
970    liblzma: Don't be over-specific in lzma_str_to_filters API doc.
971
972 src/liblzma/api/lzma/filter.h | 3 +--
973 1 file changed, 1 insertion(+), 2 deletions(-)
974
975commit 94adf057f27b1970f493dc99cd166407d7255639
976Author: Lasse Collin <lasse.collin@tukaani.org>
977Date:   2022-12-01 17:54:23 +0200
978
979    liblzma: Silence unused variable warning when BCJ filters are disabled.
980
981    Thanks to Jia Tan for the original patch.
982
983 src/liblzma/common/string_conversion.c | 15 +++++++++++++++
984 1 file changed, 15 insertions(+)
985
986commit c68af4441744e5ffc41a472e1be9c9d53a1d9780
987Author: Lasse Collin <lasse.collin@tukaani.org>
988Date:   2022-12-01 17:38:03 +0200
989
990    Translations: Update the Chinese (simplified) translation.
991
992 po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++--------------------------
993 1 file changed, 348 insertions(+), 260 deletions(-)
994
995commit 3be6942e5c27d29995d41da52fbe274e4ce4a537
996Author: Lasse Collin <lasse.collin@tukaani.org>
997Date:   2022-11-30 18:55:03 +0200
998
999    Add NEWS for 5.2.9.
1000
1001 NEWS | 34 ++++++++++++++++++++++++++++++++++
1002 1 file changed, 34 insertions(+)
1003
1004commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d
1005Author: Jia Tan <jiat0218@gmail.com>
1006Date:   2022-11-30 23:33:08 +0800
1007
1008    xz: Remove message_filters_to_str function prototype from message.h.
1009
1010    This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b.
1011
1012 src/xz/message.h | 16 ----------------
1013 1 file changed, 16 deletions(-)
1014
1015commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7
1016Author: Lasse Collin <lasse.collin@tukaani.org>
1017Date:   2022-11-30 18:08:34 +0200
1018
1019    Change the bug report address.
1020
1021    It forwards to me and Jia Tan.
1022
1023    Also update the IRC reference in README as #tukaani was moved
1024    to Libera Chat long ago.
1025
1026 CMakeLists.txt             |  2 +-
1027 README                     | 11 +++++------
1028 configure.ac               |  2 +-
1029 dos/config.h               |  2 +-
1030 windows/README-Windows.txt |  2 +-
1031 5 files changed, 9 insertions(+), 10 deletions(-)
1032
1033commit c21983c76031e01da01ad3c6cc716fe4b8a75070
1034Author: Lasse Collin <lasse.collin@tukaani.org>
1035Date:   2022-11-30 17:50:17 +0200
1036
1037    Build: Add string_conversion.c to CMake, DOS, and VS files.
1038
1039 CMakeLists.txt                     | 1 +
1040 dos/Makefile                       | 1 +
1041 windows/vs2013/liblzma.vcxproj     | 1 +
1042 windows/vs2013/liblzma_dll.vcxproj | 1 +
1043 windows/vs2017/liblzma.vcxproj     | 1 +
1044 windows/vs2017/liblzma_dll.vcxproj | 1 +
1045 windows/vs2019/liblzma.vcxproj     | 1 +
1046 windows/vs2019/liblzma_dll.vcxproj | 1 +
1047 8 files changed, 8 insertions(+)
1048
1049commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82
1050Author: Lasse Collin <lasse.collin@tukaani.org>
1051Date:   2022-11-30 17:38:32 +0200
1052
1053    Update to HTTPS URLs in AUTHORS.
1054
1055 AUTHORS | 6 +++---
1056 1 file changed, 3 insertions(+), 3 deletions(-)
1057
1058commit 0a72b9ca2fe20082da9b7128fe0d908af947a851
1059Author: Jia Tan <jiat0218@gmail.com>
1060Date:   2022-11-30 00:52:06 +0800
1061
1062    liblzma: Improve documentation for string to filter functions.
1063
1064 src/liblzma/api/lzma/filter.h | 17 +++++++++--------
1065 1 file changed, 9 insertions(+), 8 deletions(-)
1066
1067commit a6e21fcede3b196160a52dd294d965c508a4bb33
1068Author: Lasse Collin <lasse.collin@tukaani.org>
1069Date:   2022-11-29 22:27:42 +0200
1070
1071    liblzma: Two fixes to lzma_str_list_filters() API docs.
1072
1073    Thanks to Jia Tan.
1074
1075 src/liblzma/api/lzma/filter.h | 6 +++---
1076 1 file changed, 3 insertions(+), 3 deletions(-)
1077
1078commit 7484744af6cbabe81e92af7d9e061dfd597fff7b
1079Author: Lasse Collin <lasse.collin@tukaani.org>
1080Date:   2022-11-28 21:57:47 +0200
1081
1082    xz: Use lzma_str_from_filters().
1083
1084    Two uses: Displaying encoder filter chain when compressing with -vv,
1085    and displaying the decoder filter chain in --list -vv.
1086
1087 src/xz/list.c    |  28 ++++++---
1088 src/xz/message.c | 175 +++----------------------------------------------------
1089 2 files changed, 28 insertions(+), 175 deletions(-)
1090
1091commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203
1092Author: Lasse Collin <lasse.collin@tukaani.org>
1093Date:   2022-11-28 21:37:48 +0200
1094
1095    liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters.
1096
1097    lzma_str_to_filters() uses static error messages which makes
1098    them not very precise. It tells the position in the string
1099    where an error occurred though which helps quite a bit if
1100    applications take advantage of it. Dynamic error messages can
1101    be added later with a new flag if it seems important enough.
1102
1103 src/liblzma/api/lzma/filter.h          |  258 +++++++
1104 src/liblzma/common/Makefile.inc        |    1 +
1105 src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++
1106 src/liblzma/liblzma_generic.map        |    3 +
1107 src/liblzma/liblzma_linux.map          |    3 +
1108 5 files changed, 1567 insertions(+)
1109
1110commit 072ebf7b1335421193ffa9d4a70d5533786b8995
1111Author: Lasse Collin <lasse.collin@tukaani.org>
1112Date:   2022-11-28 21:02:19 +0200
1113
1114    liblzma: Make lzma_validate_chain() available outside filter_common.c.
1115
1116 src/liblzma/common/filter_common.c | 8 ++++----
1117 src/liblzma/common/filter_common.h | 3 +++
1118 2 files changed, 7 insertions(+), 4 deletions(-)
1119
1120commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf
1121Author: Lasse Collin <lasse.collin@tukaani.org>
1122Date:   2022-11-28 10:51:03 +0200
1123
1124    liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused.
1125
1126 src/liblzma/lz/lz_decoder.c | 14 --------------
1127 src/liblzma/lz/lz_decoder.h |  3 ---
1128 2 files changed, 17 deletions(-)
1129
1130commit cee83206465b95729ab649aa2f57fdbde8dcaf89
1131Author: Lasse Collin <lasse.collin@tukaani.org>
1132Date:   2022-11-28 10:48:53 +0200
1133
1134    liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder().
1135
1136    Here too this avoids the slightly ugly method to set
1137    the uncompressed size.
1138
1139    Also moved the setting of dict_size to the struct initializer.
1140
1141 src/liblzma/common/microlzma_decoder.c | 15 ++++++++-------
1142 1 file changed, 8 insertions(+), 7 deletions(-)
1143
1144commit e310e8b6a490dfb468f4ed68feff246d776b323c
1145Author: Lasse Collin <lasse.collin@tukaani.org>
1146Date:   2022-11-28 10:28:20 +0200
1147
1148    liblzma: Use LZMA1EXT feature in lzma_alone_decoder().
1149
1150    This avoids the need to use the slightly ugly method to
1151    set the uncompressed size.
1152
1153 src/liblzma/common/alone_decoder.c | 18 +++++++++++++-----
1154 1 file changed, 13 insertions(+), 5 deletions(-)
1155
1156commit 33b8a24b6646a9dbfd8358405aec466b13078559
1157Author: Lasse Collin <lasse.collin@tukaani.org>
1158Date:   2022-11-27 23:16:21 +0200
1159
1160    liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker.
1161
1162    Some file formats need support for LZMA1 streams that don't use
1163    the end of payload marker (EOPM) alias end of stream (EOS) marker.
1164    So far liblzma API has supported decompressing such streams via
1165    lzma_alone_decoder() when .lzma header specifies a known
1166    uncompressed size. Encoding support hasn't been available in the API.
1167
1168    Instead of adding a new LZMA1-only API for this purpose, this commit
1169    adds a new filter ID for use with raw encoder and decoder. The main
1170    benefit of this approach is that then also filter chains are possible,
1171    for example, if someone wants to implement support for .7z files that
1172    use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported
1173    in liblzma).
1174
1175 src/liblzma/api/lzma/lzma12.h           | 123 ++++++++++++++++++++++++++++++--
1176 src/liblzma/common/filter_common.c      |   7 ++
1177 src/liblzma/common/filter_decoder.c     |   6 ++
1178 src/liblzma/common/filter_encoder.c     |   9 +++
1179 src/liblzma/lzma/lzma2_encoder.c        |   2 +-
1180 src/liblzma/lzma/lzma_decoder.c         |  26 ++++++-
1181 src/liblzma/lzma/lzma_encoder.c         |  40 +++++++++--
1182 src/liblzma/lzma/lzma_encoder.h         |   3 +-
1183 src/liblzma/lzma/lzma_encoder_private.h |   3 +
1184 9 files changed, 204 insertions(+), 15 deletions(-)
1185
1186commit 9a304bf1e45b3ddf61aaeaa7c764915b34618ede
1187Author: Lasse Collin <lasse.collin@tukaani.org>
1188Date:   2022-11-27 18:43:07 +0200
1189
1190    liblzma: Avoid unneeded use of void pointer in LZMA decoder.
1191
1192 src/liblzma/lzma/lzma_decoder.c | 3 +--
1193 src/liblzma/lzma/lzma_decoder.h | 2 +-
1194 2 files changed, 2 insertions(+), 3 deletions(-)
1195
1196commit 218394958c7683f892275bb40eae880620feebcc
1197Author: Lasse Collin <lasse.collin@tukaani.org>
1198Date:   2022-11-27 18:20:33 +0200
1199
1200    liblzma: Pass the Filter ID to LZ encoder and decoder.
1201
1202    This allows using two Filter IDs with the same
1203    initialization function and data structures.
1204
1205 src/liblzma/common/alone_decoder.c     | 1 +
1206 src/liblzma/common/alone_encoder.c     | 1 +
1207 src/liblzma/common/common.h            | 7 +++++--
1208 src/liblzma/common/lzip_decoder.c      | 1 +
1209 src/liblzma/common/microlzma_decoder.c | 1 +
1210 src/liblzma/common/microlzma_encoder.c | 1 +
1211 src/liblzma/lz/lz_decoder.c            | 5 +++--
1212 src/liblzma/lz/lz_decoder.h            | 3 ++-
1213 src/liblzma/lz/lz_encoder.c            | 5 +++--
1214 src/liblzma/lz/lz_encoder.h            | 3 ++-
1215 src/liblzma/lzma/lzma2_decoder.c       | 3 ++-
1216 src/liblzma/lzma/lzma2_encoder.c       | 3 ++-
1217 src/liblzma/lzma/lzma_decoder.c        | 2 +-
1218 src/liblzma/lzma/lzma_encoder.c        | 2 +-
1219 14 files changed, 26 insertions(+), 12 deletions(-)
1220
1221commit 1663c7676b76f4c514031797f3db1896e8100f7f
1222Author: Lasse Collin <lasse.collin@tukaani.org>
1223Date:   2022-11-27 01:03:16 +0200
1224
1225    liblzma: Remove two FIXME comments.
1226
1227 src/liblzma/common/filter_encoder.c | 4 ++--
1228 1 file changed, 2 insertions(+), 2 deletions(-)
1229
1230commit 11fe708db783ac36ebeeb85da164e29e8c300910
1231Author: Lasse Collin <lasse.collin@tukaani.org>
1232Date:   2022-11-26 22:25:30 +0200
1233
1234    xz: Use lzma_filters_free().
1235
1236 src/xz/list.c | 8 ++------
1237 1 file changed, 2 insertions(+), 6 deletions(-)
1238
1239commit e782af9110d8499c7ac2929bc871540eefea5ea1
1240Author: Lasse Collin <lasse.collin@tukaani.org>
1241Date:   2022-11-26 22:21:13 +0200
1242
1243    liblzma: Use lzma_filters_free() in more places.
1244
1245 src/liblzma/common/block_header_decoder.c | 20 ++------------------
1246 src/liblzma/common/stream_decoder.c       |  4 +---
1247 src/liblzma/common/stream_decoder_mt.c    | 22 +++++-----------------
1248 3 files changed, 8 insertions(+), 38 deletions(-)
1249
1250commit 90caaded2dc6db1d6a55b01160d7e87f4a423628
1251Author: Lasse Collin <lasse.collin@tukaani.org>
1252Date:   2022-11-25 18:04:37 +0200
1253
1254    liblzma: Omit simple coder init functions if they are disabled.
1255
1256 src/liblzma/simple/arm.c      | 4 ++++
1257 src/liblzma/simple/armthumb.c | 4 ++++
1258 src/liblzma/simple/ia64.c     | 4 ++++
1259 src/liblzma/simple/powerpc.c  | 4 ++++
1260 src/liblzma/simple/sparc.c    | 4 ++++
1261 src/liblzma/simple/x86.c      | 4 ++++
1262 6 files changed, 24 insertions(+)
1263
1264commit 5cd9f0df78cc4f8a7807bf6104adea13034fbb45
1265Author: Lasse Collin <lasse.collin@tukaani.org>
1266Date:   2022-11-24 23:24:59 +0200
1267
1268    xz: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
1269
1270    Now that liblzma accepts these, we avoid the extra check and
1271    there's one message less for translators too.
1272
1273 src/xz/options.c | 5 -----
1274 1 file changed, 5 deletions(-)
1275
1276commit 3be88ae071371caa279b44e13f4836fb178fe4ae
1277Author: Lasse Collin <lasse.collin@tukaani.org>
1278Date:   2022-11-24 23:23:55 +0200
1279
1280    liblzma: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
1281
1282    That is, if the specified nice_len is smaller than the minimum
1283    of the match finder, silently use the match finder's minimum value
1284    instead of reporting an error. The old behavior is annoying to users
1285    and it complicates xz options handling too.
1286
1287 src/liblzma/lz/lz_encoder.c     | 14 +++++++++-----
1288 src/liblzma/lz/lz_encoder.h     |  9 +++++++++
1289 src/liblzma/lzma/lzma_encoder.c | 11 ++++++++---
1290 3 files changed, 26 insertions(+), 8 deletions(-)
1291
1292commit 93439cfafe1768b3b18d67d2356ef7e7559bba59
1293Author: Lasse Collin <lasse.collin@tukaani.org>
1294Date:   2022-11-24 16:25:10 +0200
1295
1296    liblzma: Add lzma_filters_update() support to the multi-threaded encoder.
1297
1298    A tiny downside of this is that now a 1-4 tiny allocations are made
1299    for every Block because each worker thread needs its own copy of
1300    the filter chain.
1301
1302 src/liblzma/api/lzma/filter.h          | 36 +++++++------
1303 src/liblzma/common/stream_encoder_mt.c | 96 +++++++++++++++++++++++++++++++---
1304 2 files changed, 109 insertions(+), 23 deletions(-)
1305
1306commit 17ac51e689794eb41cab3e80946fec689caea2d2
1307Author: Lasse Collin <lasse.collin@tukaani.org>
1308Date:   2022-11-24 14:53:22 +0200
1309
1310    Update THANKS.
1311
1312 THANKS | 1 +
1313 1 file changed, 1 insertion(+)
1314
1315commit 06824396b2b6c84f3a235cb7c19c2a9701167797
1316Author: Lasse Collin <lasse.collin@tukaani.org>
1317Date:   2022-11-24 14:52:44 +0200
1318
1319    Build: Don't put GNU/Linux-specific symbol versions into static liblzma.
1320
1321    It not only makes no sense to put symbol versions into a static library
1322    but it can also cause breakage.
1323
1324    By default Libtool #defines PIC if building a shared library and
1325    doesn't define it for static libraries. This is documented in the
1326    Libtool manual. It can be overriden using --with-pic or --without-pic.
1327    configure.ac detects if --with-pic or --without-pic is used and then
1328    gives an error if neither --disable-shared nor --disable-static was
1329    used at the same time. Thus, in normal situations it works to build
1330    both shared and static library at the same time on GNU/Linux,
1331    only --with-pic or --without-pic requires that only one type of
1332    library is built.
1333
1334    Thanks to John Paul Adrian Glaubitz from Debian for reporting
1335    the problem that occurred on ia64:
1336    https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html
1337
1338 CMakeLists.txt              |   5 +-
1339 configure.ac                | 143 +++++++++++++++++++++++++++++---------------
1340 src/liblzma/common/common.h |  12 ++++
1341 3 files changed, 111 insertions(+), 49 deletions(-)
1342
1343commit e1acf7107291f8b3d6d609a7133331ff36d35d14
1344Author: Lasse Collin <lasse.collin@tukaani.org>
1345Date:   2022-11-24 01:32:16 +0200
1346
1347    liblzma: Refactor to use lzma_filters_free().
1348
1349    lzma_filters_free() sets the options to NULL and ids to
1350    LZMA_VLI_UNKNOWN so there is no need to do it by caller;
1351    the filter arrays will always be left in a safe state.
1352
1353    Also use memcpy() instead of a loop to copy a filter chain
1354    when it is known to be safe to copy LZMA_FILTERS_MAX + 1
1355    (even if the elements past the terminator might be uninitialized).
1356
1357 src/liblzma/common/stream_encoder.c    | 16 ++++------------
1358 src/liblzma/common/stream_encoder_mt.c | 11 ++---------
1359 2 files changed, 6 insertions(+), 21 deletions(-)
1360
1361commit cb05dbcf8b868441ec805016222f3fd77f1c5caa
1362Author: Lasse Collin <lasse.collin@tukaani.org>
1363Date:   2022-11-24 01:26:37 +0200
1364
1365    liblzma: Fix another invalid free() after memory allocation failure.
1366
1367    This time it can happen when lzma_stream_encoder_mt() is used
1368    to reinitialize an existing multi-threaded Stream encoder
1369    and one of 1-4 tiny allocations in lzma_filters_copy() fail.
1370
1371    It's very similar to the previous bug
1372    10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with
1373    an array of lzma_filter structures whose old options are freed
1374    but the replacement never arrives due to a memory allocation
1375    failure in lzma_filters_copy().
1376
1377 src/liblzma/common/stream_encoder_mt.c | 4 ++++
1378 1 file changed, 4 insertions(+)
1379
1380commit 75f1a6c26df4ce329da0882786403e3ccf5cd898
1381Author: Jia Tan <jiat0218@gmail.com>
1382Date:   2022-05-05 20:53:42 +0800
1383
1384    liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder.
1385
1386    The documentation mentions that lzma_block_encoder() supports
1387    LZMA_SYNC_FLUSH but it was never added to supported_actions[]
1388    in the internal structure. Because of this, LZMA_SYNC_FLUSH could
1389    not be used with the Block encoder unless it was the next coder
1390    after something like stream_encoder() or stream_encoder_mt().
1391
1392 src/liblzma/common/block_encoder.c | 1 +
1393 1 file changed, 1 insertion(+)
1394
1395commit d0901645170b638c517f5c50866b6ef48f491c65
1396Author: Lasse Collin <lasse.collin@tukaani.org>
1397Date:   2022-11-24 01:02:50 +0200
1398
1399    liblzma: Add new API function lzma_filters_free().
1400
1401    This is small but convenient and should have been added
1402    a long time ago.
1403
1404 src/liblzma/api/lzma/filter.h      | 21 +++++++++++++++++++++
1405 src/liblzma/common/filter_common.c | 26 ++++++++++++++++++++++++++
1406 src/liblzma/liblzma_generic.map    |  1 +
1407 src/liblzma/liblzma_linux.map      |  1 +
1408 4 files changed, 49 insertions(+)
1409
1410commit ae1f8a723dcde2f2c5cf444bcbb5fc5026b3c3c5
1411Author: Lasse Collin <lasse.collin@tukaani.org>
1412Date:   2022-11-24 00:02:31 +0200
1413
1414    CMake: Don't use symbol versioning with static library.
1415
1416 CMakeLists.txt | 10 +++++++---
1417 1 file changed, 7 insertions(+), 3 deletions(-)
1418
1419commit 48c1b99dc537a27e1ca929d8837e778e5ba32191
1420Author: Lasse Collin <lasse.collin@tukaani.org>
1421Date:   2022-11-23 21:55:22 +0200
1422
1423    liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy().
1424
1425 src/liblzma/api/lzma/filter.h | 3 ++-
1426 1 file changed, 2 insertions(+), 1 deletion(-)
1427
1428commit 10430fbf3820dafd4eafd38ec8be161a6978ed2b
1429Author: Lasse Collin <lasse.collin@tukaani.org>
1430Date:   2022-11-23 21:26:21 +0200
1431
1432    liblzma: Fix invalid free() after memory allocation failure.
1433
1434    The bug was in the single-threaded .xz Stream encoder
1435    in the code that is used for both re-initialization and for
1436    lzma_filters_update(). To trigger it, an application had
1437    to either re-initialize an existing encoder instance with
1438    lzma_stream_encoder() or use lzma_filters_update(), and
1439    then one of the 1-4 tiny allocations in lzma_filters_copy()
1440    (called from stream_encoder_update()) must fail. An error
1441    was correctly reported but the encoder state was corrupted.
1442
1443    This is related to the recent fix in
1444    f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but
1445    it wasn't enough to fix the main problem in stream_encoder.c.
1446
1447 src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++--------
1448 1 file changed, 31 insertions(+), 8 deletions(-)
1449
1450commit cafd6dc397ca8b5b5f7775e8d6876b8fe70f8e70
1451Author: Lasse Collin <lasse.collin@tukaani.org>
1452Date:   2022-11-22 16:37:15 +0200
1453
1454    liblzma: Fix language in a comment.
1455
1456 src/liblzma/common/stream_encoder.c | 2 +-
1457 1 file changed, 1 insertion(+), 1 deletion(-)
1458
1459commit c392bf8ccba857baaf50399c4b460119befacd54
1460Author: Lasse Collin <lasse.collin@tukaani.org>
1461Date:   2022-11-22 11:20:17 +0200
1462
1463    liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB.
1464
1465    The encoder doesn't support dictionary sizes larger than 1536 MiB.
1466    This is validated, for example, when calculating the memory usage
1467    via lzma_raw_encoder_memusage(). It is also enforced by the LZ
1468    part of the encoder initialization. However, LZMA encoder with
1469    LZMA_MODE_NORMAL did an unsafe calculation with dict_size before
1470    such validation and that results in an infinite loop if dict_size
1471    was 2 << 30 or greater.
1472
1473 src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++----
1474 1 file changed, 15 insertions(+), 4 deletions(-)
1475
1476commit f50534c973a591ccf65485adfc827a8a7126ca6c
1477Author: Lasse Collin <lasse.collin@tukaani.org>
1478Date:   2022-11-21 13:02:33 +0200
1479
1480    liblzma: Fix two Doxygen commands in the API headers.
1481
1482    These were caught by clang -Wdocumentation.
1483
1484 src/liblzma/api/lzma/hardware.h   | 2 +-
1485 src/liblzma/api/lzma/index_hash.h | 2 +-
1486 2 files changed, 2 insertions(+), 2 deletions(-)
1487
1488commit 649d4872ed2f55196114a061d45b416fc4353569
1489Author: Lasse Collin <lasse.collin@tukaani.org>
1490Date:   2022-11-19 19:09:55 +0200
1491
1492    xz: Refactor duplicate code from hardware_memlimit_mtenc_get().
1493
1494 src/xz/hardware.c | 2 +-
1495 1 file changed, 1 insertion(+), 1 deletion(-)
1496
1497commit d327743bb547a53364e5951a16e5f1663fe4b9ff
1498Author: Lasse Collin <lasse.collin@tukaani.org>
1499Date:   2022-11-19 19:06:13 +0200
1500
1501    xz: Add support --threads=+N so that -T+1 gives threaded mode.
1502
1503 src/xz/args.c     | 18 +++++++++++++++---
1504 src/xz/hardware.c | 17 +++++++++++++++--
1505 src/xz/hardware.h |  1 +
1506 src/xz/xz.1       | 21 ++++++++++++++++++++-
1507 4 files changed, 51 insertions(+), 6 deletions(-)
1508
1509commit a11a2b8b5e830ba682c1d81aaa7078842b296995
1510Author: Jia Tan <jiat0218@gmail.com>
1511Date:   2022-11-19 23:18:04 +0800
1512
1513    CMake: Adds test_memlimit to CMake tests
1514
1515 CMakeLists.txt | 1 +
1516 1 file changed, 1 insertion(+)
1517
1518commit 2af8d9e9b3f44f62d19e7c39297ec63af2e8c64f
1519Author: Lasse Collin <lasse.collin@tukaani.org>
1520Date:   2022-11-15 19:10:21 +0200
1521
1522    Translations: Update the Korean translation.
1523
1524 po/ko.po | 652 ++++++++++++++++++++++++++++++++++++---------------------------
1525 1 file changed, 371 insertions(+), 281 deletions(-)
1526
1527commit 16ac05677292f7e21a4feaddcfb2ab062ea5f385
1528Author: Lasse Collin <lasse.collin@tukaani.org>
1529Date:   2022-11-15 19:09:28 +0200
1530
1531    Translations: Update the Turkish translation.
1532
1533 po/tr.po | 568 ++++++++++++++++++++++++++++++++++-----------------------------
1534 1 file changed, 310 insertions(+), 258 deletions(-)
1535
1536commit b9a67d9a5fa207062d4aa8a01639234609315d31
1537Author: Lasse Collin <lasse.collin@tukaani.org>
1538Date:   2022-11-15 10:58:39 +0200
1539
1540    Bump version number for 5.3.4alpha.
1541
1542 src/liblzma/api/lzma/version.h  | 2 +-
1543 src/liblzma/liblzma_generic.map | 2 +-
1544 src/liblzma/liblzma_linux.map   | 2 +-
1545 3 files changed, 3 insertions(+), 3 deletions(-)
1546
1547commit 5b999ba289b3280457b7386b9ac65dbbdf1575a5
1548Author: Lasse Collin <lasse.collin@tukaani.org>
1549Date:   2022-11-15 10:54:40 +0200
1550
1551    Add NEWS for 5.3.4alpha.
1552
1553 NEWS | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1554 1 file changed, 96 insertions(+)
1555
1556commit ce8db9e37da4f6c87691c5066f51f91f2411c44a
1557Author: Lasse Collin <lasse.collin@tukaani.org>
1558Date:   2022-11-15 10:54:08 +0200
1559
1560    Add NEWS for 5.2.8.
1561
1562 NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1563 1 file changed, 79 insertions(+)
1564
1565commit b56bc8251d2736224af6bdaaae734ceb8926a879
1566Author: Lasse Collin <lasse.collin@tukaani.org>
1567Date:   2022-11-14 23:19:57 +0200
1568
1569    Revert "liblzma: Simple/BCJ filters: Allow disabling generic BCJ options."
1570
1571    This reverts commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
1572    and also does equivalent change to arm64.c.
1573
1574    Now that ARM64 filter will use lzma_options_bcj, this change
1575    is not needed anymore.
1576
1577 src/liblzma/simple/arm.c            | 2 +-
1578 src/liblzma/simple/arm64.c          | 2 +-
1579 src/liblzma/simple/armthumb.c       | 2 +-
1580 src/liblzma/simple/ia64.c           | 2 +-
1581 src/liblzma/simple/powerpc.c        | 2 +-
1582 src/liblzma/simple/simple_coder.c   | 4 ++--
1583 src/liblzma/simple/simple_private.h | 2 +-
1584 src/liblzma/simple/sparc.c          | 2 +-
1585 src/liblzma/simple/x86.c            | 3 +--
1586 9 files changed, 10 insertions(+), 11 deletions(-)
1587
1588commit 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35
1589Author: Lasse Collin <lasse.collin@tukaani.org>
1590Date:   2022-11-14 23:14:41 +0200
1591
1592    Replace the experimental ARM64 filter with a new experimental version.
1593
1594    This is incompatible with the previous version.
1595
1596    This has space/tab fixes in filter_*.c and bcj.h too.
1597
1598 src/liblzma/api/lzma/bcj.h          |  41 +-----
1599 src/liblzma/common/filter_common.c  |  14 +-
1600 src/liblzma/common/filter_decoder.c |  12 +-
1601 src/liblzma/common/filter_encoder.c |  17 +--
1602 src/liblzma/simple/arm64.c          | 283 ++++++++++++++----------------------
1603 src/liblzma/simple/simple_decoder.h |   4 -
1604 src/liblzma/simple/simple_encoder.h |   2 -
1605 src/xz/args.c                       |   2 +-
1606 src/xz/message.c                    |  13 +-
1607 src/xz/options.c                    |  39 -----
1608 src/xz/options.h                    |   7 -
1609 11 files changed, 147 insertions(+), 287 deletions(-)
1610
1611commit f644473a211394447824ea00518d0a214ff3f7f2
1612Author: Lasse Collin <lasse.collin@tukaani.org>
1613Date:   2022-11-14 21:34:57 +0200
1614
1615    liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL.
1616
1617    It also works on E2K as it supports these intrinsics.
1618
1619    On x86-64 runtime detection is used so the code keeps working on
1620    older processors too. A CLMUL-only build can be done by using
1621    -msse4.1 -mpclmul in CFLAGS and this will reduce the library
1622    size since the generic implementation and its 8 KiB lookup table
1623    will be omitted.
1624
1625    On 32-bit x86 this isn't used by default for now because by default
1626    on 32-bit x86 the separate assembly file crc64_x86.S is used.
1627    If --disable-assembler is used then this new CLMUL code is used
1628    the same way as on 64-bit x86. However, a CLMUL-only build
1629    (-msse4.1 -mpclmul) won't omit the 8 KiB lookup table on
1630    32-bit x86 due to a currently-missing check for disabled
1631    assembler usage.
1632
1633    The configure.ac check should be such that the code won't be
1634    built if something in the toolchain doesn't support it but
1635    --disable-clmul-crc option can be used to unconditionally
1636    disable this feature.
1637
1638    CLMUL speeds up decompression of files that have compressed very
1639    well (assuming CRC64 is used as a check type). It is know that
1640    the CLMUL code is significantly slower than the generic code for
1641    tiny inputs (especially 1-8 bytes but up to 16 bytes). If that
1642    is a real-world problem then there is already a commented-out
1643    variant that uses the generic version for small inputs.
1644
1645    Thanks to Ilya Kurdyukov for the original patch which was
1646    derived from a white paper from Intel [1] (published in 2009)
1647    and public domain code from [2] (released in 2016).
1648
1649    [1] https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf
1650    [2] https://github.com/rawrunprotected/crc
1651
1652 CMakeLists.txt                  |  26 ++-
1653 INSTALL                         |  12 ++
1654 configure.ac                    |  59 +++++-
1655 src/liblzma/check/crc64_fast.c  | 449 +++++++++++++++++++++++++++++++++++++++-
1656 src/liblzma/check/crc64_table.c |  21 +-
1657 5 files changed, 554 insertions(+), 13 deletions(-)
1658
1659commit 3b466bc79672bb2b06d1245a500588e6026e0ba0
1660Author: Lasse Collin <lasse.collin@tukaani.org>
1661Date:   2022-11-14 20:14:34 +0200
1662
1663    Translations: Update the Swedish translation one more time.
1664
1665 po/sv.po | 6 +++---
1666 1 file changed, 3 insertions(+), 3 deletions(-)
1667
1668commit e963379a8622ebdff6ce78e76b803bcd1e1d16d6
1669Author: Lasse Collin <lasse.collin@tukaani.org>
1670Date:   2022-11-14 19:34:15 +0200
1671
1672    Translations: Update the Swedish translation again.
1673
1674 po/sv.po | 16 ++++++++--------
1675 1 file changed, 8 insertions(+), 8 deletions(-)
1676
1677commit a4bc689a823a2254f29ac9d233170add5121b307
1678Author: Lasse Collin <lasse.collin@tukaani.org>
1679Date:   2022-11-14 19:07:45 +0200
1680
1681    Translations: Update the Swedish translation.
1682
1683 po/sv.po | 671 ++++++++++++++++++++++++++++++++++++---------------------------
1684 1 file changed, 382 insertions(+), 289 deletions(-)
1685
1686commit bbf2073d824ab4ba33bed4b77f467435abd333a5
1687Author: Lasse Collin <lasse.collin@tukaani.org>
1688Date:   2022-11-14 18:58:09 +0200
1689
1690    Translations: Update the Ukrainian translation.
1691
1692 po/uk.po | 618 ++++++++++++++++++++++++++++++++++++---------------------------
1693 1 file changed, 354 insertions(+), 264 deletions(-)
1694
1695commit ac10b1b3622e70881595586edfb8a3ebdcd76bb6
1696Author: Lasse Collin <lasse.collin@tukaani.org>
1697Date:   2022-11-14 17:58:07 +0200
1698
1699    Build: Omit x86_64 from --enable-assembler.
1700
1701    It didn't do anything. There are only 32-bit x86 assembly files
1702    and it feels likely that new files won't be added as intrinsics
1703    in C are more portable across toolchains and OSes.
1704
1705 configure.ac | 6 ++----
1706 1 file changed, 2 insertions(+), 4 deletions(-)
1707
1708commit eb0f1450ad9f23dac03050d9c8375980240aee21
1709Author: Lasse Collin <lasse.collin@tukaani.org>
1710Date:   2022-11-14 16:00:52 +0200
1711
1712    liblzma: Use __attribute__((__constructor__)) if available.
1713
1714    This uses it for CRC table initializations when using --disable-small.
1715    It avoids mythread_once() overhead. It also means that then
1716    --disable-small --disable-threads is thread-safe if this attribute
1717    is supported.
1718
1719 CMakeLists.txt                  | 15 +++++++++++++++
1720 INSTALL                         |  4 +++-
1721 configure.ac                    | 31 ++++++++++++++++++++++++++++---
1722 src/liblzma/check/crc32_small.c |  7 +++++++
1723 src/liblzma/check/crc64_small.c |  5 +++++
1724 src/liblzma/lz/lz_encoder.c     |  2 +-
1725 6 files changed, 59 insertions(+), 5 deletions(-)
1726
1727commit 6553f49b11dafad35c73b05f12e14865ea1fd8a1
1728Author: Lasse Collin <lasse.collin@tukaani.org>
1729Date:   2022-11-12 21:19:52 +0200
1730
1731    Translations: Update the Romanian translation.
1732
1733 po/ro.po | 651 +++++++++++++++++++++++++++++++++++++--------------------------
1734 1 file changed, 380 insertions(+), 271 deletions(-)
1735
1736commit db97e69e12393becc29f8febd53133d0d36989bd
1737Author: Lasse Collin <lasse.collin@tukaani.org>
1738Date:   2022-11-12 21:17:45 +0200
1739
1740    Translations: Update the Hungarian translation.
1741
1742 po/hu.po | 625 ++++++++++++++++++++++++++++++++++++---------------------------
1743 1 file changed, 357 insertions(+), 268 deletions(-)
1744
1745commit 2bbb9c0f3829a8b121b36998d273a6c6f92000f4
1746Author: Lasse Collin <lasse.collin@tukaani.org>
1747Date:   2022-11-11 17:58:57 +0200
1748
1749    Translations: Update the Finnish translation.
1750
1751 po/fi.po | 610 ++++++++++++++++++++++++++++++++++++---------------------------
1752 1 file changed, 348 insertions(+), 262 deletions(-)
1753
1754commit 3c8cbb8137b6f8ed9416c1209d73cdbcb015251f
1755Author: Lasse Collin <lasse.collin@tukaani.org>
1756Date:   2022-11-11 17:58:18 +0200
1757
1758    Translations: Update the Croatian translation.
1759
1760 po/hr.po | 680 +++++++++++++++++++++++++++++++++++----------------------------
1761 1 file changed, 381 insertions(+), 299 deletions(-)
1762
1763commit 26c3359eac0988d6f3986735cd1363bec1678e8e
1764Author: Lasse Collin <lasse.collin@tukaani.org>
1765Date:   2022-11-11 17:57:18 +0200
1766
1767    Translations: Update the Polish translation.
1768
1769 po/pl.po | 569 ++++++++++++++++++++++++++++++++++-----------------------------
1770 1 file changed, 309 insertions(+), 260 deletions(-)
1771
1772commit 577e467b137c735afb8de6ae71ac7a73c2960cc4
1773Author: Lasse Collin <lasse.collin@tukaani.org>
1774Date:   2022-11-11 17:56:44 +0200
1775
1776    Translations: Update the Spanish translation.
1777
1778 po/es.po | 598 ++++++++++++++++++++++++++++++++++++---------------------------
1779 1 file changed, 344 insertions(+), 254 deletions(-)
1780
1781commit f9b4ff6e9a0f1678650775582d3e4fe782abce97
1782Author: Lasse Collin <lasse.collin@tukaani.org>
1783Date:   2022-11-11 17:16:03 +0200
1784
1785    Update THANKS.
1786
1787 THANKS | 1 +
1788 1 file changed, 1 insertion(+)
1789
1790commit a39961ef211e1bf030b17edeea3cff29fe263b67
1791Author: Lasse Collin <lasse.collin@tukaani.org>
1792Date:   2022-11-11 17:15:25 +0200
1793
1794    liblzma: Fix building with Intel ICC (the classic compiler).
1795
1796    It claims __GNUC__ >= 10 but doesn't support __symver__ attribute.
1797
1798    Thanks to Stephen Sachs.
1799
1800 src/liblzma/common/common.h | 2 +-
1801 1 file changed, 1 insertion(+), 1 deletion(-)
1802
1803commit c715f683dcb1a817d565da292cddfbceda643e12
1804Author: Lasse Collin <lasse.collin@tukaani.org>
1805Date:   2022-11-11 14:35:58 +0200
1806
1807    liblzma: Fix incorrect #ifdef for x86 SSE2 support.
1808
1809    __SSE2__ is the correct macro for SSE2 support with GCC, Clang,
1810    and ICC. __SSE2_MATH__ means doing floating point math with SSE2
1811    instead of 387. Often the latter macro is defined if the first
1812    one is but it was still a bug.
1813
1814 src/liblzma/common/memcmplen.h | 3 +--
1815 1 file changed, 1 insertion(+), 2 deletions(-)
1816
1817commit bd334ae56afe7f642ad4d0f1ac19e74e82daa1ce
1818Author: Lasse Collin <lasse.collin@tukaani.org>
1819Date:   2022-11-11 13:27:06 +0200
1820
1821    Add NEWS for 5.2.7 (forgotten cherry-pick from v5.2).
1822
1823 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1824 1 file changed, 74 insertions(+)
1825
1826commit 3c7860cf49de6f81046b3a4034a89f3a4803a576
1827Author: Lasse Collin <lasse.collin@tukaani.org>
1828Date:   2022-11-11 13:16:21 +0200
1829
1830    xzdiff: Add support for .lz files.
1831
1832    The other scripts don't need changes for .lz support because
1833    in those scripts it is enough that xz supports .lz.
1834
1835 src/scripts/xzdiff.in | 10 +++++-----
1836 1 file changed, 5 insertions(+), 5 deletions(-)
1837
1838commit d76c752a6d77052e5ad57ade555082585f7ac5d8
1839Author: Lasse Collin <lasse.collin@tukaani.org>
1840Date:   2022-11-11 12:23:58 +0200
1841
1842    Scripts: Ignore warnings from xz.
1843
1844    In practice this means making the scripts work when
1845    the input files have an unsupported check type which
1846    isn't a problem in practice unless support for
1847    some check types has been disabled at build time.
1848
1849 src/scripts/xzdiff.in | 5 +++--
1850 src/scripts/xzgrep.in | 2 +-
1851 src/scripts/xzless.in | 4 ++--
1852 src/scripts/xzmore.in | 4 ++--
1853 4 files changed, 8 insertions(+), 7 deletions(-)
1854
1855commit 6552535afd1fe29d726ab6e68cf14ce3624fd48c
1856Author: Lasse Collin <lasse.collin@tukaani.org>
1857Date:   2022-11-10 12:34:43 +0200
1858
1859    Translations: Rename poa4/fr_FR.po to po4a/fr.po.
1860
1861    That's how it is preferred at the Translation Project.
1862    On my system /usr/share/man/fr_FR doesn't contain any
1863    other man pages than XZ Utils while /usr/share/man/fr
1864    has quite a few, so this will fix that too.
1865
1866    Thanks to Benno Schulenberg from the Translation Project.
1867
1868 po4a/{fr_FR.po => fr.po} | 0
1869 po4a/po4a.conf           | 2 +-
1870 2 files changed, 1 insertion(+), 1 deletion(-)
1871
1872commit 0918159ce4c75bfb60aff0193b559f8a9f41d25a
1873Author: Lasse Collin <lasse.collin@tukaani.org>
1874Date:   2022-11-09 18:48:50 +0200
1875
1876    xz: Update the man page about BCJ filters, including upcoming --arm64.
1877
1878    The --arm64 isn't actually implemented yet in the form
1879    described in this commit.
1880
1881    Thanks to Jia Tan.
1882
1883 src/xz/xz.1 | 66 +++++++++++++++++++++++++++----------------------------------
1884 1 file changed, 29 insertions(+), 37 deletions(-)
1885
1886commit ba2ae3596f6be1587495f33b367488f6e00e56f1
1887Author: Lasse Collin <lasse.collin@tukaani.org>
1888Date:   2022-11-09 18:14:14 +0200
1889
1890    xz: Add --arm64 to --long-help and omit endianness from ARM(-Thumb).
1891
1892    Modern 32-bit ARM in big endian mode use little endian for
1893    instruction encoding still, so the filters work on such
1894    executables too. It's likely less confusing for users this way.
1895
1896    The --arm64 option hasn't been implemented yet (there is
1897    --experimental-arm64 but it's different). The --arm64 option
1898    is added now anyway because this is the likely result and the
1899    strings need to be ready for translators.
1900
1901    Thanks to Jia Tan.
1902
1903 src/xz/message.c | 5 +++--
1904 1 file changed, 3 insertions(+), 2 deletions(-)
1905
1906commit 802d57d9215d9c81dbee86edb43c9e93a7f7ec55
1907Author: Lasse Collin <lasse.collin@tukaani.org>
1908Date:   2022-11-09 15:12:13 +0200
1909
1910    Windows: Update the VS project files for ARM64 and .lz support.
1911
1912 windows/vs2013/config.h            | 9 +++++++++
1913 windows/vs2013/liblzma.vcxproj     | 5 ++++-
1914 windows/vs2013/liblzma_dll.vcxproj | 5 ++++-
1915 windows/vs2017/config.h            | 9 +++++++++
1916 windows/vs2017/liblzma.vcxproj     | 3 +++
1917 windows/vs2017/liblzma_dll.vcxproj | 3 +++
1918 windows/vs2019/config.h            | 9 +++++++++
1919 windows/vs2019/liblzma.vcxproj     | 5 ++++-
1920 windows/vs2019/liblzma_dll.vcxproj | 5 ++++-
1921 9 files changed, 49 insertions(+), 4 deletions(-)
1922
1923commit 5846aeda05972bc803c6094821ae836229ebe691
1924Author: Lasse Collin <lasse.collin@tukaani.org>
1925Date:   2022-11-09 14:57:48 +0200
1926
1927    DOS: Update Makefile and config.h to include ARM64 and .lz support.
1928
1929 dos/Makefile | 2 ++
1930 dos/config.h | 9 +++++++++
1931 2 files changed, 11 insertions(+)
1932
1933commit 781da8d6c44de6aa278c916375250668a0b107f2
1934Author: Lasse Collin <lasse.collin@tukaani.org>
1935Date:   2022-11-09 14:45:05 +0200
1936
1937    CMake: Add lzip decoder files and #define to the build.
1938
1939 CMakeLists.txt | 3 +++
1940 1 file changed, 3 insertions(+)
1941
1942commit df8ad4af65a9c4846b108550d0083770a69dee64
1943Author: Lasse Collin <lasse.collin@tukaani.org>
1944Date:   2022-11-09 14:41:56 +0200
1945
1946    Docs: Update INSTALL and also add new prohibited options to PACKAGERS.
1947
1948 INSTALL   | 49 +++++++++++++++++++++++++++++++++++++++++--------
1949 PACKAGERS |  2 ++
1950 2 files changed, 43 insertions(+), 8 deletions(-)
1951
1952commit c8ef089c149afaab413c3a51be827dd1d11afe0e
1953Author: Lasse Collin <lasse.collin@tukaani.org>
1954Date:   2022-10-20 17:39:06 +0300
1955
1956    Tests: Test the .lz files in test_files.sh.
1957
1958 tests/test_files.sh | 25 +++++++++++++++++++++++++
1959 1 file changed, 25 insertions(+)
1960
1961commit c8f70ebb4628ceb6cb29cc9195d9deadf69d2bd7
1962Author: Lasse Collin <lasse.collin@tukaani.org>
1963Date:   2022-10-20 15:35:59 +0300
1964
1965    Tests: Add .lz (lzip) test files.
1966
1967 tests/files/README                     | 109 +++++++++++++++++++++++++++++----
1968 tests/files/bad-1-v0-uncomp-size.lz    | Bin 0 -> 42 bytes
1969 tests/files/bad-1-v1-crc32.lz          | Bin 0 -> 50 bytes
1970 tests/files/bad-1-v1-dict-1.lz         | Bin 0 -> 50 bytes
1971 tests/files/bad-1-v1-dict-2.lz         | Bin 0 -> 50 bytes
1972 tests/files/bad-1-v1-magic-1.lz        | Bin 0 -> 50 bytes
1973 tests/files/bad-1-v1-magic-2.lz        | Bin 0 -> 50 bytes
1974 tests/files/bad-1-v1-member-size.lz    | Bin 0 -> 50 bytes
1975 tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes
1976 tests/files/bad-1-v1-uncomp-size.lz    | Bin 0 -> 50 bytes
1977 tests/files/good-1-v0-trailing-1.lz    | Bin 0 -> 59 bytes
1978 tests/files/good-1-v0.lz               | Bin 0 -> 42 bytes
1979 tests/files/good-1-v1-trailing-1.lz    | Bin 0 -> 67 bytes
1980 tests/files/good-1-v1-trailing-2.lz    | Bin 0 -> 70 bytes
1981 tests/files/good-1-v1.lz               | Bin 0 -> 50 bytes
1982 tests/files/good-2-v0-v1.lz            | Bin 0 -> 78 bytes
1983 tests/files/good-2-v1-v0.lz            | Bin 0 -> 78 bytes
1984 tests/files/good-2-v1-v1.lz            | Bin 0 -> 86 bytes
1985 tests/files/unsupported-1-v234.lz      | Bin 0 -> 50 bytes
1986 19 files changed, 98 insertions(+), 11 deletions(-)
1987
1988commit 731db13e6fa3ad3e3fc786c0ccf6eac4cce6865f
1989Author: Lasse Collin <lasse.collin@tukaani.org>
1990Date:   2022-10-19 22:32:51 +0300
1991
1992    xz: Remove the commented-out FORMAT_GZIP, gzip, .gz, and .tgz.
1993
1994 src/xz/args.c   | 2 --
1995 src/xz/coder.h  | 1 -
1996 src/xz/suffix.c | 9 ---------
1997 3 files changed, 12 deletions(-)
1998
1999commit 3176f992c55b8d788c4633809aaf9447376a5a12
2000Author: Lasse Collin <lasse.collin@tukaani.org>
2001Date:   2022-10-08 21:28:15 +0300
2002
2003    xz: Add .lz (lzip) decompression support.
2004
2005    If configured with --disable-lzip-decoder then --long-help will
2006    still list `lzip' in --format but I left it like that since
2007    due to translations it would be messy to have two help strings.
2008    Features are disabled only in special situations so wrong help
2009    in such a situation shouldn't matter much.
2010
2011    Thanks to Michał Górny for the original patch.
2012
2013 src/xz/args.c    |  9 ++++++++
2014 src/xz/coder.c   | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
2015 src/xz/coder.h   |  3 +++
2016 src/xz/message.c |  2 +-
2017 src/xz/suffix.c  | 26 ++++++++++++++++++----
2018 src/xz/xz.1      | 46 +++++++++++++++++++++++++++++++++-----
2019 6 files changed, 141 insertions(+), 13 deletions(-)
2020
2021commit 034086e1ae1459210837a24e04878435c86dc41b
2022Author: Lasse Collin <lasse.collin@tukaani.org>
2023Date:   2022-10-08 00:29:20 +0300
2024
2025    liblzma: Add .lz support to lzma_auto_decoder().
2026
2027    Thanks to Michał Górny for the original patch.
2028
2029 src/liblzma/api/lzma/container.h  | 10 ++++++----
2030 src/liblzma/common/Makefile.inc   |  3 ++-
2031 src/liblzma/common/auto_decoder.c | 23 +++++++++++++++++------
2032 src/liblzma/common/lzip_decoder.h | 22 ++++++++++++++++++++++
2033 4 files changed, 47 insertions(+), 11 deletions(-)
2034
2035commit 0538db038f3cdc352007dacb42454aa1806b8e40
2036Author: Lasse Collin <lasse.collin@tukaani.org>
2037Date:   2022-10-06 15:50:20 +0300
2038
2039    liblzma: Add .lz (lzip) decompression support (format versions 0 and 1).
2040
2041    Support for format version 0 was removed from lzip 1.18 for some
2042    reason. .lz format version 0 files are rare (and old) but some
2043    source packages were released in this format, and some people might
2044    have personal files in this format too. It's very little extra code
2045    to support it along side format version 1 so this commits adds
2046    support for both.
2047
2048    The Sync Flush marker extentension to the original .lz format
2049    version 1 isn't supported. It would require changes to the
2050    LZMA decoder itself. Such files are very rare anyway.
2051
2052    See the API doc for lzma_lzip_decoder() for more details about
2053    the .lz format support.
2054
2055    Thanks to Michał Górny for the original patch.
2056
2057 configure.ac                      |  21 ++
2058 src/liblzma/api/lzma/container.h  |  62 +++++-
2059 src/liblzma/common/Makefile.inc   |   5 +
2060 src/liblzma/common/lzip_decoder.c | 413 ++++++++++++++++++++++++++++++++++++++
2061 src/liblzma/liblzma_generic.map   |   1 +
2062 src/liblzma/liblzma_linux.map     |   1 +
2063 6 files changed, 501 insertions(+), 2 deletions(-)
2064
2065commit 633d48a075b9ce4b9c08a7a56a7eb4cabc18100c
2066Author: Lasse Collin <lasse.collin@tukaani.org>
2067Date:   2022-11-09 14:17:23 +0200
2068
2069    liblzma: Add the missing Makefile.inc change for --disable-microlzma.
2070
2071    This was forgotten from commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8.
2072
2073 src/liblzma/common/Makefile.inc | 12 ++++++++++--
2074 1 file changed, 10 insertions(+), 2 deletions(-)
2075
2076commit 724285dadbdc88765c8fb83eab9816575a260966
2077Author: Lasse Collin <lasse.collin@tukaani.org>
2078Date:   2022-11-09 14:10:52 +0200
2079
2080    xz: Add comments about stdin and src_st.st_size.
2081
2082    "xz -v < regular_file > out.xz" doesn't display the percentage
2083    and estimated remaining time because it doesn't even try to
2084    check the input file size when input is read from stdin.
2085    This could be improved but for now there's just a comment
2086    to remind about it.
2087
2088 src/xz/coder.c   | 9 +++++++++
2089 src/xz/file_io.c | 4 ++++
2090 2 files changed, 13 insertions(+)
2091
2092commit f723eec68b0e44234910f669a29119de33018967
2093Author: Lasse Collin <lasse.collin@tukaani.org>
2094Date:   2022-11-09 12:48:22 +0200
2095
2096    xz: Fix displaying of file sizes in progress indicator in passthru mode.
2097
2098    It worked for one input file since the counters are zero when
2099    xz starts but they weren't reset when starting a new file in
2100    passthru mode. For example, if files A, B, and C are one byte each,
2101    then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes
2102    instead of 1, 1, and 1 byte.
2103
2104 src/xz/coder.c | 6 +++++-
2105 1 file changed, 5 insertions(+), 1 deletion(-)
2106
2107commit 69265d0f223ddf1d66f799b8b047df22923e376f
2108Author: Lasse Collin <lasse.collin@tukaani.org>
2109Date:   2022-11-09 11:27:20 +0200
2110
2111    xz: Add a comment why --to-stdout is not in --help.
2112
2113    It is on the man page still.
2114
2115 src/xz/message.c | 3 +++
2116 1 file changed, 3 insertions(+)
2117
2118commit fe6b8852a3c6a0eb5a3c33512e0a69af257d3bc7
2119Author: Lasse Collin <lasse.collin@tukaani.org>
2120Date:   2022-11-08 23:05:37 +0200
2121
2122    xz: Make xz -lvv show that the upcoming --arm64 needs 5.4.0 to decompress.
2123
2124 src/xz/list.c | 20 +++++++++++++++-----
2125 1 file changed, 15 insertions(+), 5 deletions(-)
2126
2127commit fb3f05ac9f2b4b0e3643401960fbeab31997ac7a
2128Author: Lasse Collin <lasse.collin@tukaani.org>
2129Date:   2022-11-08 22:26:54 +0200
2130
2131    Docs: Update faq.txt a little.
2132
2133 doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++---------------------
2134 1 file changed, 43 insertions(+), 23 deletions(-)
2135
2136commit 05331f091ec3b68eccbfb2a9a7a576072768fb4b
2137Author: Lasse Collin <lasse.collin@tukaani.org>
2138Date:   2022-11-08 16:57:17 +0200
2139
2140    Translations: Update Turkish translation.
2141
2142 po/tr.po | 2 +-
2143 1 file changed, 1 insertion(+), 1 deletion(-)
2144
2145commit ed3a4822963b4940d84e6f44d47277c394fc046d
2146Author: Lasse Collin <lasse.collin@tukaani.org>
2147Date:   2022-11-08 14:55:32 +0200
2148
2149    Translations: Update Croatian translation.
2150
2151 po/hr.po | 190 ++++++++++++++++++++++++++++++++-------------------------------
2152 1 file changed, 96 insertions(+), 94 deletions(-)
2153
2154commit 4746f5ec721316bc4c6fec9905b2902e0360e0af
2155Author: Lasse Collin <lasse.collin@tukaani.org>
2156Date:   2022-11-08 14:13:03 +0200
2157
2158    liblzma: Update API docs about decoder flags.
2159
2160 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++----
2161 1 file changed, 17 insertions(+), 4 deletions(-)
2162
2163commit 8779a9db5d0cec00c9dc9e9965dd2dda04f9d80d
2164Author: Lasse Collin <lasse.collin@tukaani.org>
2165Date:   2022-11-08 14:01:50 +0200
2166
2167    liblzma: Use the return_if_error() macro in alone_decoder.c.
2168
2169 src/liblzma/common/alone_decoder.c | 6 ++----
2170 1 file changed, 2 insertions(+), 4 deletions(-)
2171
2172commit 3f4990b6822961e75cd9b4e2e82b1df63f6f8fcc
2173Author: Lasse Collin <lasse.collin@tukaani.org>
2174Date:   2022-11-08 14:00:58 +0200
2175
2176    liblzma: Fix a comment in auto_decoder.c.
2177
2178 src/liblzma/common/auto_decoder.c | 4 ++--
2179 1 file changed, 2 insertions(+), 2 deletions(-)
2180
2181commit 026a5897c72a2041ae08ceec54ce8b1cdeb51334
2182Author: Lasse Collin <lasse.collin@tukaani.org>
2183Date:   2022-11-08 13:43:19 +0200
2184
2185    xz: Initialize the pledge(2) sandbox at the very beginning of main().
2186
2187    It feels better that the initializations are sandboxed too.
2188    They don't do anything that the pledge() call wouldn't allow.
2189
2190 src/xz/main.c | 27 ++++++++++++++-------------
2191 1 file changed, 14 insertions(+), 13 deletions(-)
2192
2193commit 49a59f6ca001c3ce9affa2c162b437aad021b4d5
2194Author: Lasse Collin <lasse.collin@tukaani.org>
2195Date:   2022-11-07 22:51:16 +0200
2196
2197    xz: Extend --robot --info-memory output.
2198
2199    Now it includes everything that the human-readable --info-memory shows.
2200
2201 src/xz/hardware.c | 24 +++++++++++++++---------
2202 src/xz/xz.1       | 47 +++++++++++++++++++++++++++++++++++++++++------
2203 2 files changed, 56 insertions(+), 15 deletions(-)
2204
2205commit 5e2450c75cbac966c62cf2231c824f2cc91ddba8
2206Author: Lasse Collin <lasse.collin@tukaani.org>
2207Date:   2022-11-07 17:22:04 +0200
2208
2209    liblzma: Include cached memory in reported memusage in threaded decoder.
2210
2211    This affects lzma_memusage() and lzma_memlimit_set() when used
2212    with the threaded decompressor. Now all allocations are reported
2213    by lzma_memusage() (so it's not misleading) and lzma_memlimit_set()
2214    cannot lower the limit below that value.
2215
2216    The alternative would have been to allow lowering the limit if
2217    doing so is possible by freeing the cached memory but since
2218    the primary use case of lzma_memlimit_set() is to increase
2219    memlimit after LZMA_MEMLIMIT_ERROR this simple approach
2220    was selected.
2221
2222    The cached memory was always included when enforcing
2223    the memory usage limit while decoding.
2224
2225    Thanks to Jia Tan.
2226
2227 src/liblzma/common/stream_decoder_mt.c | 22 +++++++++++++++++++---
2228 1 file changed, 19 insertions(+), 3 deletions(-)
2229
2230commit 1fc6e7dd1fabdb60124d449b99273330ccab3ff1
2231Author: Jia Tan <jiat0218@gmail.com>
2232Date:   2022-11-07 16:24:14 +0200
2233
2234    xz: Avoid a compiler warning in progress_speed() in message.c.
2235
2236    This should be smaller too since it avoids the string constants.
2237
2238 src/xz/message.c | 9 +++------
2239 1 file changed, 3 insertions(+), 6 deletions(-)
2240
2241commit cf118c014683069b5dbe91898acdc40f2f0a1f5d
2242Author: Lasse Collin <lasse.collin@tukaani.org>
2243Date:   2022-10-31 16:26:05 +0200
2244
2245    Build: Clarify comment in configure.ac about SSE2.
2246
2247 configure.ac | 5 ++++-
2248 1 file changed, 4 insertions(+), 1 deletion(-)
2249
2250commit aad3c609ffb72f581a7a2b67be3ad70b2b327840
2251Author: Lasse Collin <lasse.collin@tukaani.org>
2252Date:   2022-10-31 16:16:37 +0200
2253
2254    Build: Remove obsolete commented-out lines from configure.ac.
2255
2256 configure.ac | 4 ----
2257 1 file changed, 4 deletions(-)
2258
2259commit e53e0e2186c6b8ce866bd19aec52f1c318ed31ba
2260Author: Lasse Collin <lasse.collin@tukaani.org>
2261Date:   2022-10-31 13:31:58 +0200
2262
2263    Windows: Fix mythread_once() macro with Vista threads.
2264
2265    Don't call InitOnceComplete() if initialization was already done.
2266
2267    So far mythread_once() has been needed only when building
2268    with --enable-small. windows/build.bash does this together
2269    with --disable-threads so the Vista-specific mythread_once()
2270    is never needed by those builds. VS project files or
2271    CMake-builds don't support HAVE_SMALL builds at all.
2272
2273 src/common/mythread.h | 7 ++++---
2274 1 file changed, 4 insertions(+), 3 deletions(-)
2275
2276commit 48dde3bab9dc04081acb5aa7cf7c5044b8a49f58
2277Author: Lasse Collin <lasse.collin@tukaani.org>
2278Date:   2022-10-31 11:54:44 +0200
2279
2280    liblzma: Silence -Wconversion warning from crc64_fast.c.
2281
2282 src/liblzma/check/crc64_fast.c | 5 +++--
2283 1 file changed, 3 insertions(+), 2 deletions(-)
2284
2285commit a243c617ff249d915ac123de4f536b80322c1fdb
2286Author: Lasse Collin <lasse.collin@tukaani.org>
2287Date:   2022-10-31 11:49:47 +0200
2288
2289    CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4.
2290
2291    This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43.
2292
2293 cmake/tuklib_cpucores.cmake | 5 +++++
2294 1 file changed, 5 insertions(+)
2295
2296commit 05c72de06fcaaedc78f8abba7d5ec568ddcf1e75
2297Author: Lasse Collin <lasse.collin@tukaani.org>
2298Date:   2022-10-27 15:49:18 +0300
2299
2300    Tests: test_files.sh: Make it not fail if features were disabled at build.
2301
2302    It now tries to test as many files as easily possible.
2303    The exit status indicates skipping if any of the files were
2304    skipped. This way it is easy to notice if something is being
2305    skipped when it isn't expected.
2306
2307 tests/test_files.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
2308 1 file changed, 46 insertions(+), 4 deletions(-)
2309
2310commit b3459327a51f4b8239d19e6c34b4e0c6bc2d81de
2311Author: Lasse Collin <lasse.collin@tukaani.org>
2312Date:   2022-10-27 15:30:13 +0300
2313
2314    Tests: test_files.sh: Suppress an expected warning from the log.
2315
2316    xz (but not xzdec) will normally warn about unsupported check
2317    but since we are testing specifically such a file, it's better
2318    to silence that warning so that it doesn't look suspicious in
2319    test_files.sh.log.
2320
2321    The use of -q and -Q in xzdec is just for consistency and
2322    doesn't affect the result at least for now.
2323
2324 tests/test_files.sh | 4 ++--
2325 1 file changed, 2 insertions(+), 2 deletions(-)
2326
2327commit 798c86e4231e0835ab76ccd0810c8ea30833b2ce
2328Author: Lasse Collin <lasse.collin@tukaani.org>
2329Date:   2022-10-27 15:27:50 +0300
2330
2331    Tests: test_files.sh: Print the reason for skipping if xz & xzdec missing.
2332
2333 tests/test_files.sh | 1 +
2334 1 file changed, 1 insertion(+)
2335
2336commit c1dd8524e1af07f16b790463899de06a6a5fcc08
2337Author: Lasse Collin <lasse.collin@tukaani.org>
2338Date:   2022-10-27 01:12:40 +0300
2339
2340    Tests: Keep test_compress_* working when some filters are unavailable.
2341
2342 tests/test_compress.sh | 34 ++++++++++++++++++++--------------
2343 1 file changed, 20 insertions(+), 14 deletions(-)
2344
2345commit ce30ada91951d0746879ae438da11f1ee8a90aa0
2346Author: Jia Tan <jiat0218@gmail.com>
2347Date:   2022-10-23 21:01:08 +0800
2348
2349    Tests: test_bcj_exact_size skips properly now if PowerPC filter disabled.
2350
2351 tests/test_bcj_exact_size.c | 3 +++
2352 1 file changed, 3 insertions(+)
2353
2354commit 89c5cfcacaca7130509fac836e2f30c46b824502
2355Author: Lasse Collin <lasse.collin@tukaani.org>
2356Date:   2022-10-26 00:05:57 +0300
2357
2358    Tests: Test also unsupported-*.xz.
2359
2360 tests/test_files.sh | 37 +++++++++++++++++++++++++++++++++++++
2361 1 file changed, 37 insertions(+)
2362
2363commit a4b214b93ac741edef9c41e55865b0b867ca2587
2364Author: Lasse Collin <lasse.collin@tukaani.org>
2365Date:   2022-10-25 23:45:03 +0300
2366
2367    Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER.
2368
2369    We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS.
2370
2371    There is a warning about AC_PROG_CC_C99 being obsolete but
2372    it cannot be removed because it is needed with Autoconf 2.69.
2373
2374 configure.ac | 2 +-
2375 1 file changed, 1 insertion(+), 1 deletion(-)
2376
2377commit 04f299b64e73f50afc188c2590ebebc6b73ed744
2378Author: Lasse Collin <lasse.collin@tukaani.org>
2379Date:   2022-10-25 23:31:44 +0300
2380
2381    Build: Update m4/ax_pthread.m4 from Autoconf Archive.
2382
2383 m4/ax_pthread.m4 | 29 ++++++++++++++++++++++-------
2384 1 file changed, 22 insertions(+), 7 deletions(-)
2385
2386commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8
2387Author: Lasse Collin <lasse.collin@tukaani.org>
2388Date:   2022-10-25 23:28:34 +0300
2389
2390    Build: Add configure option --disable-microlzma.
2391
2392    MicroLZMA was made for EROFS and used by erofs-utils.
2393    It might be used by something else in the future but
2394    those wanting a smaller build for specific situations
2395    can now disable this rarely-needed feature.
2396
2397 configure.ac | 22 ++++++++++++++++++++++
2398 1 file changed, 22 insertions(+)
2399
2400commit 054ccd6d14b2cc6eddc56897af280d3221414150
2401Author: Lasse Collin <lasse.collin@tukaani.org>
2402Date:   2022-10-25 23:09:11 +0300
2403
2404    xz: Fix --single-stream with an empty .xz Stream.
2405
2406    Example:
2407
2408        $ xz -dc --single-stream good-0-empty.xz
2409        xz: good-0-empty.xz: Internal error (bug)
2410
2411    The code, that is tries to catch some input file issues early,
2412    didn't anticipate LZMA_STREAM_END which is possible in that
2413    code only when --single-stream is used.
2414
2415 src/xz/coder.c | 9 +++++++++
2416 1 file changed, 9 insertions(+)
2417
2418commit 563288ea705e83ff5cb292adf794650c263bca1d
2419Author: Lasse Collin <lasse.collin@tukaani.org>
2420Date:   2022-10-25 21:11:58 +0300
2421
2422    xz: Add support for OpenBSD's pledge() sandbox.
2423
2424 configure.ac     | 12 +++++++++---
2425 src/xz/file_io.c | 11 +++++++++++
2426 src/xz/main.c    | 13 +++++++++++++
2427 src/xz/private.h |  2 +-
2428 4 files changed, 34 insertions(+), 4 deletions(-)
2429
2430commit f9913e8ee2ba0b1e4ff4d0aa4c001aae305ed944
2431Author: Lasse Collin <lasse.collin@tukaani.org>
2432Date:   2022-10-25 19:07:17 +0300
2433
2434    xz: Fix decompressor behavior if input uses an unsupported check type.
2435
2436    Now files with unsupported check will make xz display
2437    a warning, set the exit status to 2 (unless --no-warn is used),
2438    and then decompress the file normally. This is how it was
2439    supposed to work since the beginning but this was broken by
2440    the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is,
2441    a little before 5.0.0 was released. The buggy behavior displayed
2442    a message, set exit status 1 (error), and xz didn't attempt to
2443    to decompress the file.
2444
2445    This doesn't matter today except for special builds that disable
2446    CRC64 or SHA-256 at build time (but such builds should be used
2447    in special situations only). The bug matters if new check type
2448    is added in the future and an old xz version is used to decompress
2449    such a file; however, it's likely that such files would use a new
2450    filter too and an old xz wouldn't be able to decompress the file
2451    anyway.
2452
2453    The first hunk in the commit is the actual fix. The second hunk
2454    is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz.
2455
2456    There is a test file for unsupported check type but it wasn't
2457    used by test_files.sh, perhaps due to different behavior between
2458    xz and the simpler xzdec.
2459
2460 src/xz/coder.c | 19 +++++++++++++++----
2461 1 file changed, 15 insertions(+), 4 deletions(-)
2462
2463commit aa4fe145b9486adc454f44fd3e09be9add808a0f
2464Author: Lasse Collin <lasse.collin@tukaani.org>
2465Date:   2022-10-25 18:36:19 +0300
2466
2467    xz: Clarify the man page: input file isn't removed if an error occurs.
2468
2469 src/xz/xz.1 | 5 +++--
2470 1 file changed, 3 insertions(+), 2 deletions(-)
2471
2472commit 8b46ae8cdeddfd7dc01fec92971b8696e9a96c5d
2473Author: Lasse Collin <lasse.collin@tukaani.org>
2474Date:   2022-10-25 18:30:55 +0300
2475
2476    xz: Refactor to remove is_empty_filename().
2477
2478    Long ago it was used in list.c too but nowadays it's needed
2479    only in io_open_src() so it's nicer to avoid a separate function.
2480
2481 src/xz/file_io.c |  4 +++-
2482 src/xz/util.c    | 12 ------------
2483 src/xz/util.h    |  4 ----
2484 3 files changed, 3 insertions(+), 17 deletions(-)
2485
2486commit 85624015978b0de294cff3df79006df987c552b1
2487Author: Lasse Collin <lasse.collin@tukaani.org>
2488Date:   2022-10-25 18:23:54 +0300
2489
2490    xz: If input file cannot be removed, treat it as a warning, not error.
2491
2492    Treating it as a warning (message + exit status 2) matches gzip
2493    and it seems more logical as at that point the output file has
2494    already been successfully closed. When it's a warning it is
2495    possible to suppress it with --no-warn.
2496
2497 src/xz/file_io.c | 4 ++--
2498 1 file changed, 2 insertions(+), 2 deletions(-)
2499
2500commit fda9f85f52c546f7ca0313cf89481da4707fecb3
2501Author: Lasse Collin <lasse.collin@tukaani.org>
2502Date:   2022-10-24 16:25:09 +0300
2503
2504    liblzma: Threaded decoder: Stop the worker threads on errors.
2505
2506    It's waste of CPU time and electricity to leave the unfinished
2507    worker threads running when it is known that their output will
2508    get ignored.
2509
2510 src/liblzma/common/stream_decoder_mt.c | 33 ++++++++++++++++++++++++++-------
2511 1 file changed, 26 insertions(+), 7 deletions(-)
2512
2513commit 2611c4d90535652d3eb7ef4a026a6691276fab43
2514Author: Lasse Collin <lasse.collin@tukaani.org>
2515Date:   2022-10-20 20:22:50 +0300
2516
2517    tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD.
2518
2519    On OpenBSD the number of cores online is often less
2520    than what HW_NCPU would return because OpenBSD disables
2521    simultaneous multi-threading (SMT) by default.
2522
2523    Thanks to Christian Weisgerber.
2524
2525 m4/tuklib_cpucores.m4        | 5 +++++
2526 src/common/tuklib_cpucores.c | 9 +++++++++
2527 2 files changed, 14 insertions(+)
2528
2529commit 424ac91c7e0419393ff2bde4f62e21fa611c776d
2530Author: Lasse Collin <lasse.collin@tukaani.org>
2531Date:   2022-10-19 19:39:35 +0300
2532
2533    Tests: Skip tests in test_*.sh if encoders and/or decoders are disabled.
2534
2535    This isn't perfect as the scripts can still fail if only
2536    certain filters are disabled. This is still an improvement
2537    as now "make check" has better behavior when all encoders
2538    or decoders are disabled.
2539
2540    Grepping ../config.h is simple and fairly clean but it only
2541    works if config.h was created. CMake builds don't create
2542    config.h but they don't use these test scripts either.
2543
2544    Thanks to Sebastian Andrzej Siewior for reporting the problem.
2545    Thanks to Jia Tan for the original patch which grepped xz
2546    error messages instead of config.h.
2547
2548 tests/test_compress.sh | 12 ++++++++++++
2549 tests/test_files.sh    | 11 +++++++++++
2550 tests/test_scripts.sh  | 11 +++++++++++
2551 3 files changed, 34 insertions(+)
2552
2553commit ca8bf9d7c5a30be8ba1eeb106fd892f19e83ed09
2554Author: Lasse Collin <lasse.collin@tukaani.org>
2555Date:   2022-10-19 18:54:34 +0300
2556
2557    Test: Remove the (exit 1) lines.
2558
2559    I suspect that I used these in the original version because
2560    Autoconf's manual describes that such a trick is needed in
2561    some specific situations for portability reasons. None of those
2562    situations listed on Autoconf 2.71 manual apply to these test
2563    scripts though so this cleans them up.
2564
2565 tests/test_compress.sh | 10 ----------
2566 tests/test_files.sh    |  9 ---------
2567 tests/test_scripts.sh  |  6 ------
2568 3 files changed, 25 deletions(-)
2569
2570commit 82fcb7cfc17ce62f79ebc7ca2374e1daca5e4d5e
2571Author: Lasse Collin <lasse.collin@tukaani.org>
2572Date:   2022-10-19 17:14:57 +0300
2573
2574    Tests: Fix a warning in test_memlimit.c when decoders are disabled.
2575
2576 tests/test_memlimit.c | 3 +++
2577 1 file changed, 3 insertions(+)
2578
2579commit b5f8271b45b9b0e59485ffba3640ca3418835ec4
2580Author: Lasse Collin <lasse.collin@tukaani.org>
2581Date:   2022-10-19 17:11:46 +0300
2582
2583    Tests: Add test_memlimit to .gitignore.
2584
2585    Thanks to Jia Tan.
2586
2587 .gitignore | 1 +
2588 1 file changed, 1 insertion(+)
2589
2590commit 6a86e81cab202d0a812a7b2e9efacaf70c58ba38
2591Author: Jia Tan <jiat0218@gmail.com>
2592Date:   2022-10-06 21:53:09 +0300
2593
2594    Tests: Refactor test_stream_flags.c.
2595
2596    Converts test_stream_flags to tuktest. Also the test will now
2597    compile and skip properly if encoders or decoders are disabled.
2598
2599    Thanks to Sebastian Andrzej Siewior.
2600
2601 tests/test_stream_flags.c | 533 ++++++++++++++++++++++++++++++++++++----------
2602 1 file changed, 416 insertions(+), 117 deletions(-)
2603
2604commit 827ac5b4821491fd3afe0d0e1ddac326253aeb66
2605Author: Jia Tan <jiat0218@gmail.com>
2606Date:   2022-10-06 17:00:38 +0800
2607
2608    Tests: Refactor test_block_header.c.
2609
2610    test_block_header now achieves higher test coverage. Also the
2611    test will now compile and skip properly if encoders or decoders
2612    are disabled.
2613
2614    Thanks to Sebastian Andrzej Siewior.
2615
2616 tests/test_block_header.c | 486 +++++++++++++++++++++++++++++++++++-----------
2617 1 file changed, 370 insertions(+), 116 deletions(-)
2618
2619commit 84963318952064a93bfc52edd6b0ef70593384ee
2620Author: Jia Tan <jiat0218@gmail.com>
2621Date:   2022-10-05 23:54:12 +0800
2622
2623    Tests: Fix compilation issues.
2624
2625    test_bcj_exact_size, test_check, test_hardware, and test_index will
2626    all now compile and skip properly if encoders or decoders are disabled.
2627
2628    Also fixed a small typo (disabed -> disabled).
2629
2630    Thanks to Sebastian Andrzej Siewior.
2631
2632 tests/test_bcj_exact_size.c | 20 ++++++++++++++------
2633 tests/test_check.c          |  8 +++++++-
2634 tests/test_hardware.c       |  2 +-
2635 tests/test_index.c          |  6 ++++++
2636 tests/test_memlimit.c       | 16 +++++++++++++++-
2637 tests/test_vli.c            | 13 +++++++++++++
2638 6 files changed, 56 insertions(+), 9 deletions(-)
2639
2640commit 7dcabeec63d46b436fa5f043c3d1f09d0e15be16
2641Author: Lasse Collin <lasse.collin@tukaani.org>
2642Date:   2022-10-05 16:20:47 +0300
2643
2644    Tests: Include mythread.h in the tests that use MYTHREAD_ENABLED.
2645
2646 tests/test_check.c    | 1 +
2647 tests/test_hardware.c | 1 +
2648 tests/test_memlimit.c | 1 +
2649 3 files changed, 3 insertions(+)
2650
2651commit 14af758a770c7781af18fb66d6d21ee5b1c27f04
2652Author: Jia Tan <jiat0218@gmail.com>
2653Date:   2022-10-05 20:57:16 +0800
2654
2655    liblzma: Fix a compilation issue when encoders are disabled.
2656
2657    When encoders were disabled and threading enabled, outqueue.c and
2658    outqueue.h were not compiled. The multi threaded decoder required
2659    these files, so compilation failed.
2660
2661 src/liblzma/common/Makefile.inc | 7 ++++---
2662 1 file changed, 4 insertions(+), 3 deletions(-)
2663
2664commit 6ca5c354bd4620aa7f81da68870eef1b1f26288f
2665Author: Jia Tan <jiat0218@gmail.com>
2666Date:   2022-10-05 16:41:38 +0800
2667
2668    Tests: Fix compilation error when threading support has been disabled.
2669
2670    Now tests that require threading are skipped when threading
2671    support has been disabled.
2672
2673    Thanks to Sebastian Andrzej Siewior.
2674
2675 tests/test_check.c    | 4 ++++
2676 tests/test_hardware.c | 4 ++++
2677 tests/test_memlimit.c | 4 ++++
2678 3 files changed, 12 insertions(+)
2679
2680commit fae37ad2affd8fe8871f4ff93d5cab5ec14d5e58
2681Author: Lasse Collin <lasse.collin@tukaani.org>
2682Date:   2022-10-05 14:26:00 +0300
2683
2684    tuklib_integer: Add 64-bit endianness-converting reads and writes.
2685
2686    Also update the comment in liblzma's memcmplen.h.
2687
2688    Thanks to Michał Górny for the original patch for the reads.
2689
2690 m4/tuklib_integer.m4           |  8 ++++----
2691 src/common/tuklib_integer.h    | 46 ++++++++++++++++++++++++++++++++++++++++--
2692 src/liblzma/common/memcmplen.h |  9 +++------
2693 3 files changed, 51 insertions(+), 12 deletions(-)
2694
2695commit 508a44372c5b0dede8863fd0d358d4a9d8645c95
2696Author: Lasse Collin <lasse.collin@tukaani.org>
2697Date:   2022-09-30 12:06:13 +0300
2698
2699    liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug.
2700
2701    The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98.
2702
2703 src/liblzma/api/lzma/base.h | 11 +++++++++++
2704 1 file changed, 11 insertions(+)
2705
2706commit 8cc9874a7974cd575aee44f218836f7acdbeb0ed
2707Author: Jia Tan <jiat0218@gmail.com>
2708Date:   2022-09-21 16:15:50 +0800
2709
2710    liblzma: Add dest and src NULL checks to lzma_index_cat.
2711
2712    The documentation states LZMA_PROG_ERROR can be returned from
2713    lzma_index_cat. Previously, lzma_index_cat could not return
2714    LZMA_PROG_ERROR. Now, the validation is similar to
2715    lzma_index_append, which does a NULL check on the index
2716    parameter.
2717
2718 src/liblzma/common/index.c | 3 +++
2719 1 file changed, 3 insertions(+)
2720
2721commit afd5a8bf5374eba82804a999e1ea7af680784086
2722Author: Jia Tan <jiat0218@gmail.com>
2723Date:   2022-09-21 20:29:28 +0800
2724
2725    Tests: Create a test for the lzma_index_cat bug.
2726
2727 tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
2728 1 file changed, 42 insertions(+), 1 deletion(-)
2729
2730commit 3d5a99ca373a4e86faf671226ca6487febb9eeac
2731Author: Jia Tan <jiat0218@gmail.com>
2732Date:   2022-09-21 19:28:53 +0800
2733
2734    liblzma: Fix copying of check type statistics in lzma_index_cat().
2735
2736    The check type of the last Stream in dest was never copied to
2737    dest->checks (the code tried to copy it but it was done too late).
2738    This meant that the value returned by lzma_index_checks() would
2739    only include the check type of the last Stream when multiple
2740    lzma_indexes had been concatenated.
2741
2742    In xz --list this meant that the summary would only list the
2743    check type of the last Stream, so in this sense this was only
2744    a visual bug. However, it's possible that some applications
2745    use this information for purposes other than merely showing
2746    it to the users in an informational message. I'm not aware of
2747    such applications though and it's quite possible that such
2748    applications don't exist.
2749
2750    Regular streamed decompression in xz or any other application
2751    doesn't use lzma_index_cat() and so this bug cannot affect them.
2752
2753 src/liblzma/common/index.c | 7 ++++++-
2754 1 file changed, 6 insertions(+), 1 deletion(-)
2755
2756commit a61d32172789735350a941e23baf6b587c49e5d9
2757Author: Lasse Collin <lasse.collin@tukaani.org>
2758Date:   2022-09-28 12:20:41 +0300
2759
2760    tuklib_physmem: Fix Unicode builds on Windows.
2761
2762    Thanks to ArSaCiA Game.
2763
2764 src/common/tuklib_physmem.c | 2 +-
2765 1 file changed, 1 insertion(+), 1 deletion(-)
2766
2767commit 5a4d3548ab214fdca364d5c734baf1d1fab47308
2768Author: Lasse Collin <lasse.collin@tukaani.org>
2769Date:   2022-09-28 11:12:07 +0300
2770
2771    Tests: Add test_memlimit.c to test restarting after LZMA_MEMLIMIT_ERROR.
2772
2773 tests/Makefile.am     |   2 +
2774 tests/test_memlimit.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++
2775 2 files changed, 153 insertions(+)
2776
2777commit 660739f99ab211edec4071de98889fb32ed04e98
2778Author: Lasse Collin <lasse.collin@tukaani.org>
2779Date:   2022-09-28 11:05:15 +0300
2780
2781    liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR.
2782
2783    If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible
2784    to use lzma_memlimit_set() to increase the limit and continue
2785    decoding. This was supposed to work from the beginning but
2786    there was a bug. With other decoders (.lzma or threaded .xz)
2787    this already worked correctly.
2788
2789 src/liblzma/common/stream_decoder.c | 16 +++++++++++++---
2790 1 file changed, 13 insertions(+), 3 deletions(-)
2791
2792commit 7e68fda58c74ad9e5b876cc22fcbe80fc0e4747b
2793Author: Lasse Collin <lasse.collin@tukaani.org>
2794Date:   2022-09-28 11:00:23 +0300
2795
2796    liblzma: Stream decoder: Fix comments.
2797
2798 src/liblzma/common/stream_decoder.c | 12 +++++-------
2799 1 file changed, 5 insertions(+), 7 deletions(-)
2800
2801commit f664cb25841fc1c478b819034a224a558e2ac6e7
2802Author: Lasse Collin <lasse.collin@tukaani.org>
2803Date:   2022-09-20 16:58:22 +0300
2804
2805    liblzma: ARM64: Add comments.
2806
2807 src/liblzma/simple/arm64.c | 13 +++++++++++++
2808 1 file changed, 13 insertions(+)
2809
2810commit b557b4a0eea05470fae8ba5ef4ad5a6dfb36ac41
2811Author: Lasse Collin <lasse.collin@tukaani.org>
2812Date:   2022-09-20 16:27:50 +0300
2813
2814    liblzma: ARM64: Fix wrong comment in API doc.
2815
2816    Thanks to Jia Tan.
2817
2818 src/liblzma/api/lzma/bcj.h | 4 ++--
2819 1 file changed, 2 insertions(+), 2 deletions(-)
2820
2821commit d5b0906fa55157f48c200188a3951d80df9cb308
2822Author: Lasse Collin <lasse.collin@tukaani.org>
2823Date:   2022-09-19 20:24:26 +0300
2824
2825    xz: Add --experimental-arm64[=width=WIDTH].
2826
2827    It will be renamed to --arm64 once it is stable.
2828
2829    Man page or --long-help weren't updated yet.
2830
2831 src/xz/args.c    |  7 +++++++
2832 src/xz/message.c |  7 +++++++
2833 src/xz/options.c | 39 +++++++++++++++++++++++++++++++++++++++
2834 src/xz/options.h |  7 +++++++
2835 4 files changed, 60 insertions(+)
2836
2837commit ecb966de308c255bb4735a7307ef9901c643a9de
2838Author: Lasse Collin <lasse.collin@tukaani.org>
2839Date:   2022-09-19 19:34:56 +0300
2840
2841    liblzma: Add experimental ARM64 BCJ filter with a temporary Filter ID.
2842
2843    That is, the Filter ID will be changed once the design is final.
2844    The current version will be removed. So files created with the
2845    tempoary Filter ID won't be supported in the future.
2846
2847 CMakeLists.txt                      |   3 +
2848 configure.ac                        |   4 +-
2849 src/liblzma/api/lzma/bcj.h          |  35 +++++-
2850 src/liblzma/common/filter_common.c  |   9 ++
2851 src/liblzma/common/filter_decoder.c |   8 ++
2852 src/liblzma/common/filter_encoder.c |  11 ++
2853 src/liblzma/simple/Makefile.inc     |   4 +
2854 src/liblzma/simple/arm64.c          | 227 ++++++++++++++++++++++++++++++++++++
2855 src/liblzma/simple/simple_coder.h   |   9 ++
2856 src/liblzma/simple/simple_decoder.h |   4 +
2857 src/liblzma/simple/simple_encoder.h |   2 +
2858 11 files changed, 313 insertions(+), 3 deletions(-)
2859
2860commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
2861Author: Lasse Collin <lasse.collin@tukaani.org>
2862Date:   2022-09-17 22:42:18 +0300
2863
2864    liblzma: Simple/BCJ filters: Allow disabling generic BCJ options.
2865
2866    This will be needed for the ARM64 BCJ filter as it will use
2867    its own options struct.
2868
2869 src/liblzma/simple/arm.c            | 2 +-
2870 src/liblzma/simple/armthumb.c       | 2 +-
2871 src/liblzma/simple/ia64.c           | 2 +-
2872 src/liblzma/simple/powerpc.c        | 2 +-
2873 src/liblzma/simple/simple_coder.c   | 4 ++--
2874 src/liblzma/simple/simple_private.h | 2 +-
2875 src/liblzma/simple/sparc.c          | 2 +-
2876 src/liblzma/simple/x86.c            | 3 ++-
2877 8 files changed, 10 insertions(+), 9 deletions(-)
2878
2879commit c3592d0a55114144686ecf960cb516d6b31c98e9
2880Author: Lasse Collin <lasse.collin@tukaani.org>
2881Date:   2022-09-16 17:08:53 +0300
2882
2883    Tests: Add a test file for lzma_index_append() integer overflow bug.
2884
2885    This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136.
2886
2887    test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz
2888    because only then the previously-buggy code path gets tested.
2889    Normal decompression doesn't use lzma_index_append() at all.
2890    Instead, lzma_index_hash functions are used and those already
2891    did the overflow check.
2892
2893 tests/files/README                         |  10 ++++++++++
2894 tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes
2895 tests/test_files.sh                        |   8 ++++++++
2896 3 files changed, 18 insertions(+)
2897
2898commit 982b29f828079a2a26253a40e975127a40a7d2bd
2899Author: Lasse Collin <lasse.collin@tukaani.org>
2900Date:   2022-09-16 15:10:07 +0300
2901
2902    Translations: Add Turkish translation.
2903
2904 po/LINGUAS |   1 +
2905 po/tr.po   | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2906 2 files changed, 978 insertions(+)
2907
2908commit 1fc088d9f6d1697924aaeac8cd1fb9918d1532e2
2909Author: Lasse Collin <lasse.collin@tukaani.org>
2910Date:   2022-09-16 14:09:07 +0300
2911
2912    Update THANKS.
2913
2914 THANKS | 1 +
2915 1 file changed, 1 insertion(+)
2916
2917commit 097c7b67ce86ff16a7cef7631b39e5ca4ee3d420
2918Author: Lasse Collin <lasse.collin@tukaani.org>
2919Date:   2022-09-16 14:07:03 +0300
2920
2921    xzgrep: Fix compatibility with old shells.
2922
2923    Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15:
2924
2925        xzgrep: line 231: syntax error near unexpected token `;;'
2926
2927    On SCO OpenServer 5.0.7 with Korn Shell 93r:
2928
2929        syntax error at line 231 : `;;' unexpected
2930
2931    Turns out that some old shells don't like apostrophes (') inside
2932    command substitutions. For example, the following fails:
2933
2934        x=$(echo foo
2935        # asdf'zxcv
2936        echo bar)
2937        printf '%s\n' "$x"
2938
2939    The problem was introduced by commits
2940    69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29),
2941    bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and
2942    a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19).
2943    5.2.6 is the only stable release that included
2944    this problem.
2945
2946    Thanks to Kevin R. Bulgrien for reporting the problem
2947    on SCO OpenServer 5.0.7 and for providing the fix.
2948
2949 src/scripts/xzgrep.in | 6 +++---
2950 1 file changed, 3 insertions(+), 3 deletions(-)
2951
2952commit f2d084fe3f0d6d71488bfc6987f26542f67bfd99
2953Author: Lasse Collin <lasse.collin@tukaani.org>
2954Date:   2022-09-09 14:12:30 +0300
2955
2956    Tests: Silence warnings about unused functions from tuktest.h.
2957
2958    Warnings about unused tuktest_run_test conveniently tell which
2959    test programs haven't been converted to tuktest.h yet but I
2960    silenced that warning too for now anyway.
2961
2962    It is fine to use __attribute__((__unused__)) even when the
2963    function is actually used because the attribute only means
2964    that the function might be unused.
2965
2966 tests/tuktest.h | 10 ++++++++++
2967 1 file changed, 10 insertions(+)
2968
2969commit f8ee61e74eb40600445fdb601c374d582e1e9c8a
2970Author: Lasse Collin <lasse.collin@tukaani.org>
2971Date:   2022-09-09 13:51:57 +0300
2972
2973    liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs.
2974
2975    lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed
2976    this. Before this patch, failing lzma_filters_copy() could result
2977    in free(invalid_pointer) or invalid memory reads in stream_encoder.c
2978    or stream_encoder_mt.c.
2979
2980    To trigger this, allocating memory for a filter options structure
2981    has to fail. These are tiny allocations so in practice they very
2982    rarely fail.
2983
2984    Certain badness in the filter chain array could also make
2985    lzma_filters_copy() fail but both stream_encoder.c and
2986    stream_encoder_mt.c validate the filter chain before
2987    trying to copy it, so the crash cannot occur this way.
2988
2989 src/liblzma/api/lzma/filter.h      |  4 +++-
2990 src/liblzma/common/filter_common.c | 18 ++++++++++++------
2991 2 files changed, 15 insertions(+), 7 deletions(-)
2992
2993commit 18d7facd3802b55c287581405c4d49c98708c136
2994Author: Jia Tan <jiat0218@gmail.com>
2995Date:   2022-09-02 20:18:55 +0800
2996
2997    liblzma: lzma_index_append: Add missing integer overflow check.
2998
2999    The documentation in src/liblzma/api/lzma/index.h suggests that
3000    both the unpadded (compressed) size and the uncompressed size
3001    are checked for overflow, but only the unpadded size was checked.
3002    The uncompressed check is done first since that is more likely to
3003    occur than the unpadded or index field size overflows.
3004
3005 src/liblzma/common/index.c | 4 ++++
3006 1 file changed, 4 insertions(+)
3007
3008commit 9ac06cb5b85274d18f9f70d82cf2d8c9c1151bd4
3009Author: Lasse Collin <lasse.collin@tukaani.org>
3010Date:   2022-09-08 15:11:08 +0300
3011
3012    Update THANKS.
3013
3014 THANKS | 1 +
3015 1 file changed, 1 insertion(+)
3016
3017commit ba3e4ba2de034ae93a513f9c3a0823b80cdb66dc
3018Author: Jia Tan <jiat0218@gmail.com>
3019Date:   2022-09-08 15:07:00 +0300
3020
3021    CMake: Clarify a comment about Windows symlinks without file extension.
3022
3023 CMakeLists.txt | 7 +++----
3024 1 file changed, 3 insertions(+), 4 deletions(-)
3025
3026commit 17485e884ce5c74315f29a8a1507bc706cd5cd1d
3027Author: Lasse Collin <lasse.collin@tukaani.org>
3028Date:   2022-09-08 15:02:41 +0300
3029
3030    CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep.
3031
3032    The previous commit split liblzma.map into liblzma_linux.map and
3033    liblzma_generic.map. This commit updates the CMake build for those.
3034
3035    common_w32res.rc dependency was listed under Linux/FreeBSD while
3036    obviously it belongs to Windows when building a DLL.
3037
3038 CMakeLists.txt | 24 +++++++++++++++++++-----
3039 1 file changed, 19 insertions(+), 5 deletions(-)
3040
3041commit 913ddc5572b9455fa0cf299be2e35c708840e922
3042Author: Lasse Collin <lasse.collin@tukaani.org>
3043Date:   2022-09-04 23:23:00 +0300
3044
3045    liblzma: Vaccinate against an ill patch from RHEL/CentOS 7.
3046
3047    RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded
3048    encoder that is behind #ifdef LZMA_UNSTABLE in the API headers.
3049    In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map.
3050    API/ABI compatibility tracking isn't done between development
3051    releases so newer releases didn't have XZ_5.1.2alpha anymore.
3052
3053    Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep
3054    the exported symbols compatible with 5.1.2alpha. After checking
3055    the ABI changes it turned out that >= 5.2.0 ABI is backward
3056    compatible with the threaded encoder functions from 5.1.2alpha
3057    (but not vice versa as fixes and extensions to these functions
3058    were made between 5.1.2alpha and 5.2.0).
3059
3060    In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with
3061    xz-5.2.2-compat-libs.patch to modify liblzma.map:
3062
3063      - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and
3064        lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha.
3065
3066      - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was
3067        an error; the intention was to keep using XZ_5.2 (XZ_5.2.2
3068        has never been used in XZ Utils). So XZ_5.2.2 lists all
3069        symbols that were listed under XZ_5.2 before the patch.
3070        lzma_stream_encoder_mt and _mt_memusage are included too so
3071        they are listed both here and under XZ_5.1.2alpha.
3072
3073    The patch didn't add any __asm__(".symver ...") lines to the .c
3074    files. Thus the resulting liblzma.so exports the threaded encoder
3075    functions under XZ_5.1.2alpha only. Listing the two functions
3076    also under XZ_5.2.2 in liblzma.map has no effect without
3077    matching .symver lines.
3078
3079    The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked
3080    against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7.
3081    This is unfortunate but this alone isn't too bad as the problem
3082    is contained within RHEL/CentOS 7 and doesn't affect users
3083    of other distributions. It could also be fixed internally in
3084    RHEL/CentOS 7.
3085
3086    The second problem is more serious: In XZ Utils 5.2.2 the API
3087    headers don't have #ifdef LZMA_UNSTABLE for obvious reasons.
3088    This is true in RHEL/CentOS 7 version too. Thus now programs
3089    using new APIs can be compiled without an extra #define. However,
3090    the programs end up depending on symbol version XZ_5.1.2alpha
3091    (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would
3092    with an unpatched XZ Utils 5.2.2. This means that such binaries
3093    won't run on other distributions shipping XZ Utils >= 5.2.0 as
3094    they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide
3095    XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch
3096    luckily isn't included there anymore with XZ Utils 5.2.4.)
3097
3098    Binaries built by RHEL/CentOS 7 users get distributed and then
3099    people wonder why they don't run on some other distribution.
3100    Seems that people have found out about the patch and been copying
3101    it to some build scripts, seemingly curing the symptoms but
3102    actually spreading the illness further and outside RHEL/CentOS 7.
3103
3104    The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it
3105    had spread at least to EasyBuild. I heard about the events only
3106    recently. :-(
3107
3108    This commit splits liblzma.map into two versions: one for
3109    GNU/Linux and another for other OSes that can use symbol versioning
3110    (FreeBSD, Solaris, maybe others). The Linux-specific file and the
3111    matching additions to .c files add full compatibility with binaries
3112    that have been built against a RHEL/CentOS-patched liblzma. Builds
3113    for OSes other than GNU/Linux won't get the vaccine as they should
3114    be immune to the problem (I really hope that no build script uses
3115    the RHEL/CentOS 7 patch outside GNU/Linux).
3116
3117    The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2
3118    are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way
3119    if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building,
3120    the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2
3121    since XZ_5.2 {...} is the first one that lists that function.
3122    Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2
3123    will be missing but that's still a minor problem compared to
3124    only having lzma_stream_encoder_mt@@XZ_5.1.2alpha!
3125
3126    The "local: *;" line was moved to XZ_5.0 so that it doesn't need
3127    to be moved around. It doesn't matter where it is put.
3128
3129    Having two similar liblzma_*.map files is a bit silly as it is,
3130    at least for now, easily possible to generate the generic one
3131    from the Linux-specific file. But that adds extra steps and
3132    increases the risk of mistakes when supporting more than one
3133    build system. So I rather maintain two files in parallel and let
3134    validate_map.sh check that they are in sync when "make mydist"
3135    is run.
3136
3137    This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and
3138    lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these
3139    weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was
3140    for these two). I added these anyway because someone might
3141    misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2
3142    (@@XZ_5.2.2) versions were exported too.
3143
3144    At glance one could suggest using __typeof__ to copy the function
3145    prototypes when making aliases. However, this doesn't work trivially
3146    because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure)
3147    and it won't change symbol visibility from hidden to default (done
3148    by LZMA_API()). Attributes could be copied with __copy__ attribute
3149    but that needs GCC 9 and a fallback method would be needed anyway.
3150
3151    This uses __symver__ attribute with GCC >= 10 and
3152    __asm__(".symver ...") with everything else. The attribute method
3153    is required for LTO (-flto) support with GCC. Using -flto with
3154    GCC older than 10 is now broken on GNU/Linux and will not be fixed
3155    (can silently result in a broken liblzma build that has dangerously
3156    incorrect symbol versions). LTO builds with Clang seem to work
3157    with the traditional __asm__(".symver ...") method.
3158
3159    Thanks to Boud Roukema for reporting the problem and discussing
3160    the details and testing the fix.
3161
3162 configure.ac                                     |  23 +++-
3163 src/liblzma/Makefile.am                          |  10 +-
3164 src/liblzma/common/block_buffer_encoder.c        |  18 ++++
3165 src/liblzma/common/common.c                      |  14 +++
3166 src/liblzma/common/common.h                      |  28 +++++
3167 src/liblzma/common/hardware_cputhreads.c         |  12 +++
3168 src/liblzma/common/stream_encoder_mt.c           |  42 ++++++++
3169 src/liblzma/{liblzma.map => liblzma_generic.map} |   6 +-
3170 src/liblzma/liblzma_linux.map                    | 131 +++++++++++++++++++++++
3171 src/liblzma/validate_map.sh                      | 113 +++++++++++++++++--
3172 10 files changed, 382 insertions(+), 15 deletions(-)
3173
3174commit 80a1a8bb838842a2be343bd88ad1462c21c5e2c9
3175Author: Lasse Collin <lasse.collin@tukaani.org>
3176Date:   2022-08-31 16:42:04 +0300
3177
3178    CMake: Add xz symlinks.
3179
3180    These are a minor thing especially since the xz build has
3181    some real problems still like lack of large file support
3182    on 32-bit systems but I'll commit this since the code exists.
3183
3184    Thanks to Jia Tan.
3185
3186 CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++-
3187 1 file changed, 37 insertions(+), 1 deletion(-)
3188
3189commit a4193bb6d85d7765b1b87faeab3e50106d3ab2e9
3190Author: Lasse Collin <lasse.collin@tukaani.org>
3191Date:   2022-08-31 16:29:38 +0300
3192
3193    CMake: Put xz man page install under if(UNIX) like is for xzdec.
3194
3195    Thanks to Jia Tan.
3196
3197 CMakeLists.txt | 8 +++++---
3198 1 file changed, 5 insertions(+), 3 deletions(-)
3199
3200commit c1555b1a221a1427d4d650647531016d754bc4da
3201Author: Lasse Collin <lasse.collin@tukaani.org>
3202Date:   2022-08-22 18:16:40 +0300
3203
3204    Bump version number for 5.3.3alpha.
3205
3206 src/liblzma/api/lzma/version.h | 2 +-
3207 src/liblzma/liblzma.map        | 2 +-
3208 2 files changed, 2 insertions(+), 2 deletions(-)
3209
3210commit 44fedddc11c3f6ec2f7fe35a3e38f15ca93f90eb
3211Author: Lasse Collin <lasse.collin@tukaani.org>
3212Date:   2022-08-22 18:13:56 +0300
3213
3214    Add NEWS for 5.3.3alpha.
3215
3216 NEWS | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3217 1 file changed, 119 insertions(+)
3218
3219commit a93e235d7ca764cc19f8f9f9063b40ff361c3cfa
3220Author: Lasse Collin <lasse.collin@tukaani.org>
3221Date:   2022-07-12 17:59:41 +0300
3222
3223    Translations: Add Portuguese translation.
3224
3225    Jia Tan made white-space changes and also changed "Language: pt_BR\n"
3226    to pt. The translator wasn't reached so I'm hoping these changes
3227    are OK and will commit it without translator's approval.
3228
3229    Thanks to Pedro Albuquerque and Jia Tan.
3230
3231 po/LINGUAS |    1 +
3232 po/pt.po   | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3233 2 files changed, 1002 insertions(+)
3234
3235commit e7cf5a946f25e40d77f45e41f0dee7d42a04e9ae
3236Author: Lasse Collin <lasse.collin@tukaani.org>
3237Date:   2022-07-10 21:16:40 +0300
3238
3239    Translations: Add Serbian translation.
3240
3241    Quite a few white-space changes were made by Jia Tan to make
3242    this look good. Contacting the translator didn't succeed so
3243    I'm committing this without getting translator's approval.
3244
3245    Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan.
3246
3247 po/LINGUAS |   1 +
3248 po/sr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3249 2 files changed, 988 insertions(+)
3250
3251commit cc8617ab53b1f2a4da212fa76c92fe538269c5de
3252Author: Lasse Collin <lasse.collin@tukaani.org>
3253Date:   2022-07-04 23:51:36 +0300
3254
3255    Translations: Add Swedish translation.
3256
3257    Thanks to Sebastian Rasmussen and Jia Tan.
3258
3259 po/LINGUAS |   1 +
3260 po/sv.po   | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3261 2 files changed, 984 insertions(+)
3262
3263commit c613598c358b640682d0ca2aed38fa7df763e8c7
3264Author: Lasse Collin <lasse.collin@tukaani.org>
3265Date:   2022-07-04 23:40:27 +0300
3266
3267    Translations: Add Esperanto translation.
3268
3269    Thanks to Keith Bowes and Jia Tan.
3270
3271 po/LINGUAS |   1 +
3272 po/eo.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3273 2 files changed, 985 insertions(+)
3274
3275commit 659a587d678f21e98e91d2751c31d4ce050c081a
3276Author: Lasse Collin <lasse.collin@tukaani.org>
3277Date:   2022-07-01 00:22:33 +0300
3278
3279    Translations: Add Catalan translation.
3280
3281    Thanks to Jordi Mas and Jia Tan.
3282
3283 po/LINGUAS |    1 +
3284 po/ca.po   | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3285 2 files changed, 1077 insertions(+)
3286
3287commit 739fd8c9bdf1d85f57d56642aad87148d4779530
3288Author: Lasse Collin <lasse.collin@tukaani.org>
3289Date:   2022-06-30 17:47:08 +0300
3290
3291    Translations: Add Ukrainian translation.
3292
3293    Thanks to Yuri Chornoivan and Jia Tan.
3294
3295 po/LINGUAS |   1 +
3296 po/uk.po   | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3297 2 files changed, 997 insertions(+)
3298
3299commit 73280550b111930c62a667e56add8fd574f80bc8
3300Author: Lasse Collin <lasse.collin@tukaani.org>
3301Date:   2022-06-30 17:45:26 +0300
3302
3303    Translators: Add Romanian translation.
3304
3305    Thanks to Remus-Gabriel Chelu and Jia Tan.
3306
3307 po/LINGUAS |    1 +
3308 po/ro.po   | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3309 2 files changed, 1017 insertions(+)
3310
3311commit 2465f5b825152714b2c357d96c2422c31109d320
3312Author: Lasse Collin <lasse.collin@tukaani.org>
3313Date:   2022-06-29 18:33:32 +0300
3314
3315    Translations: Update Brazilian Portuguese translation.
3316
3317    One msgstr was changed. The diff is long due to changes
3318    in the source code line numbers in the comments.
3319
3320    Thanks to Rafael Fontenelle.
3321
3322 po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------
3323 1 file changed, 92 insertions(+), 94 deletions(-)
3324
3325commit 434e1ffd3e62719d509da10b646216f5ef53fe4d
3326Author: Lasse Collin <lasse.collin@tukaani.org>
3327Date:   2022-06-29 18:04:44 +0300
3328
3329    Translations: Add Croatian translation.
3330
3331    Thanks to Božidar Putanec and Jia Tan.
3332
3333 po/LINGUAS |   1 +
3334 po/hr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3335 2 files changed, 988 insertions(+)
3336
3337commit 0732d0f7065c9bd48bfe4f5983144ae970c4a499
3338Author: Lasse Collin <lasse.collin@tukaani.org>
3339Date:   2022-06-29 17:58:48 +0300
3340
3341    Translations: Add Spanish translation.
3342
3343    Thanks to Cristian Othón Martínez Vera and Jia Tan.
3344
3345 po/LINGUAS |   1 +
3346 po/es.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3347 2 files changed, 985 insertions(+)
3348
3349commit 9899b0f82bc130998d1f1f618a6ab805b73f2696
3350Author: Lasse Collin <lasse.collin@tukaani.org>
3351Date:   2022-06-29 17:49:43 +0300
3352
3353    Translations: Add Korean translation.
3354
3355    Thanks to Seong-ho Cho and Jia Tan.
3356
3357 po/LINGUAS |   1 +
3358 po/ko.po   | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3359 2 files changed, 973 insertions(+)
3360
3361commit 65217eaf6bd195f3ef027d4ac55d57b7d133d69f
3362Author: Lasse Collin <lasse.collin@tukaani.org>
3363Date:   2020-03-16 21:57:21 +0200
3364
3365    Translations: Rebuild cs.po to avoid incorrect fuzzy strings.
3366
3367    "make dist" updates the .po files and the fuzzy strings would
3368    result in multiple very wrong translations.
3369
3370 po/cs.po | 592 ++++++++++++++++++++++++++++++++++-----------------------------
3371 1 file changed, 322 insertions(+), 270 deletions(-)
3372
3373commit e56ff423ee7af9e648e16b132f0d835d2cb4db26
3374Author: Lasse Collin <lasse.collin@tukaani.org>
3375Date:   2020-03-16 17:30:39 +0200
3376
3377    Translations: Add partial Danish translation.
3378
3379    I made a few minor white space changes without getting them
3380    approved by the Danish translation team.
3381
3382 po/LINGUAS |   1 +
3383 po/da.po   | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3384 2 files changed, 897 insertions(+)
3385
3386commit 43e09c62e77cb8807d932c81de4decbdb956e184
3387Author: Lasse Collin <lasse.collin@tukaani.org>
3388Date:   2020-03-11 22:37:54 +0200
3389
3390    Translations: Add hu, zh_CN, and zh_TW.
3391
3392    I made a few white space changes to these without getting them
3393    approved by the translation teams. (I tried to contact the hu and
3394    zh_TW teams but didn't succeed. I didn't contact the zh_CN team.)
3395
3396 po/LINGUAS  |   3 +
3397 po/hu.po    | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3398 po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3399 po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3400 4 files changed, 2907 insertions(+)
3401
3402commit 982b6b198ae1ffe6093236dd8a3d03d1415b912b
3403Author: Lasse Collin <lasse.collin@tukaani.org>
3404Date:   2020-03-11 14:33:30 +0200
3405
3406    Translations: Update vi.po to match the file from the TP.
3407
3408    The translated strings haven't been updated but word wrapping
3409    is different.
3410
3411 po/vi.po | 407 ++++++++++++++++++++++++++++-----------------------------------
3412 1 file changed, 179 insertions(+), 228 deletions(-)
3413
3414commit 801f39691fc4abc6dd33d7653d498781b593f3eb
3415Author: Lasse Collin <lasse.collin@tukaani.org>
3416Date:   2020-03-11 14:18:03 +0200
3417
3418    Translations: Add fi and pt_BR, and update de, fr, it, and pl.
3419
3420    The German translation isn't identical to the file in
3421    the Translation Project but the changes (white space changes
3422    only) were approved by the translator Mario Blättermann.
3423
3424 po/LINGUAS  |    2 +
3425 po/de.po    |  476 ++++++++++++++--------------
3426 po/fi.po    |  974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3427 po/fr.po    |  272 ++++++++--------
3428 po/it.po    |  479 ++++++++++++----------------
3429 po/pl.po    |  239 +++++++-------
3430 po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3431 7 files changed, 2697 insertions(+), 746 deletions(-)
3432
3433commit 311e4f85ede5d2f0bb71f3ad70b5b7db1b5adf33
3434Author: Lasse Collin <lasse.collin@tukaani.org>
3435Date:   2022-08-22 17:27:19 +0300
3436
3437    xz: Try to clarify --memlimit-mt-decompress vs. --memlimit-compress.
3438
3439 src/xz/xz.1 | 31 +++++++++++++++++++------------
3440 1 file changed, 19 insertions(+), 12 deletions(-)
3441
3442commit df23c31000283c00e5ef1ca32a0bc3bb757bd707
3443Author: Lasse Collin <lasse.collin@tukaani.org>
3444Date:   2022-08-22 16:46:18 +0300
3445
3446    CMake: Add liblzma tests.
3447
3448    Thanks to Jia Tan for the patch.
3449
3450 CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
3451 1 file changed, 52 insertions(+), 1 deletion(-)
3452
3453commit 02a777f9c422d3b5ec895078530bb1a2b6f7bdf5
3454Author: Lasse Collin <lasse.collin@tukaani.org>
3455Date:   2022-08-19 23:32:22 +0300
3456
3457    xz: Revise --info-memory output.
3458
3459    The strings could be more descriptive but it's good
3460    to have some version of this committed now.
3461
3462    --robot mode wasn't changed yet.
3463
3464 src/xz/hardware.c | 32 ++++++++++++++++++++++++++------
3465 src/xz/xz.1       |  1 +
3466 2 files changed, 27 insertions(+), 6 deletions(-)
3467
3468commit f864f6d42eab57ea8ed82cc2dd19a03b51377442
3469Author: Lasse Collin <lasse.collin@tukaani.org>
3470Date:   2022-08-19 23:12:02 +0300
3471
3472    xz: Update the man page for threaded decompression and memlimits.
3473
3474    This documents the changes made in commits
3475    6c6da57ae2aa962aabde6892442227063d87e88c,
3476    cad299008cf73ec566f0662a9cf2b94f86a99659, and
3477    898faa97287a756231c663a3ed5165672b417207.
3478
3479    The --info-memory bit hasn't been finished yet
3480    even though it's already mentioned in this commit
3481    under --memlimit-mt-decompress and --threads.
3482
3483 src/xz/xz.1 | 148 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
3484 1 file changed, 121 insertions(+), 27 deletions(-)
3485
3486commit d13bfcc0056617dd648f655a01653932fad7067f
3487Author: Lasse Collin <lasse.collin@tukaani.org>
3488Date:   2022-08-18 17:49:16 +0300
3489
3490    Build: Include the CMake files in the distribution.
3491
3492    This was supposed to be done in 2020 with 5.2.5 release
3493    already but it was noticed only today. 5.2.5 and 5.2.6
3494    even mention experiemental CMake support in the NEWS entries.
3495
3496    Thanks to Olivier B. for reporting the problem.
3497
3498 Makefile.am | 2 ++
3499 1 file changed, 2 insertions(+)
3500
3501commit e66787bcfefdb93f19c974f895f65969a77937b0
3502Author: Lasse Collin <lasse.collin@tukaani.org>
3503Date:   2022-08-18 17:38:05 +0300
3504
3505    Windows: Fix broken liblzma.dll build with Visual Studio project files.
3506
3507    The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616
3508    "Windows: Fix building of resource files when config.h isn't used."
3509
3510    That commit fixed liblzma.dll build with CMake while keeping it
3511    working with Autotools on Windows but the VS project files were
3512    forgotten.
3513
3514    I haven't tested these changes.
3515
3516    Thanks to Olivier B. for reporting the bug and for the initial patch.
3517
3518 windows/vs2013/liblzma_dll.vcxproj | 6 ++++++
3519 windows/vs2017/liblzma_dll.vcxproj | 6 ++++++
3520 windows/vs2019/liblzma_dll.vcxproj | 6 ++++++
3521 3 files changed, 18 insertions(+)
3522
3523commit c4e8e5fb311225b8b48d34157891a640b2535e0c
3524Author: Lasse Collin <lasse.collin@tukaani.org>
3525Date:   2022-08-18 17:16:49 +0300
3526
3527    liblzma: Threaded decoder: Improve LZMA_FAIL_FAST when LZMA_FINISH is used.
3528
3529    It will now return LZMA_DATA_ERROR (not LZMA_OK or LZMA_BUF_ERROR)
3530    if LZMA_FINISH is used and there isn't enough input to finish
3531    decoding the Block Header or the Block. The use of LZMA_DATA_ERROR
3532    is simpler and the less risky than LZMA_BUF_ERROR but this might
3533    be changed before 5.4.0.
3534
3535 src/liblzma/api/lzma/container.h       |  6 +++++
3536 src/liblzma/common/stream_decoder_mt.c | 42 ++++++++++++++++++++++++++++++++++
3537 2 files changed, 48 insertions(+)
3538
3539commit 6dcf606e7efa2b259f0262f9e2f61e00116842d3
3540Author: Lasse Collin <lasse.collin@tukaani.org>
3541Date:   2022-08-12 18:31:47 +0300
3542
3543    Add NEWS for 5.2.6.
3544
3545 NEWS | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3546 1 file changed, 121 insertions(+)
3547
3548commit 413b86fcf8934fae5a004f378a9483d37d8fcaab
3549Author: Lasse Collin <lasse.collin@tukaani.org>
3550Date:   2022-08-12 14:28:41 +0300
3551
3552    Add Jia Tan to AUTHORS.
3553
3554 AUTHORS | 2 +-
3555 1 file changed, 1 insertion(+), 1 deletion(-)
3556
3557commit 352672732c346c546ff3c26d0605bc0ed1c8b7c7
3558Author: Lasse Collin <lasse.collin@tukaani.org>
3559Date:   2022-07-25 19:28:26 +0300
3560
3561    Build: Start the generated ChangeLog from around 5.2.0 instead of 5.0.0.
3562
3563    This makes ChangeLog smaller.
3564
3565 Makefile.am | 2 +-
3566 1 file changed, 1 insertion(+), 1 deletion(-)
3567
3568commit 6f6d11225d6016be2bbb55d845b66f6b04d048df
3569Author: Lasse Collin <lasse.collin@tukaani.org>
3570Date:   2022-07-25 19:11:05 +0300
3571
3572    Translations: Change the copyright comment string to use with po4a.
3573
3574    This affects the second line in po4a/xz-man.pot. The man pages of
3575    xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+
3576    while the rest of the man pages are in the public domain.
3577
3578 po4a/update-po | 2 +-
3579 1 file changed, 1 insertion(+), 1 deletion(-)
3580
3581commit 61f8ec804abdb4c5dac01e8ae9b90c7be58a5c24
3582Author: Jia Tan <jiat0218@gmail.com>
3583Date:   2022-07-25 18:30:05 +0300
3584
3585    liblzma: Refactor lzma_mf_is_supported() to use a switch-statement.
3586
3587 src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------
3588 1 file changed, 14 insertions(+), 18 deletions(-)
3589
3590commit 4d80b463a1251aa22eabc87d2732fec13b1adda6
3591Author: Jia Tan <jiat0218@gmail.com>
3592Date:   2022-07-25 18:20:01 +0300
3593
3594    Build: Don't allow empty LIST in --enable-match-finders=LIST.
3595
3596    It's enforced only when a match finder is needed, that is,
3597    when LZMA1 or LZMA2 encoder is enabled.
3598
3599 configure.ac | 4 ++++
3600 1 file changed, 4 insertions(+)
3601
3602commit 9cc721af5436908f2d5a828aebbc4050a32a3487
3603Author: Lasse Collin <lasse.collin@tukaani.org>
3604Date:   2022-07-24 13:27:48 +0300
3605
3606    xz: Update the man page that change to --keep will be in 5.2.6.
3607
3608 src/xz/xz.1 | 4 ++--
3609 1 file changed, 2 insertions(+), 2 deletions(-)
3610
3611commit b81bf0c7d1873e52a4086a9abb494471d652cb55
3612Author: Lasse Collin <lasse.collin@tukaani.org>
3613Date:   2022-07-19 23:23:54 +0300
3614
3615    Update THANKS.
3616
3617 THANKS | 1 +
3618 1 file changed, 1 insertion(+)
3619
3620commit 340cf1ec3927767046b8293a49da3db4e393f426
3621Author: Nicholas Jackson <nickajacks1@gmail.com>
3622Date:   2022-07-17 17:39:23 -0700
3623
3624    CMake: Add missing source file to liblzma build
3625
3626 CMakeLists.txt | 1 +
3627 1 file changed, 1 insertion(+)
3628
3629commit d796b6d7fdb8b7238b277056cf9146cce25db604
3630Author: Lasse Collin <lasse.collin@tukaani.org>
3631Date:   2022-07-19 23:19:49 +0300
3632
3633    xzgrep man page: Document exit statuses.
3634
3635 src/scripts/xzgrep.1 | 15 ++++++++++++++-
3636 1 file changed, 14 insertions(+), 1 deletion(-)
3637
3638commit 923bf96b55e5216a6c8df9d8331934f54784390e
3639Author: Lasse Collin <lasse.collin@tukaani.org>
3640Date:   2022-07-19 23:13:24 +0300
3641
3642    xzgrep: Improve error handling, especially signals.
3643
3644    xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly
3645    should have. It's quite possible that it's not perfect still
3646    but at least it's much better.
3647
3648    If multiple exit statuses compete, now it tries to pick
3649    the largest of value.
3650
3651    Some comments were added.
3652
3653    The exit status handling of signals is still broken if the shell
3654    uses values larger than 255 in $? to indicate that a process
3655    died due to a signal ***and*** their "exit" command doesn't take
3656    this into account. This seems to work well with the ksh and yash
3657    versions I tried. However, there is a report in gzip/zgrep that
3658    OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating
3659    the argument to 8 bits:
3660
3661        https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25
3662
3663    Such a bug would break xzgrep but I didn't add a workaround
3664    at least for now. 5.11 is old and I don't know if the problem
3665    exists in modern descendants, or if the problem exists in other
3666    ksh implementations in use.
3667
3668 src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++--------------
3669 1 file changed, 53 insertions(+), 19 deletions(-)
3670
3671commit a648978b20495b7aa4a8b029c5a810b5ad9d08ff
3672Author: Lasse Collin <lasse.collin@tukaani.org>
3673Date:   2022-07-19 00:10:55 +0300
3674
3675    xzgrep: Make the fix for ZDI-CAN-16587 more robust.
3676
3677    I don't know if this can make a difference in the real world
3678    but it looked kind of suspicious (what happens with sed
3679    implementations that cannot process very long lines?).
3680    At least this commit shouldn't make it worse.
3681
3682 src/scripts/xzgrep.in | 5 ++++-
3683 1 file changed, 4 insertions(+), 1 deletion(-)
3684
3685commit bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5
3686Author: Lasse Collin <lasse.collin@tukaani.org>
3687Date:   2022-07-18 21:52:31 +0300
3688
3689    xzgrep: Use grep -H --label when available (GNU, *BSDs).
3690
3691    It avoids the use of sed for prefixing filenames to output lines.
3692    Using sed for that is slower and prone to security bugs so now
3693    the sed method is only used as a fallback.
3694
3695    This also fixes an actual bug: When grepping a binary file,
3696    GNU grep nowadays prints its diagnostics to stderr instead of
3697    stdout and thus the sed-method for prefixing the filename doesn't
3698    work. So with this commit grepping binary files gives reasonable
3699    output with GNU grep now.
3700
3701    This was inspired by zgrep but the implementation is different.
3702
3703 src/scripts/xzgrep.in | 21 +++++++++++++++++++++
3704 1 file changed, 21 insertions(+)
3705
3706commit b56729af9f1a596e57aeefd7570d8d7dce5c9f52
3707Author: Lasse Collin <lasse.collin@tukaani.org>
3708Date:   2022-07-18 21:10:25 +0300
3709
3710    xzgrep: Use -e to specify the pattern to grep.
3711
3712    Now we don't need the separate test for adding the -q option
3713    as it can be added directly in the two places where it's needed.
3714
3715 src/scripts/xzgrep.in | 12 ++++--------
3716 1 file changed, 4 insertions(+), 8 deletions(-)
3717
3718commit bad61b5997e6647911974022bfb72f3d4818a594
3719Author: Lasse Collin <lasse.collin@tukaani.org>
3720Date:   2022-07-18 19:18:48 +0300
3721
3722    Scripts: Use printf instead of echo in a few places.
3723
3724    It's a good habbit as echo has some portability corner cases
3725    when the string contents can be anything.
3726
3727 src/scripts/xzdiff.in | 6 +++---
3728 src/scripts/xzgrep.in | 4 ++--
3729 src/scripts/xzless.in | 4 ++--
3730 src/scripts/xzmore.in | 8 ++++----
3731 4 files changed, 11 insertions(+), 11 deletions(-)
3732
3733commit 6a4a4a7d2667837dc824c26fcb19ed6ca5aff645
3734Author: Lasse Collin <lasse.collin@tukaani.org>
3735Date:   2022-07-17 21:36:25 +0300
3736
3737    xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters.
3738
3739    Also replace one use of expr with printf.
3740
3741    The rationale for LC_ALL=C was already mentioned in
3742    69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security
3743    issue. However, unrelated uses weren't changed in that commit yet.
3744
3745    POSIX says that with sed and such tools one should use LC_ALL=C
3746    to ensure predictable behavior when strings contain byte sequences
3747    that aren't valid multibyte characters in the current locale. See
3748    under "Application usage" in here:
3749
3750    https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
3751
3752    With GNU sed invalid multibyte strings would work without this;
3753    it's documented in its Texinfo manual. Some other implementations
3754    aren't so forgiving.
3755
3756 src/scripts/xzgrep.in | 14 ++++++++------
3757 1 file changed, 8 insertions(+), 6 deletions(-)
3758
3759commit b48f9d615f2c2e8d2f6e253d0e48ee66d0652b68
3760Author: Lasse Collin <lasse.collin@tukaani.org>
3761Date:   2022-07-17 20:55:16 +0300
3762
3763    xzgrep: Fix parsing of certain options.
3764
3765    Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is
3766    an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename
3767    instead of as a pattern. This bug was fixed in zgrep in gzip in 2012.
3768
3769    Add -E, -F, -G, and -P to the "no argument required" list.
3770
3771    Add -X to "argument required" list. It is an
3772    intentionally-undocumented GNU grep option so this isn't
3773    an important option for xzgrep but it seems that other grep
3774    implementations (well, those that I checked) don't support -X
3775    so I hope this change is an improvement still.
3776
3777    grep -d (grep --directories=ACTION) requires an argument. In
3778    contrast to zgrep, I kept -d in the "no argument required" list
3779    because it's not supported in xzgrep (or zgrep). This way
3780    "xzgrep -d" gives an error about option being unsupported instead
3781    of telling that it requires an argument. Both zgrep and xzgrep
3782    tell that it's unsupported if an argument is specified.
3783
3784    Add comments.
3785
3786 src/scripts/xzgrep.in | 19 +++++++++++++++++--
3787 1 file changed, 17 insertions(+), 2 deletions(-)
3788
3789commit 2d2201bc6315deda4d43625aa510972467bd51d4
3790Author: Lasse Collin <lasse.collin@tukaani.org>
3791Date:   2022-07-14 20:33:05 +0300
3792
3793    Tests: Add the .lzma files to test_files.sh.
3794
3795 tests/test_files.sh | 20 ++++++++++++++++++++
3796 1 file changed, 20 insertions(+)
3797
3798commit ce5549a591bf126300618879f5b24023351baff6
3799Author: Lasse Collin <lasse.collin@tukaani.org>
3800Date:   2022-07-14 19:37:42 +0300
3801
3802    Tests: Add .lzma test files.
3803
3804 tests/files/README                                 |  63 ++++++++++++++++-----
3805 tests/files/bad-too_big_size-with_eopm.lzma        | Bin 0 -> 37 bytes
3806 tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes
3807 tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes
3808 tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes
3809 tests/files/bad-unknown_size-without_eopm.lzma     | Bin 0 -> 31 bytes
3810 tests/files/good-known_size-with_eopm.lzma         | Bin 0 -> 37 bytes
3811 tests/files/good-known_size-without_eopm.lzma      | Bin 0 -> 31 bytes
3812 tests/files/good-unknown_size-with_eopm.lzma       | Bin 0 -> 37 bytes
3813 9 files changed, 50 insertions(+), 13 deletions(-)
3814
3815commit 107c93ee5cad51a6ea0cee471209bfe8d76deaa3
3816Author: Lasse Collin <lasse.collin@tukaani.org>
3817Date:   2022-07-14 18:12:38 +0300
3818
3819    liblzma: Rename a variable and improve a comment.
3820
3821 src/liblzma/lzma/lzma_decoder.c | 13 +++++++++----
3822 1 file changed, 9 insertions(+), 4 deletions(-)
3823
3824commit 511feb5eadb988d641b025d597f4fac7502003b8
3825Author: Lasse Collin <lasse.collin@tukaani.org>
3826Date:   2022-07-13 22:24:41 +0300
3827
3828    Update THANKS.
3829
3830 THANKS | 1 +
3831 1 file changed, 1 insertion(+)
3832
3833commit 9595a3119b9faf0ce01375329cad8bbf85c35ea2
3834Author: Lasse Collin <lasse.collin@tukaani.org>
3835Date:   2022-07-13 22:24:07 +0300
3836
3837    liblzma: Add optional autodetection of LZMA end marker.
3838
3839    Turns out that this is needed for .lzma files as the spec in
3840    LZMA SDK says that end marker may be present even if the size
3841    is stored in the header. Such files are rare but exist in the
3842    real world. The code in liblzma is so old that the spec didn't
3843    exist in LZMA SDK back then and I had understood that such
3844    files weren't possible (the lzma tool in LZMA SDK didn't
3845    create such files).
3846
3847    This modifies the internal API so that LZMA decoder can be told
3848    if EOPM is allowed even when the uncompressed size is known.
3849    It's allowed with .lzma and not with other uses.
3850
3851    Thanks to Karl Beldan for reporting the problem.
3852
3853 doc/lzma-file-format.txt               | 11 +++-
3854 src/liblzma/common/alone_decoder.c     |  2 +-
3855 src/liblzma/common/microlzma_decoder.c |  2 +-
3856 src/liblzma/lz/lz_decoder.c            | 10 +++-
3857 src/liblzma/lz/lz_decoder.h            |  8 +--
3858 src/liblzma/lzma/lzma2_decoder.c       |  2 +-
3859 src/liblzma/lzma/lzma_decoder.c        | 99 ++++++++++++++++++++++++----------
3860 7 files changed, 95 insertions(+), 39 deletions(-)
3861
3862commit 0c0f8e9761eb6eaf199082cf144db7ac5f9d8cb2
3863Author: Lasse Collin <lasse.collin@tukaani.org>
3864Date:   2022-07-12 18:53:04 +0300
3865
3866    xz: Document the special memlimit case of 2000 MiB on MIPS32.
3867
3868    See commit fc3d3a7296ef58bb799a73943636b8bfd95339f7.
3869
3870 src/xz/xz.1 | 8 ++++++--
3871 1 file changed, 6 insertions(+), 2 deletions(-)
3872
3873commit d1bfa3dc703325ecd974167e864a8712fdfe936e
3874Author: Jia Tan <jiat0218@gmail.com>
3875Date:   2022-07-01 21:19:26 +0800
3876
3877    Created script to generate code coverage reports.
3878
3879    The script uses lcov and genhtml after running the tests
3880    to show the code coverage statistics. The script will create
3881    a coverage directory where it is run. It can be run both in
3882    and out of the source directory.
3883
3884 .gitignore             |  4 +++
3885 tests/code_coverage.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++
3886 2 files changed, 83 insertions(+)
3887
3888commit 86a30b0255d8064169fabfd213d907016d2f9f2a
3889Author: Jia Tan <jiat0218@gmail.com>
3890Date:   2022-06-16 17:32:19 +0300
3891
3892    Tests: Add more tests into test_check.
3893
3894 tests/test_check.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++--
3895 tests/tests.h      |  23 +++++
3896 2 files changed, 295 insertions(+), 7 deletions(-)
3897
3898commit 82e30fed66a89706388a8c15dc954d84e63f38fa
3899Author: Lasse Collin <lasse.collin@tukaani.org>
3900Date:   2022-06-16 15:02:57 +0300
3901
3902    Tests: Use char[][24] array for enum_strings_lzma_ret.
3903
3904    Array of pointers to short strings is a bit pointless here
3905    and now it's fully const.
3906
3907 tests/tests.h | 2 +-
3908 1 file changed, 1 insertion(+), 1 deletion(-)
3909
3910commit 5ba9459e6c4a29f6870ca78ce8ac6e519d59c41e
3911Author: Lasse Collin <lasse.collin@tukaani.org>
3912Date:   2022-06-16 14:12:14 +0300
3913
3914    Tests: tuktest.h: Add tuktest_error_impl to help with error conditions.
3915
3916 tests/tuktest.h | 72 +++++++++++++++++++++++++--------------------------------
3917 1 file changed, 32 insertions(+), 40 deletions(-)
3918
3919commit b339892668da20aea22a93668c82b87a38e4a97f
3920Author: Lasse Collin <lasse.collin@tukaani.org>
3921Date:   2022-06-16 13:29:59 +0300
3922
3923    Tests: tuktest.h: Rename file_from_* and use tuktest_malloc there.
3924
3925 tests/test_bcj_exact_size.c |  4 +---
3926 tests/tuktest.h             | 52 +++++++++++++++++++++------------------------
3927 2 files changed, 25 insertions(+), 31 deletions(-)
3928
3929commit d8b63a0ad68d1c461eb373466679ebc41fbc207d
3930Author: Lasse Collin <lasse.collin@tukaani.org>
3931Date:   2022-06-16 13:08:19 +0300
3932
3933    Tests: tuktest.h: Add malloc wrapper with automatic freeing.
3934
3935 tests/tuktest.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3936 1 file changed, 124 insertions(+)
3937
3938commit 1d51536a4b19a8fae768f8eb462fc2238cb36d53
3939Author: Lasse Collin <lasse.collin@tukaani.org>
3940Date:   2022-06-16 11:47:37 +0300
3941
3942    Tests: tuktest.h: Move a function.
3943
3944 tests/tuktest.h | 44 ++++++++++++++++++++++----------------------
3945 1 file changed, 22 insertions(+), 22 deletions(-)
3946
3947commit 70c7555f6403553ee35539e869de0025592d8564
3948Author: Lasse Collin <lasse.collin@tukaani.org>
3949Date:   2022-06-14 22:21:15 +0300
3950
3951    Tests: test_vli: Remove an invalid test-assertion.
3952
3953    lzma_vli is unsigned so trying a signed value results in
3954    a compiler warning from -Wsign-conversion. (lzma_vli)-1
3955    equals to LZMA_VLI_UNKNOWN anyway which is the next assertion.
3956
3957 tests/test_vli.c | 2 --
3958 1 file changed, 2 deletions(-)
3959
3960commit 154b73c5a1092c3f785e01666b564ad7ff1be555
3961Author: Lasse Collin <lasse.collin@tukaani.org>
3962Date:   2022-06-14 22:10:10 +0300
3963
3964    Tests: test_vli: Add const where appropriate.
3965
3966 tests/test_vli.c | 53 ++++++++++++++++++++++++++++-------------------------
3967 1 file changed, 28 insertions(+), 25 deletions(-)
3968
3969commit 0354d6cce3ff98ea6f927107baf216253f6ce2bb
3970Author: Jia Tan <jiat75@gmail.com>
3971Date:   2022-06-13 20:27:03 +0800
3972
3973    Added vli tests to .gitignore
3974
3975 .gitignore | 1 +
3976 1 file changed, 1 insertion(+)
3977
3978commit a08f5ccf6bdc20ef70e41f6f3321618ef146f96e
3979Author: Jia Tan <jiat0218@gmail.com>
3980Date:   2022-06-12 11:31:40 +0800
3981
3982    Created tests for all functions exported in vli.h
3983
3984    Achieved 100% code coverage vli_encoder.c, vli_decoder.c, and vli_size.c
3985
3986 tests/Makefile.am |   4 +-
3987 tests/test_vli.c  | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
3988 2 files changed, 311 insertions(+), 1 deletion(-)
3989
3990commit 1e3eb61815a91c0a1bfbb802e2d95593f523491f
3991Author: jiat75 <jiat0218@gmail.com>
3992Date:   2022-06-03 21:24:54 +0800
3993
3994    Added parallel test artifacts to .gitignore
3995
3996 .gitignore | 2 ++
3997 1 file changed, 2 insertions(+)
3998
3999commit 00e3613f1212eaa84e721585fdb4de6967cf2476
4000Author: Lasse Collin <lasse.collin@tukaani.org>
4001Date:   2022-06-14 21:29:21 +0300
4002
4003    Tests: Use good-1-empty-bcj-lzma2.xz in test_bcj_exact_size.
4004
4005    It's much nicer this way so that the test data isn't a hardcoded
4006    table inside the C file.
4007
4008 tests/test_bcj_exact_size.c | 19 +++++++------------
4009 1 file changed, 7 insertions(+), 12 deletions(-)
4010
4011commit 86bab755be252bfd3e0a9aee8e7b83a9bbb23ed0
4012Author: Lasse Collin <lasse.collin@tukaani.org>
4013Date:   2022-06-14 21:26:13 +0300
4014
4015    Tests: Add file reading helpers to tuktest.h.
4016
4017 tests/tuktest.h | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
4018 1 file changed, 176 insertions(+), 7 deletions(-)
4019
4020commit 83d2337b72dbf391c6f3b41889eea99e51679105
4021Author: Lasse Collin <lasse.collin@tukaani.org>
4022Date:   2022-06-14 18:21:57 +0300
4023
4024    Tests: tuktest.h: Move a printf from a macro to a helper function.
4025
4026 tests/tuktest.h | 26 ++++++++++++++++++--------
4027 1 file changed, 18 insertions(+), 8 deletions(-)
4028
4029commit f9e8176ea7d520797a2db2d49a5a632c285674a8
4030Author: Lasse Collin <lasse.collin@tukaani.org>
4031Date:   2022-06-14 17:20:49 +0300
4032
4033    Tests: Add test file good-1-empty-bcj-lzma2.xz.
4034
4035    This is from test_bcj_exact_size.c.
4036    It's good to have it as a standalone file.
4037
4038 tests/files/README                    |   5 +++++
4039 tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes
4040 2 files changed, 5 insertions(+)
4041
4042commit aa75c5563a760aea3aa23d997d519e702e82726b
4043Author: Jia Tan <jiat0218@gmail.com>
4044Date:   2022-06-10 21:35:18 +0800
4045
4046    Tests: Created tests for hardware functions.
4047
4048    Created tests for all API functions exported in
4049    src/liblzma/api/lzma/hardware.h. The tests are fairly trivial
4050    but are helpful because they will inform users if their machines
4051    cannot support these functions. They also improve the code
4052    coverage metrics.
4053
4054 .gitignore            |  1 +
4055 tests/Makefile.am     |  2 ++
4056 tests/test_hardware.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
4057 3 files changed, 48 insertions(+)
4058
4059commit 5c8ffdca20813939818843476fb212dfae8838a3
4060Author: Lasse Collin <lasse.collin@tukaani.org>
4061Date:   2022-06-02 21:01:45 +0300
4062
4063    Tests: Convert test_check to tuktest.
4064
4065    Thanks to Jia Tan for help with all the tests.
4066
4067 tests/test_check.c | 67 +++++++++++++++++++++++++++---------------------------
4068 1 file changed, 33 insertions(+), 34 deletions(-)
4069
4070commit faf5ff8899d539b4dcd2a7e5280cb820a4746c86
4071Author: Lasse Collin <lasse.collin@tukaani.org>
4072Date:   2022-06-02 20:31:03 +0300
4073
4074    Tests: Convert test_block_header to tuktest.
4075
4076 tests/test_block_header.c | 89 +++++++++++++++++++++++++++--------------------
4077 1 file changed, 52 insertions(+), 37 deletions(-)
4078
4079commit 754d39fbebee3782258d42f154a223d3c5770ec7
4080Author: Lasse Collin <lasse.collin@tukaani.org>
4081Date:   2022-06-02 20:28:23 +0300
4082
4083    Tests: Convert test_bcj_exact_size to tuktest.
4084
4085    The compress() and decompress() functions were merged because
4086    the later depends on the former so they need to be a single
4087    test case.
4088
4089 tests/test_bcj_exact_size.c | 75 +++++++++++++++++++++++++--------------------
4090 1 file changed, 41 insertions(+), 34 deletions(-)
4091
4092commit 96da21470f9570cd08286906a050a7c22631775b
4093Author: Lasse Collin <lasse.collin@tukaani.org>
4094Date:   2022-06-02 20:27:00 +0300
4095
4096    Tests: Include tuktest.h in tests.h.
4097
4098    This breaks -Werror because none of the tests so far use
4099    tuktest.h and thus there are warnings about unused variables
4100    and functions.
4101
4102 tests/tests.h | 47 +++++++++++++++++++++++------------------------
4103 1 file changed, 23 insertions(+), 24 deletions(-)
4104
4105commit df71ba1c991f60c3269aaadd398247e632714626
4106Author: Lasse Collin <lasse.collin@tukaani.org>
4107Date:   2022-06-02 20:25:21 +0300
4108
4109    Tests: Add tuktest.h mini-test-framework.
4110
4111 tests/Makefile.am |   1 +
4112 tests/tuktest.h   | 752 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
4113 2 files changed, 753 insertions(+)
4114
4115commit 4773608554d1b684a05ff9c1d879cf5c42266d33
4116Author: Lasse Collin <lasse.collin@tukaani.org>
4117Date:   2022-05-23 21:31:36 +0300
4118
4119    Build: Enable Automake's parallel test harness.
4120
4121    It has been the default for quite some time already and
4122    the old serial harness isn't discouraged. The downside is
4123    that with parallel tests one cannot print progress info or
4124    other diagnostics to the terminal; all output from the tests
4125    will be in the log files only. But now that the compression
4126    tests are separated the parallel tests will speed things up.
4127
4128 configure.ac | 2 +-
4129 1 file changed, 1 insertion(+), 1 deletion(-)
4130
4131commit 9a6dd6d46f7f256a5573e5d874c1052033ed7b05
4132Author: Lasse Collin <lasse.collin@tukaani.org>
4133Date:   2022-05-23 21:17:47 +0300
4134
4135    Tests: Split test_compress.sh into separate test unit for each file.
4136
4137    test_compress.sh now takes one command line argument:
4138    a filename to be tested. If it begins with "compress_generated_"
4139    the file will be created with create_compress_files.
4140
4141    This will allow parallel execution of the slow tests.
4142
4143 tests/Makefile.am                      | 11 +++-
4144 tests/test_compress.sh                 | 91 +++++++++++++++++++---------------
4145 tests/test_compress_generated_abc      |  3 ++
4146 tests/test_compress_generated_random   |  3 ++
4147 tests/test_compress_generated_text     |  3 ++
4148 tests/test_compress_prepared_bcj_sparc |  3 ++
4149 tests/test_compress_prepared_bcj_x86   |  3 ++
4150 7 files changed, 77 insertions(+), 40 deletions(-)
4151
4152commit c7758ac9c734707514dd34f254173ebac5eea7f8
4153Author: Lasse Collin <lasse.collin@tukaani.org>
4154Date:   2022-05-23 20:32:49 +0300
4155
4156    Test: Make create_compress_files.c a little more flexible.
4157
4158    If a command line argument is given, then only the test file
4159    of that type is created. It's quite dumb in sense that unknown
4160    names don't give an error but it's good enough here.
4161
4162    Also use EXIT_FAILURE instead of 1 as exit status for errors.
4163
4164 tests/create_compress_files.c | 25 +++++++++++++++----------
4165 1 file changed, 15 insertions(+), 10 deletions(-)
4166
4167commit 4a8e4a7b0ad4b03c0ac6862716c3457452cdaf8c
4168Author: Lasse Collin <lasse.collin@tukaani.org>
4169Date:   2022-05-23 20:17:42 +0300
4170
4171    Tests: Remove unneeded commented lines from test_compress.sh.
4172
4173 tests/test_compress.sh | 13 -------------
4174 1 file changed, 13 deletions(-)
4175
4176commit 2ee50d150ee009f36135540b459e6ff328549725
4177Author: Lasse Collin <lasse.collin@tukaani.org>
4178Date:   2022-05-23 20:16:00 +0300
4179
4180    Tests: Remove progress indicator from test_compress.sh.
4181
4182    It will be useless with Automake's parallel tests.
4183
4184 tests/test_compress.sh | 9 ---------
4185 1 file changed, 9 deletions(-)
4186
4187commit 2ce4f36f179a81d0c6e182a409f363df759d1ad0
4188Author: Lasse Collin <lasse.collin@tukaani.org>
4189Date:   2022-05-23 19:37:18 +0300
4190
4191    liblzma: Silence a warning.
4192
4193    The actual initialization is done via mythread_sync and seems
4194    that GCC doesn't necessarily see that it gets initialized there.
4195
4196 src/liblzma/common/stream_decoder_mt.c | 2 +-
4197 1 file changed, 1 insertion(+), 1 deletion(-)
4198
4199commit 5d8f3764ef43c35910e6d7003c0900a961ef6544
4200Author: Lasse Collin <lasse.collin@tukaani.org>
4201Date:   2022-04-14 20:53:16 +0300
4202
4203    xz: Fix build with --disable-threads.
4204
4205 src/xz/hardware.c | 4 ++++
4206 1 file changed, 4 insertions(+)
4207
4208commit 1d592897278b172d8549aa29c3a1f3a4f432a9b9
4209Author: Lasse Collin <lasse.collin@tukaani.org>
4210Date:   2022-04-14 14:50:17 +0300
4211
4212    xz: Change the cap of the default -T0 memlimit for 32-bit xz.
4213
4214    The SIZE_MAX / 3 was 1365 MiB. 1400 MiB gives little more room
4215    and it looks like a round (artificial) number in --info-memory
4216    once --info-memory is made to display it.
4217
4218    Also, using #if avoids useless code on 64-bit builds.
4219
4220 src/xz/hardware.c | 4 +++-
4221 1 file changed, 3 insertions(+), 1 deletion(-)
4222
4223commit c77fe55ddb7752ed0fec46967c5ec9a72632ea0c
4224Author: Lasse Collin <lasse.collin@tukaani.org>
4225Date:   2022-04-14 14:20:46 +0300
4226
4227    xz: Add a default soft memory usage limit for --threads=0.
4228
4229    This is a soft limit in sense that it only affects the number of
4230    threads. It never makes xz fail and it never makes xz change
4231    settings that would affect the compressed output.
4232
4233    The idea is to make -T0 have more reasonable behavior when
4234    the system has very many cores or when a memory-hungry
4235    compression options are used. This also helps with 32-bit xz,
4236    preventing it from running out of address space.
4237
4238    The downside of this commit is that now the number of threads
4239    might become too low compared to what the user expected. I
4240    hope this to be an acceptable compromise as the old behavior
4241    has been a source of well-argued complaints for a long time.
4242
4243 src/xz/coder.c    | 28 ++++++++++++++++++++++++++--
4244 src/xz/hardware.c | 38 +++++++++++++++++++++++++++++---------
4245 src/xz/hardware.h | 27 +++++++++++++++++++++++++++
4246 3 files changed, 82 insertions(+), 11 deletions(-)
4247
4248commit 0adc13bfe32c14f3e4c6ce9f2d4fdf4112ab53f4
4249Author: Lasse Collin <lasse.collin@tukaani.org>
4250Date:   2022-04-14 12:59:09 +0300
4251
4252    xz: Make -T0 use multithreaded mode on single-core systems.
4253
4254    The main problem withi the old behavior is that the compressed
4255    output is different on single-core systems vs. multicore systems.
4256    This commit fixes it by making -T0 one thread in multithreaded mode
4257    on single-core systems.
4258
4259    The downside of this is that it uses more memory. However, if
4260    --memlimit-compress is used, xz can (thanks to the previous commit)
4261    drop to the single-threaded mode still.
4262
4263 src/xz/coder.c    | 18 +++++++++---------
4264 src/xz/hardware.c | 14 ++++++++++++++
4265 src/xz/hardware.h |  4 ++++
4266 3 files changed, 27 insertions(+), 9 deletions(-)
4267
4268commit 898faa97287a756231c663a3ed5165672b417207
4269Author: Lasse Collin <lasse.collin@tukaani.org>
4270Date:   2022-04-14 12:38:00 +0300
4271
4272    xz: Changes to --memlimit-compress and --no-adjust.
4273
4274    In single-threaded mode, --memlimit-compress can make xz scale down
4275    the LZMA2 dictionary size to meet the memory usage limit. This
4276    obviously affects the compressed output. However, if xz was in
4277    threaded mode, --memlimit-compress could make xz reduce the number
4278    of threads but it wouldn't make xz switch from multithreaded mode
4279    to single-threaded mode or scale down the LZMA2 dictionary size.
4280    This seemed illogical and there was even a "FIXME?" about it.
4281
4282    Now --memlimit-compress can make xz switch to single-threaded
4283    mode if one thread in multithreaded mode uses too much memory.
4284    If memory usage is still too high, then the LZMA2 dictionary
4285    size can be scaled down too.
4286
4287    The option --no-adjust was also changed so that it no longer
4288    prevents xz from scaling down the number of threads as that
4289    doesn't affect compressed output (only performance). After
4290    this commit --no-adjust only prevents adjustments that affect
4291    compressed output, that is, with --no-adjust xz won't switch
4292    from multithreaded mode to single-threaded mode and won't
4293    scale down the LZMA2 dictionary size.
4294
4295    The man page wasn't updated yet.
4296
4297 src/xz/coder.c | 63 +++++++++++++++++++++++++++++++++++++++-------------------
4298 1 file changed, 43 insertions(+), 20 deletions(-)
4299
4300commit cad299008cf73ec566f0662a9cf2b94f86a99659
4301Author: Lasse Collin <lasse.collin@tukaani.org>
4302Date:   2022-04-11 22:20:49 +0300
4303
4304    xz: Add --memlimit-mt-decompress along with a default limit value.
4305
4306    --memlimit-mt-decompress allows specifying the limit for
4307    multithreaded decompression. This matches memlimit_threading in
4308    liblzma. This limit can only affect the number of threads being
4309    used; it will never prevent xz from decompressing a file. The
4310    old --memlimit-decompress option is still used at the same time.
4311
4312    If the value of --memlimit-decompress (the default value or
4313    one specified by the user) is less than the value of
4314    --memlimit-mt-decompress , then --memlimit-mt-decompress is
4315    reduced to match --memlimit-decompress.
4316
4317    Man page wasn't updated yet.
4318
4319 src/xz/args.c     | 24 +++++++++++++++-------
4320 src/xz/coder.c    | 34 ++++++++++---------------------
4321 src/xz/hardware.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
4322 src/xz/hardware.h | 17 ++++++++++------
4323 src/xz/message.c  |  4 +++-
4324 5 files changed, 97 insertions(+), 42 deletions(-)
4325
4326commit fe87b4cd5364f5bbb6a75a0299f1500c852d7c9a
4327Author: Lasse Collin <lasse.collin@tukaani.org>
4328Date:   2022-04-06 23:11:59 +0300
4329
4330    liblzma: Threaded decoder: Improve setting of pending_error.
4331
4332    It doesn't need to be done conditionally. The comments try
4333    to explain it.
4334
4335 src/liblzma/common/stream_decoder_mt.c | 51 +++++++++++++++++++++++-----------
4336 1 file changed, 35 insertions(+), 16 deletions(-)
4337
4338commit 90621da7f6e1bfd6d91d60415eae04b2bca274c2
4339Author: Lasse Collin <lasse.collin@tukaani.org>
4340Date:   2022-04-06 12:39:49 +0300
4341
4342    liblzma: Add a new flag LZMA_FAIL_FAST for threaded decoder.
4343
4344    In most cases if the input file is corrupt the application won't
4345    care about the uncompressed content at all. With this new flag
4346    the threaded decoder will return an error as soon as any thread
4347    has detected an error; it won't wait to copy out the data before
4348    the location of the error.
4349
4350    I don't plan to use this in xz to keep the behavior consistent
4351    between single-threaded and multi-threaded modes.
4352
4353 src/liblzma/api/lzma/container.h       | 25 ++++++++++++++++-
4354 src/liblzma/common/common.h            |  7 +++--
4355 src/liblzma/common/stream_decoder_mt.c | 50 +++++++++++++++++++---------------
4356 3 files changed, 56 insertions(+), 26 deletions(-)
4357
4358commit 64b6d496dc815a176d8307f418f6834a26783484
4359Author: Lasse Collin <lasse.collin@tukaani.org>
4360Date:   2022-04-05 12:24:57 +0300
4361
4362    liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used.
4363
4364    This makes the behavior consistent with the single-threaded
4365    decoder when handling truncated .xz files.
4366
4367    Thanks to Jia Tan for finding this issue.
4368
4369 src/liblzma/common/stream_decoder_mt.c | 26 ++++++++++++++++++++++++--
4370 1 file changed, 24 insertions(+), 2 deletions(-)
4371
4372commit e671bc8828b9c0c5406c3a22c541301d0eb54518
4373Author: Lasse Collin <lasse.collin@tukaani.org>
4374Date:   2022-04-02 21:49:59 +0300
4375
4376    liblzma: Threaded decoder: Support zpipe.c-style decoding loop.
4377
4378    This makes it possible to call lzma_code() in a loop that only
4379    reads new input when lzma_code() didn't fill the output buffer
4380    completely. That isn't the calling style suggested by the
4381    liblzma example program 02_decompress.c so perhaps the usefulness
4382    of this feature is limited.
4383
4384    Also, it is possible to write such a loop so that it works
4385    with the single-threaded decoder but not with the threaded
4386    decoder even after this commit, or so that it works only if
4387    lzma_mt.timeout = 0.
4388
4389    The zlib tutorial <https://zlib.net/zlib_how.html> is a well-known
4390    example of a loop where more input is read only when output isn't
4391    full. Porting this as is to liblzma would work with the
4392    single-threaded decoder (if LZMA_CONCATENATED isn't used) but it
4393    wouldn't work with threaded decoder even after this commit because
4394    the loop assumes that no more output is possible when it cannot
4395    read more input ("if (strm.avail_in == 0) break;"). This cannot
4396    be fixed at liblzma side; the loop has to be modified at least
4397    a little.
4398
4399    I'm adding this in any case because the actual code is simple
4400    and short and should have no harmful side-effects in other
4401    situations.
4402
4403 src/liblzma/common/stream_decoder_mt.c | 77 +++++++++++++++++++++++++++++-----
4404 1 file changed, 67 insertions(+), 10 deletions(-)
4405
4406commit 2ba8173e27be4793edb46497e499ac2ae753a316
4407Author: Lasse Collin <lasse.collin@tukaani.org>
4408Date:   2022-03-31 00:05:07 +0300
4409
4410    Update THANKS.
4411
4412 THANKS | 1 +
4413 1 file changed, 1 insertion(+)
4414
4415commit 69d1b3fc29677af8ade8dc15dba83f0589cb63d6
4416Author: Lasse Collin <lasse.collin@tukaani.org>
4417Date:   2022-03-29 19:19:12 +0300
4418
4419    xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587).
4420
4421    Malicious filenames can make xzgrep to write to arbitrary files
4422    or (with a GNU sed extension) lead to arbitrary code execution.
4423
4424    xzgrep from XZ Utils versions up to and including 5.2.5 are
4425    affected. 5.3.1alpha and 5.3.2alpha are affected as well.
4426    This patch works for all of them.
4427
4428    This bug was inherited from gzip's zgrep. gzip 1.12 includes
4429    a fix for zgrep.
4430
4431    The issue with the old sed script is that with multiple newlines,
4432    the N-command will read the second line of input, then the
4433    s-commands will be skipped because it's not the end of the
4434    file yet, then a new sed cycle starts and the pattern space
4435    is printed and emptied. So only the last line or two get escaped.
4436
4437    One way to fix this would be to read all lines into the pattern
4438    space first. However, the included fix is even simpler: All lines
4439    except the last line get a backslash appended at the end. To ensure
4440    that shell command substitution doesn't eat a possible trailing
4441    newline, a colon is appended to the filename before escaping.
4442    The colon is later used to separate the filename from the grep
4443    output so it is fine to add it here instead of a few lines later.
4444
4445    The old code also wasn't POSIX compliant as it used \n in the
4446    replacement section of the s-command. Using \<newline> is the
4447    POSIX compatible method.
4448
4449    LC_ALL=C was added to the two critical sed commands. POSIX sed
4450    manual recommends it when using sed to manipulate pathnames
4451    because in other locales invalid multibyte sequences might
4452    cause issues with some sed implementations. In case of GNU sed,
4453    these particular sed scripts wouldn't have such problems but some
4454    other scripts could have, see:
4455
4456        info '(sed)Locale Considerations'
4457
4458    This vulnerability was discovered by:
4459    cleemy desu wayo working with Trend Micro Zero Day Initiative
4460
4461    Thanks to Jim Meyering and Paul Eggert discussing the different
4462    ways to fix this and for coordinating the patch release schedule
4463    with gzip.
4464
4465 src/scripts/xzgrep.in | 20 ++++++++++++--------
4466 1 file changed, 12 insertions(+), 8 deletions(-)
4467
4468commit bd93b776c1bd15e90661033c918cdeb354dbcc38
4469Author: Lasse Collin <lasse.collin@tukaani.org>
4470Date:   2022-03-26 01:02:44 +0200
4471
4472    liblzma: Fix a deadlock in threaded decoder.
4473
4474    If a worker thread has consumed all input so far and it's
4475    waiting on thr->cond and then the main thread enables
4476    partial update for that thread, the code used to deadlock.
4477    This commit allows one dummy decoding pass to occur in this
4478    situation which then also does the partial update.
4479
4480    As part of the fix, this moves thr->progress_* updates to
4481    avoid the second thr->mutex locking.
4482
4483    Thanks to Jia Tan for finding, debugging, and reporting the bug.
4484
4485 src/liblzma/common/stream_decoder_mt.c | 71 +++++++++++++++++++++++++---------
4486 1 file changed, 52 insertions(+), 19 deletions(-)
4487
4488commit e0394e94230f208682ac1e1f4c41f22f9ad79916
4489Author: Lasse Collin <lasse.collin@tukaani.org>
4490Date:   2022-03-23 16:34:00 +0200
4491
4492    Update THANKS.
4493
4494 THANKS | 1 +
4495 1 file changed, 1 insertion(+)
4496
4497commit 487c77d48760564b1949c5067630b675b87be4de
4498Author: Lasse Collin <lasse.collin@tukaani.org>
4499Date:   2022-03-23 16:28:55 +0200
4500
4501    liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT.
4502
4503    LZMA_TIMED_OUT is not an error and thus stopping threads on
4504    LZMA_TIMED_OUT breaks the decoder badly.
4505
4506    Thanks to Jia Tan for finding the bug and for the patch.
4507
4508 src/liblzma/common/stream_decoder_mt.c | 2 +-
4509 1 file changed, 1 insertion(+), 1 deletion(-)
4510
4511commit 6c6da57ae2aa962aabde6892442227063d87e88c
4512Author: Lasse Collin <lasse.collin@tukaani.org>
4513Date:   2022-03-07 00:36:16 +0200
4514
4515    xz: Add initial support for threaded decompression.
4516
4517    If threading support is enabled at build time, this will
4518    use lzma_stream_decoder_mt() even for single-threaded mode.
4519    With memlimit_threading=0 the behavior should be identical.
4520
4521    This needs some work like adding --memlimit-threading=LIMIT.
4522
4523    The original patch from Sebastian Andrzej Siewior included
4524    a method to get currently available RAM on Linux. It might
4525    be one way to go but as it is Linux-only, the available-RAM
4526    approach needs work for portability or using a fallback method
4527    on other OSes.
4528
4529    The man page wasn't updated yet.
4530
4531 src/xz/coder.c | 36 +++++++++++++++++++++++++++++++++++-
4532 1 file changed, 35 insertions(+), 1 deletion(-)
4533
4534commit 4cce3e27f529af33e0e7749a8cbcec59954946b5
4535Author: Lasse Collin <lasse.collin@tukaani.org>
4536Date:   2022-03-06 23:36:20 +0200
4537
4538    liblzma: Add threaded .xz decompressor.
4539
4540    I realize that this is about a decade late.
4541
4542    Big thanks to Sebastian Andrzej Siewior for the original patch.
4543    I made a bunch of smaller changes but after a while quite a few
4544    things got rewritten. So any bugs in the commit were created by me.
4545
4546 src/liblzma/api/lzma/container.h       |   90 +-
4547 src/liblzma/common/Makefile.inc        |    5 +
4548 src/liblzma/common/common.h            |    4 +
4549 src/liblzma/common/stream_decoder_mt.c | 1814 ++++++++++++++++++++++++++++++++
4550 src/liblzma/liblzma.map                |    1 +
4551 5 files changed, 1907 insertions(+), 7 deletions(-)
4552
4553commit 717631b9788dc9c100ee0c87d3c14a2782638ff4
4554Author: Lasse Collin <lasse.collin@tukaani.org>
4555Date:   2022-03-06 16:54:23 +0200
4556
4557    liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK.
4558
4559    If Check is unsupported, it will be silently ignored.
4560    It's the caller's job to handle it.
4561
4562 src/liblzma/api/lzma/block.h | 3 ---
4563 1 file changed, 3 deletions(-)
4564
4565commit 1a4bb97a00936535e30ac61945aeee38882b5d1a
4566Author: Lasse Collin <lasse.collin@tukaani.org>
4567Date:   2022-03-06 16:41:19 +0200
4568
4569    liblzma: Add new output queue (lzma_outq) features.
4570
4571    Add lzma_outq_clear_cache2() which may leave one buffer allocated
4572    in the cache.
4573
4574    Add lzma_outq_outbuf_memusage() to get the memory needed for
4575    a single lzma_outbuf. This is now used internally in outqueue.c too.
4576
4577    Track both the total amount of memory allocated and the amount of
4578    memory that is in active use (not in cache).
4579
4580    In lzma_outbuf, allow storing the current input position that
4581    matches the current output position. This way the main thread
4582    can notice when no more output is possible without first providing
4583    more input.
4584
4585    Allow specifying return code for lzma_outq_read() in a finished
4586    lzma_outbuf.
4587
4588 src/liblzma/common/outqueue.c | 43 +++++++++++++++++++++++++++++++++++-------
4589 src/liblzma/common/outqueue.h | 44 ++++++++++++++++++++++++++++++++++++++++++-
4590 2 files changed, 79 insertions(+), 8 deletions(-)
4591
4592commit ddbc6f58c2de388eed24cd7ea91b523d397da5f4
4593Author: Lasse Collin <lasse.collin@tukaani.org>
4594Date:   2022-03-06 15:18:58 +0200
4595
4596    liblzma: Index hash: Change return value type of hash_append() to void.
4597
4598 src/liblzma/common/index_hash.c | 11 +++++------
4599 1 file changed, 5 insertions(+), 6 deletions(-)
4600
4601commit 20e7a33e2d59c6a814447d3991f21e2702174b20
4602Author: Lasse Collin <lasse.collin@tukaani.org>
4603Date:   2022-02-22 03:42:57 +0200
4604
4605    liblzma: Minor addition to lzma_vli_size() API doc.
4606
4607    Thanks to Jia Tan.
4608
4609 src/liblzma/api/lzma/vli.h | 2 ++
4610 1 file changed, 2 insertions(+)
4611
4612commit 4f78f5fcf63592f2d77e921cfe0d5de300867374
4613Author: Lasse Collin <lasse.collin@tukaani.org>
4614Date:   2022-02-22 02:04:18 +0200
4615
4616    liblzma: Check the return value of lzma_index_append() in threaded encoder.
4617
4618    If lzma_index_append() failed (most likely memory allocation failure)
4619    it could have gone unnoticed and the resulting .xz file would have
4620    an incorrect Index. Decompressing such a file would produce the
4621    correct uncompressed data but then an error would occur when
4622    verifying the Index field.
4623
4624 src/liblzma/common/stream_encoder_mt.c | 7 +++++--
4625 1 file changed, 5 insertions(+), 2 deletions(-)
4626
4627commit 5313ad66b40aab822ddca3e9905254cb99a4080d
4628Author: Lasse Collin <lasse.collin@tukaani.org>
4629Date:   2022-02-22 01:37:39 +0200
4630
4631    Update THANKS.
4632
4633 THANKS | 1 +
4634 1 file changed, 1 insertion(+)
4635
4636commit 865e0a3689a25a7ee8eecae1a34c1775e3aa676e
4637Author: Ed Maste <emaste@FreeBSD.org>
4638Date:   2022-02-11 15:25:46 +0000
4639
4640    liblzma: Use non-executable stack on FreeBSD as on Linux
4641
4642 src/liblzma/check/crc32_x86.S | 4 ++--
4643 src/liblzma/check/crc64_x86.S | 4 ++--
4644 2 files changed, 4 insertions(+), 4 deletions(-)
4645
4646commit 1c9a5786d206b4abc8e427326651c8174baea753
4647Author: Lasse Collin <lasse.collin@tukaani.org>
4648Date:   2022-02-20 20:36:27 +0200
4649
4650    liblzma: Make Block decoder catch certain types of errors better.
4651
4652    Now it limits the input and output buffer sizes that are
4653    passed to a raw decoder. This way there's no need to check
4654    if the sizes can grow too big or overflow when updating
4655    Compressed Size and Uncompressed Size counts. This also means
4656    that a corrupt file cannot cause the raw decoder to process
4657    useless extra input or output that would exceed the size info
4658    in Block Header (and thus cause LZMA_DATA_ERROR anyway).
4659
4660    More importantly, now the size information is verified more
4661    carefully in case raw decoder returns LZMA_OK. This doesn't
4662    really matter with the current single-threaded .xz decoder
4663    as the errors would be detected slightly later anyway. But
4664    this helps avoiding corner cases in the upcoming threaded
4665    decompressor, and it might help other Block decoder uses
4666    outside liblzma too.
4667
4668    The test files bad-1-lzma2-{9,10,11}.xz test these conditions.
4669    With the single-threaded .xz decoder the only difference is
4670    that LZMA_DATA_ERROR is detected in a difference place now.
4671
4672 src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------
4673 1 file changed, 54 insertions(+), 25 deletions(-)
4674
4675commit 555de11873eb00c9b94a8be70645db502e5a9dbd
4676Author: Lasse Collin <lasse.collin@tukaani.org>
4677Date:   2022-02-20 19:38:55 +0200
4678
4679    Tests: Add bad-1-lzma2-11.xz.
4680
4681 tests/files/README            |   5 +++++
4682 tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes
4683 2 files changed, 5 insertions(+)
4684
4685commit f0da507f22e7f4e3edb75b45b74d344244ca03fb
4686Author: Lasse Collin <lasse.collin@tukaani.org>
4687Date:   2022-02-18 18:51:10 +0200
4688
4689    Translations: Fix po4a failure with the French man page translations.
4690
4691    Thanks to Mario Blättermann for the patch.
4692
4693 po4a/fr_FR.po | 6 ++++--
4694 1 file changed, 4 insertions(+), 2 deletions(-)
4695
4696commit f7711d228c3c32395460c82498c60a9f730d0239
4697Author: Lasse Collin <lasse.collin@tukaani.org>
4698Date:   2022-02-07 01:14:37 +0200
4699
4700    Translations: Add French translation of man pages.
4701
4702    This matches xz-utils 5.2.5-2 in Debian.
4703
4704    The translation was done by "bubu", proofread by the debian-l10n-french
4705    mailing list contributors, and submitted to me on the xz-devel mailing
4706    list by Jean-Pierre Giraud. Thanks to everyone!
4707
4708 po4a/fr_FR.po  | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4709 po4a/po4a.conf |    2 +-
4710 2 files changed, 3542 insertions(+), 1 deletion(-)
4711
4712commit 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4
4713Author: jiat75 <jiat0218@gmail.com>
4714Date:   2022-01-28 20:47:55 +0800
4715
4716    liblzma: Add NULL checks to LZMA and LZMA2 properties encoders.
4717
4718    Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode()
4719    assumed that the options pointers must be non-NULL because the
4720    with these filters the API says it must never be NULL. It is
4721    good to do these checks anyway.
4722
4723 src/liblzma/lzma/lzma2_encoder.c | 3 +++
4724 src/liblzma/lzma/lzma_encoder.c  | 3 +++
4725 2 files changed, 6 insertions(+)
4726
4727commit 2523c30705f49eabd27b854aa656ae87cc224808
4728Author: Lasse Collin <lasse.collin@tukaani.org>
4729Date:   2022-02-06 23:19:32 +0200
4730
4731    liblzma: Fix uint64_t vs. size_t confusion.
4732
4733    This broke 32-bit builds due to a pointer type mismatch.
4734
4735    This bug was introduced with the output-size-limited encoding
4736    in 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
4737
4738    Thanks to huangqinjin for the bug report.
4739
4740 src/liblzma/rangecoder/range_encoder.h | 11 +++++++----
4741 1 file changed, 7 insertions(+), 4 deletions(-)
4742
4743commit 2bd36c91d03e03b31a4f12fd0afc100ae32d66e2
4744Author: huangqinjin <huangqinjin@gmail.com>
4745Date:   2021-12-13 20:49:21 +0800
4746
4747    CMake: Keep compatible with Windows 95 for 32-bit build.
4748
4749 CMakeLists.txt | 12 +++++++++++-
4750 1 file changed, 11 insertions(+), 1 deletion(-)
4751
4752commit 2024fbf2794885277d05378d40b2b8015a7c3b40
4753Author: Lasse Collin <lasse.collin@tukaani.org>
4754Date:   2021-11-13 21:04:05 +0200
4755
4756    xzgrep: Update man page timestamp.
4757
4758 src/scripts/xzgrep.1 | 2 +-
4759 1 file changed, 1 insertion(+), 1 deletion(-)
4760
4761commit 400e7a239a53282cedaad927a41f3463d7f542e5
4762Author: Lasse Collin <lasse.collin@tukaani.org>
4763Date:   2021-11-13 18:23:24 +0200
4764
4765    Update THANKS.
4766
4767 THANKS | 1 +
4768 1 file changed, 1 insertion(+)
4769
4770commit 3a512c7787b2642ca946f4adc6e9a0a5d9b0d5a0
4771Author: Ville Skyttä <ville.skytta@iki.fi>
4772Date:   2021-11-13 10:11:57 +0200
4773
4774    xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep`
4775
4776    `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in
4777    current post 3.7 Git they have been made to emit obsolescence warnings:
4778    https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1
4779
4780 src/scripts/xzgrep.1  | 8 ++++----
4781 src/scripts/xzgrep.in | 4 ++--
4782 2 files changed, 6 insertions(+), 6 deletions(-)
4783
4784commit edf525e2b1840dcaf377df472c67d8f11f8ace1b
4785Author: Lasse Collin <lasse.collin@tukaani.org>
4786Date:   2021-10-28 23:02:11 +0300
4787
4788    Bump the version number for 5.3.2alpha.
4789
4790 src/liblzma/api/lzma/version.h | 2 +-
4791 src/liblzma/liblzma.map        | 2 +-
4792 2 files changed, 2 insertions(+), 2 deletions(-)
4793
4794commit ea8c948655a86290524efe59cff067e06a886709
4795Author: Lasse Collin <lasse.collin@tukaani.org>
4796Date:   2021-10-28 22:59:52 +0300
4797
4798    Add NEWS for 5.3.2alpha.
4799
4800 NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4801 1 file changed, 86 insertions(+)
4802
4803commit 52435f302f4724157ec50b4210cbe42b285c3cbc
4804Author: Lasse Collin <lasse.collin@tukaani.org>
4805Date:   2021-10-27 23:27:48 +0300
4806
4807    Update THANKS.
4808
4809 THANKS | 1 +
4810 1 file changed, 1 insertion(+)
4811
4812commit f2aea1d5a504b2021bf47a238390e4f12bdd518d
4813Author: Lasse Collin <lasse.collin@tukaani.org>
4814Date:   2021-10-27 23:23:11 +0300
4815
4816    xz: Change the coding style of the previous commit.
4817
4818    It isn't any better now but it's consistent with
4819    the rest of the code base.
4820
4821 src/xz/file_io.c | 11 ++++++-----
4822 1 file changed, 6 insertions(+), 5 deletions(-)
4823
4824commit 892b16cc282f5b4e1c49871b326f4db25c5b4d81
4825Author: Alexander Bluhm <alexander.bluhm@gmx.net>
4826Date:   2021-10-05 23:33:16 +0200
4827
4828    xz: Avoid fchown(2) failure.
4829
4830    OpenBSD does not allow to change the group of a file if the user
4831    does not belong to this group.  In contrast to Linux, OpenBSD also
4832    fails if the new group is the same as the old one.  Do not call
4833    fchown(2) in this case, it would change nothing anyway.
4834
4835    This fixes an issue with Perl Alien::Build module.
4836    https://github.com/PerlAlien/Alien-Build/issues/62
4837
4838 src/xz/file_io.c | 8 +++++++-
4839 1 file changed, 7 insertions(+), 1 deletion(-)
4840
4841commit 2b509c868cae3988bf21cd693fbf9021cdc85628
4842Author: Lasse Collin <lasse.collin@tukaani.org>
4843Date:   2021-09-17 17:31:11 +0300
4844
4845    liblzma: Fix liblzma.map for the lzma_microlzma_* symbols.
4846
4847    This should have been part of d267d109c370a40b502e73f8664b154b15e4f253.
4848
4849    Thanks to Gao Xiang.
4850
4851 src/liblzma/liblzma.map | 4 ++--
4852 1 file changed, 2 insertions(+), 2 deletions(-)
4853
4854commit cacb06a954b58255dfc084a0bc9708f43a0fd6d6
4855Author: Lasse Collin <lasse.collin@tukaani.org>
4856Date:   2021-09-09 22:21:07 +0300
4857
4858    Update THANKS.
4859
4860 THANKS | 1 +
4861 1 file changed, 1 insertion(+)
4862
4863commit 6928aac9da6ba612780b9f72ba1d6ecbe1e8b54e
4864Author: Lasse Collin <lasse.collin@tukaani.org>
4865Date:   2021-09-09 21:41:51 +0300
4866
4867    liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC.
4868
4869    By default, MSVC always sets __cplusplus to 199711L. The real
4870    C++ standard version is available in _MSVC_LANG (or one could
4871    use /Zc:__cplusplus to set __cplusplus correctly).
4872
4873    Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>.
4874
4875    Thanks to Dan Weiss.
4876
4877 src/liblzma/api/lzma.h | 3 ++-
4878 1 file changed, 2 insertions(+), 1 deletion(-)
4879
4880commit d267d109c370a40b502e73f8664b154b15e4f253
4881Author: Lasse Collin <lasse.collin@tukaani.org>
4882Date:   2021-09-05 20:38:12 +0300
4883
4884    liblzma: Rename EROFS LZMA to MicroLZMA.
4885
4886    It still exists primarily for EROFS but MicroLZMA is
4887    a more generic name (that hopefully doesn't clash with
4888    something that already exists).
4889
4890 src/liblzma/api/lzma/container.h                   | 33 +++++++++++++---------
4891 src/liblzma/common/Makefile.inc                    |  4 +--
4892 .../{erofs_decoder.c => microlzma_decoder.c}       | 32 ++++++++++-----------
4893 .../{erofs_encoder.c => microlzma_encoder.c}       | 30 ++++++++++----------
4894 4 files changed, 52 insertions(+), 47 deletions(-)
4895
4896commit 3247e95115acb95bc27f41e8cf4501db5b0b4309
4897Author: Lasse Collin <lasse.collin@tukaani.org>
4898Date:   2021-06-04 19:02:38 +0300
4899
4900    xzdiff: Update the man page about the exit status.
4901
4902    This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca.
4903
4904 src/scripts/xzdiff.1 | 4 ++--
4905 1 file changed, 2 insertions(+), 2 deletions(-)
4906
4907commit 96f5a28a46fc93ac4e296808ac0f8631d05498bc
4908Author: Lasse Collin <lasse.collin@tukaani.org>
4909Date:   2021-06-04 18:52:48 +0300
4910
4911    xzless: Fix less(1) version detection when it contains a dot.
4912
4913    Sometimes the version number from "less -V" contains a dot,
4914    sometimes not. xzless failed detect the version number when
4915    it does contain a dot. This fixes it.
4916
4917    Thanks to nick87720z for reporting this. Apparently it had been
4918    reported here <https://bugs.gentoo.org/489362> in 2013.
4919
4920 src/scripts/xzless.in | 2 +-
4921 1 file changed, 1 insertion(+), 1 deletion(-)
4922
4923commit 5fb5212d816addbc523d0798cb482fdd0484f8fa
4924Author: Lasse Collin <lasse.collin@tukaani.org>
4925Date:   2021-04-11 19:58:10 +0300
4926
4927    Update THANKS.
4928
4929 THANKS | 2 ++
4930 1 file changed, 2 insertions(+)
4931
4932commit fc3d3a7296ef58bb799a73943636b8bfd95339f7
4933Author: Ivan A. Melnikov <iv@altlinux.org>
4934Date:   2021-04-09 11:45:10 +0300
4935
4936    Reduce maximum possible memory limit on MIPS32
4937
4938    Due to architectural limitations, address space available to a single
4939    userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems
4940    that have more physical RAM -- e.g. 64-bit systems with 32-bit
4941    userspace, or systems that use XPA (an extension similar to x86's PAE).
4942
4943    So, for MIPS32, we have to impose stronger memory limits. I've chosen
4944    2000MiB to give the process some headroom.
4945
4946 src/xz/hardware.c | 6 ++++++
4947 1 file changed, 6 insertions(+)
4948
4949commit e7da44d5151e21f153925781ad29334ae0786101
4950Author: Lasse Collin <lasse.collin@tukaani.org>
4951Date:   2021-02-13 23:31:27 +0200
4952
4953    CMake: Use interface library for better FindLibLZMA compatibility.
4954
4955    https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html
4956
4957    Thanks to Markus Rickert.
4958
4959 CMakeLists.txt | 11 +++++++++--
4960 1 file changed, 9 insertions(+), 2 deletions(-)
4961
4962commit a61dd82ada39030f41b4ffca9ea551714908bedc
4963Author: Lasse Collin <lasse.collin@tukaani.org>
4964Date:   2021-01-30 18:36:04 +0200
4965
4966    CMake: Try to improve compatibility with the FindLibLZMA module.
4967
4968    The naming conflict with FindLibLZMA module gets worse.
4969    Not avoiding it in the first place was stupid.
4970
4971    Normally find_package(LibLZMA) will use the module and
4972    find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config
4973    file even with a case insensitive file system. However, if
4974    CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system
4975    is case insensitive, find_package(LibLZMA) will find our liblzma
4976    config file instead of using FindLibLZMA module.
4977
4978    One big problem with this is that FindLibLZMA uses
4979    LibLZMA::LibLZMA and we use liblzma::liblzma as the target
4980    name. With target names CMake happens to be case sensitive.
4981    To workaround this, this commit adds
4982
4983        add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma)
4984
4985    to the config file. Then both spellings work.
4986
4987    To make the behavior consistent between case sensitive and
4988    insensitive file systems, the config and related files are
4989    renamed from liblzmaConfig.cmake to liblzma-config.cmake style.
4990    With this style CMake looks for lowercase version of the package
4991    name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work
4992    to find our config file.
4993
4994    There are other differences between our config file and
4995    FindLibLZMA so it's still possible that things break for
4996    reasons other than the spelling of the target name. Hopefully
4997    those situations aren't too common.
4998
4999    When the config file is available, it should always give as good or
5000    better results as FindLibLZMA so this commit doesn't affect the
5001    recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG)
5002    which explicitly avoids FindLibLZMA.
5003
5004    Thanks to Markus Rickert.
5005
5006 CMakeLists.txt | 21 +++++++++++++--------
5007 1 file changed, 13 insertions(+), 8 deletions(-)
5008
5009commit 5b7bc1b8ae766a76710ca1b99f909cf52c697f05
5010Author: Lasse Collin <lasse.collin@tukaani.org>
5011Date:   2021-01-29 21:19:43 +0200
5012
5013    Update THANKS.
5014
5015 THANKS | 1 +
5016 1 file changed, 1 insertion(+)
5017
5018commit 6c6f0db340dcb8bb424411cedba713405d55f6b8
5019Author: Lasse Collin <lasse.collin@tukaani.org>
5020Date:   2021-01-29 21:19:08 +0200
5021
5022    liblzma: Fix unitialized variable.
5023
5024    This was introduced two weeks ago in the commit
5025    625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
5026
5027    Thanks to Nathan Moinvaziri.
5028
5029 src/liblzma/lzma/lzma_encoder.c | 1 +
5030 1 file changed, 1 insertion(+)
5031
5032commit bb1d5c1fdd30550d4221ecd336e0be1206132a5c
5033Author: Lasse Collin <lasse.collin@tukaani.org>
5034Date:   2021-01-24 22:32:41 +0200
5035
5036    Tests: Add bad-1-lzma2-10.xz and also modify -9.xz.
5037
5038 tests/files/README            |  11 +++++++++--
5039 tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes
5040 tests/files/bad-1-lzma2-9.xz  | Bin 72 -> 72 bytes
5041 3 files changed, 9 insertions(+), 2 deletions(-)
5042
5043commit 6b8abc84a5469792e0355d0bfc0784d41cfdfef7
5044Author: Lasse Collin <lasse.collin@tukaani.org>
5045Date:   2021-01-24 19:22:35 +0200
5046
5047    liblzma: Fix a wrong comment in stream_encoder_mt.c.
5048
5049 src/liblzma/common/stream_encoder_mt.c | 10 +++++++---
5050 1 file changed, 7 insertions(+), 3 deletions(-)
5051
5052commit 939fc5ed654aac25fe0c8684b2df8dbeadb2de1e
5053Author: Lasse Collin <lasse.collin@tukaani.org>
5054Date:   2021-01-24 18:51:51 +0200
5055
5056    Tests: Add bad-1-lzma2-9.xz.
5057
5058 tests/files/README           |   4 ++++
5059 tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes
5060 2 files changed, 4 insertions(+)
5061
5062commit fdd30032f8531ac89519b48c21d810ecf06825f6
5063Author: Lasse Collin <lasse.collin@tukaani.org>
5064Date:   2021-01-24 17:02:00 +0200
5065
5066    Tests: Add bad-1-check-crc32-2.xz.
5067
5068 tests/files/README                 |   7 +++++++
5069 tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes
5070 2 files changed, 7 insertions(+)
5071
5072commit db465419ae26ec7fb9b9472183911ff521620c77
5073Author: Lasse Collin <lasse.collin@tukaani.org>
5074Date:   2021-01-17 19:20:50 +0200
5075
5076    liblzma: In EROFS LZMA decoder, verify that comp_size matches at the end.
5077
5078    When the uncompressed size is known to be exact, after decompressing
5079    the stream exactly comp_size bytes of input must have been consumed.
5080    This is a minor improvement to error detection.
5081
5082 src/liblzma/common/erofs_decoder.c | 7 ++++++-
5083 1 file changed, 6 insertions(+), 1 deletion(-)
5084
5085commit 774cc0118ba2496581cb2621505a04bb6598cc75
5086Author: Lasse Collin <lasse.collin@tukaani.org>
5087Date:   2021-01-17 18:53:34 +0200
5088
5089    liblzma: Make EROFS LZMA decoder work when exact uncomp_size isn't known.
5090
5091    The caller must still not specify an uncompressed size bigger
5092    than the actual uncompressed size.
5093
5094    As a downside, this now needs the exact compressed size.
5095
5096 src/liblzma/api/lzma/container.h   | 23 ++++++++---
5097 src/liblzma/common/erofs_decoder.c | 80 ++++++++++++++++++++++++++++++++++----
5098 2 files changed, 91 insertions(+), 12 deletions(-)
5099
5100commit 421b0aa352da244075db10205cf33712f91b9835
5101Author: Lasse Collin <lasse.collin@tukaani.org>
5102Date:   2021-01-14 20:57:11 +0200
5103
5104    liblzma: Fix missing normalization in rc_encode_dummy().
5105
5106    Without this fix it could attempt to create too much output.
5107
5108 src/liblzma/rangecoder/range_encoder.h | 7 ++++++-
5109 1 file changed, 6 insertions(+), 1 deletion(-)
5110
5111commit 601ec0311e769fc704daaaa7dac0ca840aff080e
5112Author: Lasse Collin <lasse.collin@tukaani.org>
5113Date:   2021-01-14 20:07:01 +0200
5114
5115    liblzma: Add EROFS LZMA encoder and decoder.
5116
5117    Right now this is just a planned extra-compact format for use
5118    in the EROFS file system in Linux. At this point it's possible
5119    that the format will either change or be abandoned and removed
5120    completely.
5121
5122    The special thing about the encoder is that it uses the
5123    output-size-limited encoding added in the previous commit.
5124    EROFS uses fixed-sized blocks (e.g. 4 KiB) to hold compressed
5125    data so the compressors must be able to create valid streams
5126    that fill the given block size.
5127
5128 src/liblzma/api/lzma/container.h   |  76 +++++++++++++++++++
5129 src/liblzma/common/Makefile.inc    |   2 +
5130 src/liblzma/common/erofs_decoder.c | 148 +++++++++++++++++++++++++++++++++++++
5131 src/liblzma/common/erofs_encoder.c | 139 ++++++++++++++++++++++++++++++++++
5132 src/liblzma/liblzma.map            |   2 +
5133 5 files changed, 367 insertions(+)
5134
5135commit 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c
5136Author: Lasse Collin <lasse.collin@tukaani.org>
5137Date:   2021-01-13 19:16:32 +0200
5138
5139    liblzma: Add rough support for output-size-limited encoding in LZMA1.
5140
5141    With this it is possible to encode LZMA1 data without EOPM so that
5142    the encoder will encode as much input as it can without exceeding
5143    the specified output size limit. The resulting LZMA1 stream will
5144    be a normal LZMA1 stream without EOPM. The actual uncompressed size
5145    will be available to the caller via the uncomp_size pointer.
5146
5147    One missing thing is that the LZMA layer doesn't inform the LZ layer
5148    when the encoding is finished and thus the LZ may read more input
5149    when it won't be used. However, this doesn't matter if encoding is
5150    done with a single call (which is the planned use case for now).
5151    For proper multi-call encoding this should be improved.
5152
5153    This commit only adds the functionality for internal use.
5154    Nothing uses it yet.
5155
5156 src/liblzma/common/common.h             |  11 +++
5157 src/liblzma/lz/lz_encoder.c             |  16 ++++
5158 src/liblzma/lz/lz_encoder.h             |   4 +
5159 src/liblzma/lzma/lzma_encoder.c         | 127 +++++++++++++++++++++++---------
5160 src/liblzma/lzma/lzma_encoder_private.h |  12 +++
5161 src/liblzma/rangecoder/range_encoder.h  | 111 ++++++++++++++++++++++++++++
5162 6 files changed, 246 insertions(+), 35 deletions(-)
5163
5164commit 9cdabbeea891e8f1e7741b076f7db6ac05ae392a
5165Author: Lasse Collin <lasse.collin@tukaani.org>
5166Date:   2021-01-11 23:57:11 +0200
5167
5168    Scripts: Add zstd support to xzdiff.
5169
5170 src/scripts/xzdiff.1  |  6 ++++--
5171 src/scripts/xzdiff.in | 16 +++++++++++-----
5172 2 files changed, 15 insertions(+), 7 deletions(-)
5173
5174commit d9ec3add97cf4c999a7f594c6529680227b6c274
5175Author: Lasse Collin <lasse.collin@tukaani.org>
5176Date:   2021-01-11 23:41:30 +0200
5177
5178    Update THANKS.
5179
5180 THANKS | 2 ++
5181 1 file changed, 2 insertions(+)
5182
5183commit 074259f4f3966aeac6edb205fecbc1a8d2b58bb2
5184Author: Lasse Collin <lasse.collin@tukaani.org>
5185Date:   2021-01-11 23:41:16 +0200
5186
5187    xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky.
5188
5189    Previously this required using --force but that has other
5190    effects too which might be undesirable. Changing the behavior
5191    of --keep has a small risk of breaking existing scripts but
5192    since this is a fairly special corner case I expect the
5193    likehood of breakage to be low enough.
5194
5195    I think the new behavior is more logical. The only reason for
5196    the old behavior was to be consistent with gzip and bzip2.
5197
5198    Thanks to Vincent Lefevre and Sebastian Andrzej Siewior.
5199
5200 src/xz/file_io.c |  9 +++++----
5201 src/xz/xz.1      | 16 +++++++++++++++-
5202 2 files changed, 20 insertions(+), 5 deletions(-)
5203
5204commit 73c555b3077c19dda29b6f4592ced2af876f8333
5205Author: Lasse Collin <lasse.collin@tukaani.org>
5206Date:   2021-01-11 23:28:52 +0200
5207
5208    Scripts: Fix exit status of xzgrep.
5209
5210    Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't
5211    matter. With gzip it's important because -q makes gzip replace SIGPIPE
5212    with exit status 2. With bzip2 it's important because with -q bzip2
5213    is completely silent if input is corrupt while other decompressors
5214    still give an error message.
5215
5216    Avoiding exit status 2 from gzip is important because bzip2 uses
5217    exit status 2 to indicate corrupt input. Before this commit xzgrep
5218    didn't recognize corrupt .bz2 files because xzgrep was treating
5219    exit status 2 as SIGPIPE for gzip compatibility.
5220
5221    zstd still needs -q because otherwise it is noisy in normal
5222    operation.
5223
5224    The code to detect real SIGPIPE didn't check if the exit status
5225    was due to a signal (>= 128) and so could ignore some other exit
5226    status too.
5227
5228 src/scripts/xzgrep.in | 20 +++++++++++++-------
5229 1 file changed, 13 insertions(+), 7 deletions(-)
5230
5231commit 194029ffaf74282a81f0c299c07f73caca3232ca
5232Author: Lasse Collin <lasse.collin@tukaani.org>
5233Date:   2021-01-11 22:01:51 +0200
5234
5235    Scripts: Fix exit status of xzdiff/xzcmp.
5236
5237    This is a minor fix since this affects only the situation when
5238    the files differ and the exit status is something else than 0.
5239    In such case there could be SIGPIPE from a decompression tool
5240    and that would result in exit status of 2 from xzdiff/xzcmp
5241    while the correct behavior would be to return 1 or whatever
5242    else diff or cmp may have returned.
5243
5244    This commit omits the -q option from xz/gzip/bzip2/lzop arguments.
5245    I'm not sure why the -q was used in the first place, perhaps it
5246    hides warnings in some situation that I cannot see at the moment.
5247    Hopefully the removal won't introduce a new bug.
5248
5249    With gzip the -q option was harmful because it made gzip return 2
5250    instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning
5251    from gzip) isn't practical because bzip2 uses exit status 2 to
5252    indicate corrupt input file. It's better if SIGPIPE results in
5253    exit status >= 128.
5254
5255    With bzip2 the removal of -q seems to be good because with -q
5256    it prints nothing if input is corrupt. The other tools aren't
5257    silent in this situation even with -q. On the other hand, if
5258    zstd support is added, it will need -q since otherwise it's
5259    noisy in normal situations.
5260
5261    Thanks to Étienne Mollier and Sebastian Andrzej Siewior.
5262
5263 src/scripts/xzdiff.in | 35 +++++++++++++++++++++--------------
5264 1 file changed, 21 insertions(+), 14 deletions(-)
5265
5266commit f7fa309e1f7178d04c7bedc03b73077639371e97
5267Author: Lasse Collin <lasse.collin@tukaani.org>
5268Date:   2021-01-09 21:14:36 +0200
5269
5270    liblzma: Make lzma_outq usable for threaded decompression too.
5271
5272    Before this commit all output queue buffers were allocated as
5273    a single big allocation. Now each buffer is allocated separately
5274    when needed. Used buffers are cached to avoid reallocation
5275    overhead but the cache will keep only one buffer size at a time.
5276    This should make things work OK in the decompression where most
5277    of the time the buffer sizes will be the same but with some less
5278    common files the buffer sizes may vary.
5279
5280    While this should work fine, it's still a bit preliminary
5281    and may even get reverted if it turns out to be useless for
5282    decompression.
5283
5284 src/liblzma/common/outqueue.c          | 268 +++++++++++++++++++++------------
5285 src/liblzma/common/outqueue.h          | 138 ++++++++++++-----
5286 src/liblzma/common/stream_encoder_mt.c |  52 ++++---
5287 3 files changed, 301 insertions(+), 157 deletions(-)
5288
5289commit a35a69d693ce37d4ba7c1855bda7d9cfa13d1778
5290Author: Lasse Collin <lasse.collin@tukaani.org>
5291Date:   2020-12-23 17:15:49 +0200
5292
5293    Update THANKS.
5294
5295 THANKS | 1 +
5296 1 file changed, 1 insertion(+)
5297
5298commit 4fd79b90c52396d70e0b1206ceb1a873a0ad2589
5299Author: H.J. Lu <hjl.tools@gmail.com>
5300Date:   2020-12-23 06:49:04 -0800
5301
5302    liblzma: Enable Intel CET in x86 CRC assembly codes
5303
5304    When Intel CET is enabled, we need to include <cet.h> in assembly codes
5305    to mark Intel CET support and add _CET_ENDBR to indirect jump targets.
5306
5307    Tested on Intel Tiger Lake under CET enabled Linux.
5308
5309 src/liblzma/check/crc32_x86.S | 9 +++++++++
5310 src/liblzma/check/crc64_x86.S | 9 +++++++++
5311 2 files changed, 18 insertions(+)
5312
5313commit bb3b8c6a23e25db79f862b1de325c56052e0354b
5314Author: Lasse Collin <lasse.collin@tukaani.org>
5315Date:   2020-12-16 18:33:29 +0200
5316
5317    Update THANKS.
5318
5319 THANKS | 1 +
5320 1 file changed, 1 insertion(+)
5321
5322commit 21588ca34af98738954fc12ded1b89d7294ef646
5323Author: Lasse Collin <lasse.collin@tukaani.org>
5324Date:   2020-12-16 18:30:14 +0200
5325
5326    Build: Don't build bundles on Apple OSes.
5327
5328    Thanks to Daniel Packard.
5329
5330 CMakeLists.txt | 3 +++
5331 1 file changed, 3 insertions(+)
5332
5333commit d05b0c42dd8b38d8c6b8193c8af50e9bd3d16f28
5334Author: Lasse Collin <lasse.collin@tukaani.org>
5335Date:   2020-12-05 22:44:03 +0200
5336
5337    Update THANKS.
5338
5339 THANKS | 1 +
5340 1 file changed, 1 insertion(+)
5341
5342commit 1890351f3423627ba5c4c495402f32d7e9ed90b7
5343Author: Adam Borowski <kilobyte@angband.pl>
5344Date:   2020-09-25 03:35:18 +0200
5345
5346    Scripts: Add zstd support to xzgrep.
5347
5348    Thanks to Adam Borowski.
5349
5350 src/scripts/xzgrep.1  | 9 ++++++---
5351 src/scripts/xzgrep.in | 1 +
5352 2 files changed, 7 insertions(+), 3 deletions(-)
5353
5354commit 2f108abb3d82e4e2313b438dae9c0c7c7a6366f2
5355Author: Lasse Collin <lasse.collin@tukaani.org>
5356Date:   2020-11-17 20:51:48 +0200
5357
5358    CMake: Fix compatibility with CMake 3.13.
5359
5360    The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14.
5361    In some other places the code treats the cache variables
5362    like normal variables already (${FOO} or if(FOO) is used,
5363    not ${CACHE{FOO}).
5364
5365    Thanks to ygrek for reporting the bug on IRC.
5366
5367 CMakeLists.txt              | 2 +-
5368 cmake/tuklib_cpucores.cmake | 4 ++--
5369 cmake/tuklib_physmem.cmake  | 4 ++--
5370 3 files changed, 5 insertions(+), 5 deletions(-)
5371
5372commit 5af726a79273fafa5de5745b117e567f21c90e49
5373Author: Lasse Collin <lasse.collin@tukaani.org>
5374Date:   2020-11-01 22:56:43 +0200
5375
5376    Update THANKS.
5377
5378 THANKS | 4 +++-
5379 1 file changed, 3 insertions(+), 1 deletion(-)
5380
5381commit 4575d9d365c756ec189899f9f743e0b3515ce72d
5382Author: Lasse Collin <lasse.collin@tukaani.org>
5383Date:   2020-11-01 22:34:25 +0200
5384
5385    xz: Avoid unneeded \f escapes on the man page.
5386
5387    I don't want to use \c in macro arguments but groff_man(7)
5388    suggests that \f has better portability. \f would be needed
5389    for the .TP strings for portability reasons anyway.
5390
5391    Thanks to Bjarni Ingi Gislason.
5392
5393 src/xz/xz.1 | 31 ++++++++++++++++++++++---------
5394 1 file changed, 22 insertions(+), 9 deletions(-)
5395
5396commit 620b32f5339f86710cb4435e01ecdac972ccac73
5397Author: Lasse Collin <lasse.collin@tukaani.org>
5398Date:   2020-11-01 19:09:53 +0200
5399
5400    xz: Use non-breaking spaces when intentionally using more than one space.
5401
5402    This silences some style checker warnings. Seems that spaces
5403    in the beginning of a line don't need this treatment.
5404
5405    Thanks to Bjarni Ingi Gislason.
5406
5407 src/xz/xz.1 | 2 +-
5408 1 file changed, 1 insertion(+), 1 deletion(-)
5409
5410commit cb1f34988c8a4130485091b2f8b641303d8f701b
5411Author: Lasse Collin <lasse.collin@tukaani.org>
5412Date:   2020-11-01 18:49:37 +0200
5413
5414    xz: Protect the ellipsis (...) on the man page with \&.
5415
5416    This does it only when ... appears outside macro calls.
5417
5418    Thanks to Bjarni Ingi Gislason.
5419
5420 src/xz/xz.1 | 4 ++--
5421 1 file changed, 2 insertions(+), 2 deletions(-)
5422
5423commit 5d224da3da87400f2fab313abbd7c710e7169ef9
5424Author: Lasse Collin <lasse.collin@tukaani.org>
5425Date:   2020-11-01 18:41:21 +0200
5426
5427    xz: Avoid the abbreviation "e.g." on the man page.
5428
5429    A few are simply omitted, most are converted to "for example"
5430    and surrounded with commas. Sounds like that this is better
5431    style, for example, man-pages(7) recommends avoiding such
5432    abbreviations except in parenthesis.
5433
5434    Thanks to Bjarni Ingi Gislason.
5435
5436 src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++-------------------------------
5437 1 file changed, 33 insertions(+), 33 deletions(-)
5438
5439commit 90457dbe3e5717660f5b81f8c604860fc5137c0c
5440Author: Lasse Collin <lasse.collin@tukaani.org>
5441Date:   2020-07-12 23:10:03 +0300
5442
5443    xz man page: Change \- (minus) to \(en (en-dash) for a numeric range.
5444
5445    Docs of ancient troff/nroff mention \(em (em-dash) but not \(en
5446    and \- was used for both minus and en-dash. I don't know how
5447    portable \(en is nowadays but it can be changed back if someone
5448    complains. At least GNU groff and OpenBSD's mandoc support it.
5449
5450    Thanks to Bjarni Ingi Gislason for the patch.
5451
5452 src/xz/xz.1 | 16 ++++++++--------
5453 1 file changed, 8 insertions(+), 8 deletions(-)
5454
5455commit 352ba2d69af2136bc814aa1df1a132559d445616
5456Author: Lasse Collin <lasse.collin@tukaani.org>
5457Date:   2020-07-12 20:46:24 +0300
5458
5459    Windows: Fix building of resource files when config.h isn't used.
5460
5461    Now CMake + Visual Studio works for building liblzma.dll.
5462
5463    Thanks to Markus Rickert.
5464
5465 src/common/common_w32res.rc | 4 +++-
5466 1 file changed, 3 insertions(+), 1 deletion(-)
5467
5468commit a9e2a87f1d61dcf684d809bf08c8ebea93f8a480
5469Author: Lasse Collin <lasse.collin@tukaani.org>
5470Date:   2020-04-06 19:31:50 +0300
5471
5472    src/scripts/xzgrep.1: Filenames to xzgrep are optional.
5473
5474    xzgrep --help was correct already.
5475
5476 src/scripts/xzgrep.1 | 2 +-
5477 1 file changed, 1 insertion(+), 1 deletion(-)
5478
5479commit a7ba275d9b855d186abb29eb7a4f4cb6d9ca6fe0
5480Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
5481Date:   2020-03-26 22:17:31 +0000
5482
5483    src/script/xzgrep.1: Remove superfluous '.RB'
5484
5485    Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
5486
5487      [ "test-groff" is a developmental version of "groff" ]
5488
5489    Input file is ./src/scripts/xzgrep.1
5490
5491    <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected
5492    <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected
5493    <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected
5494    <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected
5495    <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected
5496
5497     "abc..." does not mean the same as "abc ...".
5498
5499      The output from nroff and troff is unchanged except for the space
5500    between "file" and "...".
5501
5502    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
5503
5504 src/scripts/xzgrep.1 | 12 ++++++------
5505 1 file changed, 6 insertions(+), 6 deletions(-)
5506
5507commit 133d498db0f4b14f066d192d64dbcade45deae6b
5508Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
5509Date:   2020-03-30 21:56:36 +0000
5510
5511    xzgrep.1: Delete superfluous '.PP'
5512
5513    Summary:
5514
5515    mandoc -T lint xzgrep.1 :
5516    mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty
5517
5518      There is no change in the output of "nroff" and "troff".
5519
5520    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
5521
5522 src/scripts/xzgrep.1 | 1 -
5523 1 file changed, 1 deletion(-)
5524
5525commit 057839ca982f886387b66746bffe749cb14fd8cd
5526Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
5527Date:   2020-03-26 21:16:18 +0000
5528
5529    src/xz/xz.1: Correct misused two-fonts macros
5530
5531    Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
5532
5533      [ "test-groff" is a developmental version of "groff" ]
5534
5535    Input file is ./src/xz/xz.1
5536
5537    <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected
5538    <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected
5539    <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected
5540    <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected
5541    <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected
5542
5543      Output from nroff and troff is unchanged, except for a font change of a
5544    full stop (.).
5545
5546    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
5547
5548 src/xz/xz.1 | 10 +++++-----
5549 1 file changed, 5 insertions(+), 5 deletions(-)
5550
5551commit b8e12f5ab4c9fd3cb09a4330b2861f6b979ababd
5552Author: Lasse Collin <lasse.collin@tukaani.org>
5553Date:   2020-03-23 18:07:50 +0200
5554
5555    Typo fixes from fossies.org.
5556
5557    https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html
5558
5559 Makefile.am                     | 2 +-
5560 doc/examples/01_compress_easy.c | 2 +-
5561 src/liblzma/api/lzma/base.h     | 2 +-
5562 src/liblzma/check/crc32_x86.S   | 2 +-
5563 src/liblzma/common/index.c      | 2 +-
5564 src/xz/xz.1                     | 4 ++--
5565 6 files changed, 7 insertions(+), 7 deletions(-)
5566
5567commit 869b9d1b4edd6df07f819d360d306251f8147353
5568Author: Lasse Collin <lasse.collin@tukaani.org>
5569Date:   2020-03-17 16:24:28 +0200
5570
5571    Update NEWS for 5.2.5.
5572
5573 NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5574 1 file changed, 105 insertions(+)
5575
5576commit a048e3a92d238c65f050a765174d9c75417231d4
5577Author: Lasse Collin <lasse.collin@tukaani.org>
5578Date:   2020-03-16 20:01:37 +0200
5579
5580    README: Update outdated sections.
5581
5582 README | 21 +++++++++++----------
5583 1 file changed, 11 insertions(+), 10 deletions(-)
5584
5585commit 29aed815ad4f98f3e4d355faa76a244ecd8ce716
5586Author: Lasse Collin <lasse.collin@tukaani.org>
5587Date:   2020-03-16 19:39:45 +0200
5588
5589    README: Mention that man pages can be translated.
5590
5591 README | 7 ++++---
5592 1 file changed, 4 insertions(+), 3 deletions(-)
5593
5594commit 7fa7653940cc9dcfcbce2fbc5166ea343ad4e3c1
5595Author: Lasse Collin <lasse.collin@tukaani.org>
5596Date:   2020-03-16 16:43:29 +0200
5597
5598    Update INSTALL.generic from Automake 1.16.1.
5599
5600 INSTALL.generic | 321 ++++++++++++++++++++++++++++----------------------------
5601 1 file changed, 162 insertions(+), 159 deletions(-)
5602
5603commit 9bd317ef03ab9b3e6a927c27c2e9c4ac041182f0
5604Author: Lasse Collin <lasse.collin@tukaani.org>
5605Date:   2020-03-15 15:27:22 +0200
5606
5607    Update INSTALL for Windows and DOS and add preliminary info for z/OS.
5608
5609 INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++----------
5610 1 file changed, 41 insertions(+), 10 deletions(-)
5611
5612commit a3148c0446dc7fa96363752df414d22539c9007b
5613Author: Lasse Collin <lasse.collin@tukaani.org>
5614Date:   2020-03-15 15:26:20 +0200
5615
5616    Build: Update m4/ax_pthread.m4 from Autoconf Archive (again).
5617
5618 m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++--------------------------
5619 1 file changed, 117 insertions(+), 102 deletions(-)
5620
5621commit 7812002dd3ed319e42a14662a8531802cca8ca67
5622Author: Lasse Collin <lasse.collin@tukaani.org>
5623Date:   2020-03-11 21:15:35 +0200
5624
5625    xz: Never use thousand separators in DJGPP builds.
5626
5627    DJGPP 2.05 added support for thousands separators but it's
5628    broken at least under WinXP with Finnish locale that uses
5629    a non-breaking space as the thousands separator. Workaround
5630    by disabling thousands separators for DJGPP builds.
5631
5632 src/xz/util.c | 14 ++++++++++++--
5633 1 file changed, 12 insertions(+), 2 deletions(-)
5634
5635commit 7c8f688bf7fccd65d396e0130cbf4ea5dff5c56f
5636Author: Lasse Collin <lasse.collin@tukaani.org>
5637Date:   2020-03-11 19:38:08 +0200
5638
5639    DOS: Update dos/Makefile for DJGPP 2.05.
5640
5641    It doesn't need -fgnu89-inline like 2.04beta did.
5642
5643 dos/Makefile | 4 +---
5644 1 file changed, 1 insertion(+), 3 deletions(-)
5645
5646commit 319ca928d73de87940c54e30bffe69f9fa65efdf
5647Author: Lasse Collin <lasse.collin@tukaani.org>
5648Date:   2020-03-11 19:36:07 +0200
5649
5650    DOS: Update instructions in dos/INSTALL.txt.
5651
5652 dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++-----------------------------
5653 1 file changed, 29 insertions(+), 30 deletions(-)
5654
5655commit cb6b227ce39932824812ccd8a0647bd968de27d2
5656Author: Lasse Collin <lasse.collin@tukaani.org>
5657Date:   2020-03-11 17:58:51 +0200
5658
5659    DOS: Update config.h.
5660
5661    The added defines assume GCC >= 4.8.
5662
5663 dos/config.h | 8 ++++++++
5664 1 file changed, 8 insertions(+)
5665
5666commit 4572d53e16e87eee375bc5624de2fd59bb0ae9cd
5667Author: Lasse Collin <lasse.collin@tukaani.org>
5668Date:   2020-03-02 13:54:33 +0200
5669
5670    liblzma: Fix a comment and RC_SYMBOLS_MAX.
5671
5672    The comment didn't match the value of RC_SYMBOLS_MAX and the value
5673    itself was slightly larger than actually needed. The only harm
5674    about this was that memory usage was a few bytes larger.
5675
5676 src/liblzma/rangecoder/range_encoder.h | 4 ++--
5677 1 file changed, 2 insertions(+), 2 deletions(-)
5678
5679commit 265daa873c0d871f5f23f9b56e133a6f20045a0a
5680Author: Lasse Collin <lasse.collin@tukaani.org>
5681Date:   2020-02-27 20:58:52 +0200
5682
5683    Build: Make CMake build fail if tuklib_cpucores or tuklib_physmem fails.
5684
5685 CMakeLists.txt | 18 ++++++++++++++++++
5686 1 file changed, 18 insertions(+)
5687
5688commit 7c8b904527cdbe61248c80edcc2e20d840c4fef9
5689Author: Lasse Collin <lasse.collin@tukaani.org>
5690Date:   2020-02-27 20:24:27 +0200
5691
5692    Build: Add support for --no-po4a option to autogen.sh.
5693
5694    Normally, if po4a isn't available, autogen.sh will return
5695    with non-zero exit status. The option --no-po4a can be useful
5696    when one knows that po4a isn't available but wants autogen.sh
5697    to still return with zero exit status.
5698
5699 autogen.sh | 11 ++++++++++-
5700 1 file changed, 10 insertions(+), 1 deletion(-)
5701
5702commit 292a5c0f9c9b3a66f5a5c652dc46381836d4537f
5703Author: Lasse Collin <lasse.collin@tukaani.org>
5704Date:   2020-02-25 21:35:14 +0200
5705
5706    Update THANKS.
5707
5708 THANKS | 1 +
5709 1 file changed, 1 insertion(+)
5710
5711commit 474320e9908786ba2021035f9013191e16cde08a
5712Author: Lasse Collin <lasse.collin@tukaani.org>
5713Date:   2020-02-25 20:42:31 +0200
5714
5715    Build: Fix bugs in the CMake files.
5716
5717    Seems that the phrase "add more quotes" from sh/bash scripting
5718    applies to CMake as well. E.g. passing an unquoted list ${FOO}
5719    to a function that expects one argument results in only the
5720    first element of the list being passed as an argument and
5721    the rest get ignored. Adding quotes helps ("${FOO}").
5722
5723    list(INSERT ...) is weird. Inserting an empty string to an empty
5724    variable results in empty list, but inserting it to a non-empty
5725    variable does insert an empty element to the list.
5726
5727    Since INSERT requires at least one element,
5728    "${CMAKE_THREAD_LIBS_INIT}" needs to be quoted in CMakeLists.txt.
5729    It might result in an empty element in the list. It seems to not
5730    matter as empty elements consistently get ignored in that variable.
5731    In fact, calling cmake_check_push_state() and cmake_check_pop_state()
5732    will strip the empty elements from CMAKE_REQUIRED_LIBRARIES!
5733
5734    In addition to quoting fixes, this fixes checks for the cache
5735    variables in tuklib_cpucores.cmake and tuklib_physmem.cmake.
5736
5737    Thanks to Martin Matuška for testing and reporting the problems.
5738    These fixes aren't tested yet but hopefully they soon will be.
5739
5740 CMakeLists.txt              | 52 ++++++++++++++++++++++-----------------------
5741 cmake/tuklib_common.cmake   |  8 ++++---
5742 cmake/tuklib_cpucores.cmake | 30 ++++++++++++++------------
5743 cmake/tuklib_integer.cmake  | 34 +++++++++++++++--------------
5744 cmake/tuklib_mbstr.cmake    |  6 +++---
5745 cmake/tuklib_physmem.cmake  | 29 +++++++++++++------------
5746 cmake/tuklib_progname.cmake |  4 ++--
5747 7 files changed, 85 insertions(+), 78 deletions(-)
5748
5749commit 7e3493d40eac0c3fa3d5124097745a70e15c41f6
5750Author: Lasse Collin <lasse.collin@tukaani.org>
5751Date:   2020-02-24 23:38:16 +0200
5752
5753    Build: Add very limited experimental CMake support.
5754
5755    This does *NOT* replace the Autotools-based build system in
5756    the foreseeable future. See the comment in the beginning
5757    of CMakeLists.txt.
5758
5759    So far this has been tested only on GNU/Linux but I commit
5760    it anyway to make it easier for others to test. Since I
5761    haven't played much with CMake before, it's likely that
5762    there are things that have been done in a silly or wrong
5763    way and need to be fixed.
5764
5765 CMakeLists.txt              | 643 ++++++++++++++++++++++++++++++++++++++++++++
5766 cmake/tuklib_common.cmake   |  47 ++++
5767 cmake/tuklib_cpucores.cmake | 173 ++++++++++++
5768 cmake/tuklib_integer.cmake  | 100 +++++++
5769 cmake/tuklib_mbstr.cmake    |  20 ++
5770 cmake/tuklib_physmem.cmake  | 149 ++++++++++
5771 cmake/tuklib_progname.cmake |  19 ++
5772 7 files changed, 1151 insertions(+)
5773
5774commit 21bd4701fca3e9002ce78bc135debca369ed8545
5775Author: Lasse Collin <lasse.collin@tukaani.org>
5776Date:   2020-02-24 23:37:07 +0200
5777
5778    Update m4/.gitignore.
5779
5780 m4/.gitignore | 1 +
5781 1 file changed, 1 insertion(+)
5782
5783commit e094d1d0f196a91ec703e8d0055948feef349ae8
5784Author: Lasse Collin <lasse.collin@tukaani.org>
5785Date:   2020-02-24 23:29:35 +0200
5786
5787    tuklib: Omit an unneeded <sys/types.h> from a tests.
5788
5789    tuklib_cpucores.c and tuklib_physmem.c don't include <sys/types.h>
5790    even via other files in this package, so clearly that header isn't
5791    needed in the tests either (no one has reported build problems due
5792    to a missing header in a .c file).
5793
5794 m4/tuklib_cpucores.m4 | 1 -
5795 m4/tuklib_physmem.m4  | 1 -
5796 2 files changed, 2 deletions(-)
5797
5798commit b3ed19a55fe99a45bd77614e149d39d18498075c
5799Author: Lasse Collin <lasse.collin@tukaani.org>
5800Date:   2020-02-24 23:01:00 +0200
5801
5802    liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c.
5803
5804    This file only generates fastpos_table.c.
5805    It isn't built as a part of liblzma.
5806
5807 src/liblzma/lzma/fastpos_tablegen.c | 1 -
5808 1 file changed, 1 deletion(-)
5809
5810commit 7b8982b29179b3c586e0456dc9ecbd4f58dcea59
5811Author: Lasse Collin <lasse.collin@tukaani.org>
5812Date:   2020-02-22 14:15:07 +0200
5813
5814    Use defined(__GNUC__) before __GNUC__ in preprocessor lines.
5815
5816    This should silence the equivalent of -Wundef in compilers that
5817    don't define __GNUC__.
5818
5819 src/common/sysdefs.h   | 3 ++-
5820 src/liblzma/api/lzma.h | 5 +++--
5821 2 files changed, 5 insertions(+), 3 deletions(-)
5822
5823commit 43dfe04e6209c691cf4fbe3072d4ee91271748f1
5824Author: Lasse Collin <lasse.collin@tukaani.org>
5825Date:   2020-02-21 17:40:02 +0200
5826
5827    liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA.
5828
5829    This gives a tiny encoder speed improvement. This could have been done
5830    in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but
5831    it was forgotten.
5832
5833 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------
5834 1 file changed, 10 insertions(+), 6 deletions(-)
5835
5836commit 59e6eb4840b9f52fa3a61544974017279b448216
5837Author: Lasse Collin <lasse.collin@tukaani.org>
5838Date:   2020-02-21 17:01:15 +0200
5839
5840    Build: Add visibility.m4 from gnulib.
5841
5842    Appears that this file used to get included as a side effect of
5843    gettext. After the change to gettext version requirements this file
5844    no longer got copied to the package and so the build was broken.
5845
5846 m4/.gitignore    |  1 -
5847 m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5848 2 files changed, 77 insertions(+), 1 deletion(-)
5849
5850commit 7fe3ef2eaa53d439cec043727ea1998f4ff0e22a
5851Author: Lasse Collin <lasse.collin@tukaani.org>
5852Date:   2020-02-21 16:10:44 +0200
5853
5854    xz: Silence a warning when sig_atomic_t is long int.
5855
5856    It can be true at least on z/OS.
5857
5858 src/xz/signals.c | 2 +-
5859 1 file changed, 1 insertion(+), 1 deletion(-)
5860
5861commit b0a2a77d10940c42b449d47a005bfc2e50ab5db8
5862Author: Lasse Collin <lasse.collin@tukaani.org>
5863Date:   2020-02-21 15:59:26 +0200
5864
5865    xz: Avoid unneeded access of a volatile variable.
5866
5867 src/xz/signals.c | 2 +-
5868 1 file changed, 1 insertion(+), 1 deletion(-)
5869
5870commit 524c2f12c762032b819757aeda8af7c47c4cabce
5871Author: Lasse Collin <lasse.collin@tukaani.org>
5872Date:   2020-02-21 01:24:18 +0200
5873
5874    tuklib_integer.m4: Optimize the check order.
5875
5876    The __builtin byteswapping is the preferred one so check for it first.
5877
5878 m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++-------------------------
5879 1 file changed, 29 insertions(+), 27 deletions(-)
5880
5881commit 57360bb4fd79b358b36d2877db26ac828d1fdfcb
5882Author: Lasse Collin <lasse.collin@tukaani.org>
5883Date:   2020-02-20 18:54:04 +0200
5884
5885    tuklib_exit: Add missing header.
5886
5887    strerror() needs <string.h> which happened to be included via
5888    tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H
5889    was defined. This wasn't tested without config.h before so it
5890    had worked fine.
5891
5892 src/common/tuklib_exit.c | 1 +
5893 1 file changed, 1 insertion(+)
5894
5895commit fddd31175e74a538997a939d930462fde17d2dd4
5896Author: Lasse Collin <lasse.collin@tukaani.org>
5897Date:   2020-02-18 19:12:35 +0200
5898
5899    Revert the previous commit and add a comment.
5900
5901    The previous commit broke crc32_tablegen.c.
5902
5903    If the whole package is built without config.h (with defines
5904    set on the compiler command line) this should still work fine
5905    as long as these headers conform to C99 well enough.
5906
5907 src/common/tuklib_config.h | 17 ++++++++++-------
5908 1 file changed, 10 insertions(+), 7 deletions(-)
5909
5910commit 4e4e9fbb7e66d45319525ac224bff48fbdd0cf6e
5911Author: Lasse Collin <lasse.collin@tukaani.org>
5912Date:   2020-02-17 23:37:20 +0200
5913
5914    Do not check for HAVE_CONFIG_H in tuklib_config.h.
5915
5916    In XZ Utils sysdefs.h takes care of it and the required headers.
5917
5918 src/common/tuklib_config.h | 15 +++++++--------
5919 1 file changed, 7 insertions(+), 8 deletions(-)
5920
5921commit 2d4cef954feba82073951358466a1d614141cf33
5922Author: Lasse Collin <lasse.collin@tukaani.org>
5923Date:   2020-02-16 11:18:28 +0200
5924
5925    sysdefs.h: Omit the conditionals around string.h and limits.h.
5926
5927    string.h is used unconditionally elsewhere in the project and
5928    configure has always stopped if limits.h is missing, so these
5929    headers must have been always available even on the weirdest
5930    systems.
5931
5932 src/common/sysdefs.h | 8 ++------
5933 1 file changed, 2 insertions(+), 6 deletions(-)
5934
5935commit feb9c1969bc3eb33d4ecb72cfa897f92dae84939
5936Author: Lasse Collin <lasse.collin@tukaani.org>
5937Date:   2020-02-15 15:07:11 +0200
5938
5939    Build: Bump Autoconf and Libtool version requirements.
5940
5941    There is no specific reason for this other than blocking
5942    the most ancient versions. These are still old:
5943
5944    Autoconf 2.69 (2012)
5945    Automake 1.12 (2012)
5946    gettext 0.19.6 (2015)
5947    Libtool 2.4 (2010)
5948
5949 configure.ac | 4 ++--
5950 1 file changed, 2 insertions(+), 2 deletions(-)
5951
5952commit 3d576cf92158d62790017ad7f2dd6dc1dd6b42bb
5953Author: Lasse Collin <lasse.collin@tukaani.org>
5954Date:   2020-02-15 03:08:32 +0200
5955
5956    Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6.
5957
5958    This bumps the version requirement from 0.19 (from 2014) to
5959    0.19.6 (2015).
5960
5961    Using only the old AM_GNU_GETTEXT_VERSION results in old
5962    gettext infrastructure being placed in the package. By using
5963    both macros we get the latest gettext files while the other
5964    programs in the Autotools family can still see the old macro.
5965
5966 configure.ac | 6 +++++-
5967 1 file changed, 5 insertions(+), 1 deletion(-)
5968
5969commit fa792b8befaf7cb3960b655e0a9410da866d756f
5970Author: Lasse Collin <lasse.collin@tukaani.org>
5971Date:   2020-02-14 20:42:06 +0200
5972
5973    Translations: Add German translation of the man pages.
5974
5975    Thanks to Mario Blättermann.
5976
5977 po4a/de.po     | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5978 po4a/po4a.conf |    2 +-
5979 2 files changed, 5533 insertions(+), 1 deletion(-)
5980
5981commit 6f7211b6bb47a895b47f533282dba9ee9a1b0c8b
5982Author: Lasse Collin <lasse.collin@tukaani.org>
5983Date:   2020-02-07 15:32:21 +0200
5984
5985    Build: Add support for translated man pages using po4a.
5986
5987    The dependency on po4a is optional. It's never required to install
5988    the translated man pages when xz is built from a release tarball.
5989    If po4a is missing when building from xz.git, the translated man
5990    pages won't be generated but otherwise the build will work normally.
5991
5992    The translations are only updated automatically by autogen.sh and
5993    by "make mydist". This makes it easy to keep po4a as an optional
5994    dependency and ensures that I won't forget to put updated
5995    translations to a release tarball.
5996
5997    The translated man pages aren't installed if --disable-nls is used.
5998
5999    The installation of translated man pages abuses Automake internals
6000    by calling "install-man" with redefined dist_man_MANS and man_MANS.
6001    This makes the hairy script code slightly less hairy. If it breaks
6002    some day, this code needs to be fixed; don't blame Automake developers.
6003
6004    Also, this adds more quotes to the existing shell script code in
6005    the Makefile.am "-hook"s.
6006
6007 Makefile.am             |  4 ++++
6008 autogen.sh              |  8 ++++---
6009 po4a/.gitignore         |  2 ++
6010 po4a/po4a.conf          | 14 +++++++++++
6011 po4a/update-po          | 45 ++++++++++++++++++++++++++++++++++
6012 src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------
6013 src/xz/Makefile.am      | 50 +++++++++++++++++++++++++++-----------
6014 src/xzdec/Makefile.am   | 55 ++++++++++++++++++++++++++++++++----------
6015 8 files changed, 197 insertions(+), 45 deletions(-)
6016
6017commit 426f9e5819ff7710a5ff573a96c02940be65d52f
6018Author: Lasse Collin <lasse.collin@tukaani.org>
6019Date:   2020-02-06 17:31:38 +0200
6020
6021    Update THANKS.
6022
6023 THANKS | 1 +
6024 1 file changed, 1 insertion(+)
6025
6026commit e3a4481d020e4de89efa037f335cf50f3ca55592
6027Author: Lasse Collin <lasse.collin@tukaani.org>
6028Date:   2020-02-05 22:35:06 +0200
6029
6030    Update tests/.gitignore.
6031
6032 .gitignore | 4 ++++
6033 1 file changed, 4 insertions(+)
6034
6035commit 07208de92f2d5bca764f6d0ebe9d9866051dc4ef
6036Author: Lasse Collin <lasse.collin@tukaani.org>
6037Date:   2020-02-05 22:28:51 +0200
6038
6039    Update m4/.gitignore.
6040
6041 m4/.gitignore | 1 +
6042 1 file changed, 1 insertion(+)
6043
6044commit c91fbf223db46c3b3cb9df769863a1a60cd9c908
6045Author: Lasse Collin <lasse.collin@tukaani.org>
6046Date:   2020-02-05 20:47:38 +0200
6047
6048    Update THANKS.
6049
6050 THANKS | 1 +
6051 1 file changed, 1 insertion(+)
6052
6053commit 15a133b6d1a3eab4faf6eb52a71fdc56bd65846f
6054Author: Lasse Collin <lasse.collin@tukaani.org>
6055Date:   2020-02-05 20:40:14 +0200
6056
6057    xz: Make it a fatal error if enabling the sandbox fails.
6058
6059    Perhaps it's too drastic but on the other hand it will let me
6060    learn about possible problems if people report the errors.
6061    This won't be backported to the v5.2 branch.
6062
6063 src/xz/file_io.c | 2 +-
6064 1 file changed, 1 insertion(+), 1 deletion(-)
6065
6066commit af0fb386ef55db66654ae39e2deec6e04190c4ff
6067Author: Lasse Collin <lasse.collin@tukaani.org>
6068Date:   2020-02-05 20:33:50 +0200
6069
6070    xz: Comment out annoying sandboxing messages.
6071
6072 src/xz/file_io.c | 10 +++++++---
6073 1 file changed, 7 insertions(+), 3 deletions(-)
6074
6075commit 986d8c9b52b824474088e5bb3b6940651660f0e2
6076Author: Lasse Collin <lasse.collin@tukaani.org>
6077Date:   2020-02-05 19:33:37 +0200
6078
6079    Build: Workaround a POSIX shell detection problem on Solaris.
6080
6081    I don't know if the problem is in gnulib's gl_POSIX_SHELL macro
6082    or if xzgrep does something that isn't in POSIX. The workaround
6083    adds a special case for Solaris: if /usr/xpg4/bin/sh exists and
6084    gl_cv_posix_shell wasn't overriden on the configure command line,
6085    use that shell for xzgrep and other scripts. That shell is known
6086    to work and exists on most Solaris systems.
6087
6088 configure.ac | 10 ++++++++++
6089 1 file changed, 10 insertions(+)
6090
6091commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad
6092Author: Lasse Collin <lasse.collin@tukaani.org>
6093Date:   2020-02-03 22:03:50 +0200
6094
6095    Build: Update m4/ax_pthread.m4 from Autoconf Archive.
6096
6097 m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++-----------------
6098 1 file changed, 279 insertions(+), 119 deletions(-)
6099
6100commit 353970510895f6a80adfe60cf71b70a95adfa8bc
6101Author: Lasse Collin <lasse.collin@tukaani.org>
6102Date:   2020-02-01 19:56:18 +0200
6103
6104    xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz.
6105
6106    See the code comment for reasoning. It's far from perfect but
6107    hopefully good enough for certain cases while hopefully doing
6108    nothing bad in other situations.
6109
6110    At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference
6111    on how xz scales down the number of threads.
6112
6113    The limit has to be a few MiB below 4096 MiB because otherwise
6114    things like "xz --lzma2=dict=500MiB" won't scale down the dict
6115    size enough and xz cannot allocate enough memory. With
6116    "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had
6117    to be no more than 4085 MiB. Some safety margin is good though.
6118
6119    This is hack but it should be useful when running 32-bit xz on
6120    a 64-bit kernel that gives full 4 GiB address space to xz.
6121    Hopefully this is enough to solve this:
6122
6123    https://bugzilla.redhat.com/show_bug.cgi?id=1196786
6124
6125    FreeBSD has a patch that limits the result in tuklib_physmem()
6126    to SIZE_MAX on 32-bit systems. While I think it's not the way
6127    to do it, the results on --memlimit-compress have been good. This
6128    commit should achieve practically identical results for compression
6129    while leaving decompression and tuklib_physmem() and thus
6130    lzma_physmem() unaffected.
6131
6132 src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++-
6133 src/xz/xz.1       | 21 ++++++++++++++++++++-
6134 2 files changed, 51 insertions(+), 2 deletions(-)
6135
6136commit ba76d67585f88677af9f48b48e7bdc3bb7687def
6137Author: Lasse Collin <lasse.collin@tukaani.org>
6138Date:   2020-01-26 20:53:25 +0200
6139
6140    xz: Set the --flush-timeout deadline when the first input byte arrives.
6141
6142    xz --flush-timeout=2000, old version:
6143
6144      1. xz is started. The next flush will happen after two seconds.
6145      2. No input for one second.
6146      3. A burst of a few kilobytes of input.
6147      4. No input for one second.
6148      5. Two seconds have passed and flushing starts.
6149
6150    The first second counted towards the flush-timeout even though
6151    there was no pending data. This can cause flushing to occur more
6152    often than needed.
6153
6154    xz --flush-timeout=2000, after this commit:
6155
6156      1. xz is started.
6157      2. No input for one second.
6158      3. A burst of a few kilobytes of input. The next flush will
6159         happen after two seconds counted from the time when the
6160         first bytes of the burst were read.
6161      4. No input for one second.
6162      5. No input for another second.
6163      6. Two seconds have passed and flushing starts.
6164
6165 src/xz/coder.c   | 6 +-----
6166 src/xz/file_io.c | 6 +++++-
6167 src/xz/mytime.c  | 1 -
6168 3 files changed, 6 insertions(+), 7 deletions(-)
6169
6170commit fd47fd62bbb1bfd13ab63869137971d8b390025f
6171Author: Lasse Collin <lasse.collin@tukaani.org>
6172Date:   2020-01-26 20:19:19 +0200
6173
6174    xz: Move flush_needed from mytime.h to file_pair struct in file_io.h.
6175
6176 src/xz/coder.c   | 3 ++-
6177 src/xz/file_io.c | 3 ++-
6178 src/xz/file_io.h | 3 +++
6179 src/xz/mytime.c  | 3 ---
6180 src/xz/mytime.h  | 4 ----
6181 5 files changed, 7 insertions(+), 9 deletions(-)
6182
6183commit 815035681063d5774d3640fc20b8ede783dd574e
6184Author: Lasse Collin <lasse.collin@tukaani.org>
6185Date:   2020-01-26 14:49:22 +0200
6186
6187    xz: coder.c: Make writing output a separate function.
6188
6189    The same code sequence repeats so it's nicer as a separate function.
6190    Note that in one case there was no test for opt_mode != MODE_TEST,
6191    but that was only because that condition would always be true, so
6192    this commit doesn't change the behavior there.
6193
6194 src/xz/coder.c | 30 +++++++++++++++++-------------
6195 1 file changed, 17 insertions(+), 13 deletions(-)
6196
6197commit 5a49e081a098455bcdbd95cefb90e9b18780fe58
6198Author: Lasse Collin <lasse.collin@tukaani.org>
6199Date:   2020-01-26 14:13:42 +0200
6200
6201    xz: Fix semi-busy-waiting in xz --flush-timeout.
6202
6203    When input blocked, xz --flush-timeout=1 would wake up every
6204    millisecond and initiate flushing which would have nothing to
6205    flush and thus would just waste CPU time. The fix disables the
6206    timeout when no input has been seen since the previous flush.
6207
6208 src/xz/coder.c   |  4 ++++
6209 src/xz/file_io.c | 15 +++++++++++----
6210 src/xz/file_io.h |  4 ++++
6211 3 files changed, 19 insertions(+), 4 deletions(-)
6212
6213commit dcca70fe9fa3c4bec56cf9c79e966166c9a9cf6a
6214Author: Lasse Collin <lasse.collin@tukaani.org>
6215Date:   2020-01-26 13:47:31 +0200
6216
6217    xz: Refactor io_read() a bit.
6218
6219 src/xz/file_io.c | 17 ++++++++---------
6220 1 file changed, 8 insertions(+), 9 deletions(-)
6221
6222commit 4ae9ab70cd3214395756435d13d8d000368ca2cb
6223Author: Lasse Collin <lasse.collin@tukaani.org>
6224Date:   2020-01-26 13:37:08 +0200
6225
6226    xz: Update a comment in file_io.h.
6227
6228 src/xz/file_io.h | 5 ++++-
6229 1 file changed, 4 insertions(+), 1 deletion(-)
6230
6231commit 3333ba4a6795a55cf0375329ba08152bd7fcbd46
6232Author: Lasse Collin <lasse.collin@tukaani.org>
6233Date:   2020-01-26 13:27:51 +0200
6234
6235    xz: Move the setting of flush_needed in file_io.c to a nicer location.
6236
6237 src/xz/file_io.c | 6 ++----
6238 1 file changed, 2 insertions(+), 4 deletions(-)
6239
6240commit cf2df0f05ac98c1158c6e48145900b773223605d
6241Author: Lasse Collin <lasse.collin@tukaani.org>
6242Date:   2020-01-19 21:54:33 +0200
6243
6244    Use $(LIB_FUZZING_ENGINE) in tests/ossfuzz/Makefile.
6245
6246    https://github.com/google/oss-fuzz/pull/3219#issuecomment-573751048
6247
6248    Thanks to Bhargava Shastry for sending the patch.
6249
6250 tests/ossfuzz/Makefile | 2 +-
6251 1 file changed, 1 insertion(+), 1 deletion(-)
6252
6253commit 7136f1735c60ac6967c4b8e277fcde53d485234f
6254Author: Lasse Collin <lasse.collin@tukaani.org>
6255Date:   2019-12-31 00:41:28 +0200
6256
6257    Rename unaligned_read32ne to read32ne, and similarly for the others.
6258
6259 src/common/tuklib_integer.h               | 64 +++++++++++++++----------------
6260 src/liblzma/common/alone_encoder.c        |  2 +-
6261 src/liblzma/common/block_header_decoder.c |  2 +-
6262 src/liblzma/common/block_header_encoder.c |  2 +-
6263 src/liblzma/common/memcmplen.h            |  9 ++---
6264 src/liblzma/common/stream_flags_decoder.c |  6 +--
6265 src/liblzma/common/stream_flags_encoder.c |  8 ++--
6266 src/liblzma/lz/lz_encoder_hash.h          |  2 +-
6267 src/liblzma/lzma/lzma_decoder.c           |  2 +-
6268 src/liblzma/lzma/lzma_encoder.c           |  2 +-
6269 src/liblzma/lzma/lzma_encoder_private.h   |  3 +-
6270 src/liblzma/simple/simple_decoder.c       |  2 +-
6271 src/liblzma/simple/simple_encoder.c       |  2 +-
6272 tests/test_block_header.c                 |  4 +-
6273 tests/test_stream_flags.c                 |  6 +--
6274 15 files changed, 54 insertions(+), 62 deletions(-)
6275
6276commit 5e78fcbf2eb21936022c9c5c3625d4da76f4b241
6277Author: Lasse Collin <lasse.collin@tukaani.org>
6278Date:   2019-12-31 00:29:48 +0200
6279
6280    Rename read32ne to aligned_read32ne, and similarly for the others.
6281
6282    Using the aligned methods requires more care to ensure that
6283    the address really is aligned, so it's nicer if the aligned
6284    methods are prefixed. The next commit will remove the unaligned_
6285    prefix from the unaligned methods which in liblzma are used in
6286    more places than the aligned ones.
6287
6288 src/common/tuklib_integer.h    | 56 +++++++++++++++++++++---------------------
6289 src/liblzma/check/crc32_fast.c |  4 +--
6290 src/liblzma/check/crc64_fast.c |  4 +--
6291 3 files changed, 32 insertions(+), 32 deletions(-)
6292
6293commit 77bc5bc6dd67056cfd5888520ac930cfc57b4516
6294Author: Lasse Collin <lasse.collin@tukaani.org>
6295Date:   2019-12-31 00:18:24 +0200
6296
6297    Revise tuklib_integer.h and .m4.
6298
6299    Add a configure option --enable-unsafe-type-punning to get the
6300    old non-conforming memory access methods. It can be useful with
6301    old compilers or in some other less typical situations but
6302    shouldn't normally be used.
6303
6304    Omit the packed struct trick for unaligned access. While it's
6305    best in some cases, this is simpler. If the memcpy trick doesn't
6306    work, one can request unsafe type punning from configure.
6307
6308    Because CRC32/CRC64 code needs fast aligned reads, if no very
6309    safe way to do it is found, type punning is used as a fallback.
6310    This sucks but since it currently works in practice, it seems to
6311    be the least bad option. It's never needed with GCC >= 4.7 or
6312    Clang >= 3.6 since these support __builtin_assume_aligned and
6313    thus fast aligned access can be done with the memcpy trick.
6314
6315    Other things:
6316      - Support GCC/Clang __builtin_bswapXX
6317      - Cleaner bswap fallback macros
6318      - Minor cleanups
6319
6320 m4/tuklib_integer.m4        |  46 ++++-
6321 src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++--------------------
6322 2 files changed, 316 insertions(+), 218 deletions(-)
6323
6324commit 8b72950a6b2e2a36c2d8fdc8857564b57191b088
6325Author: Lasse Collin <lasse.collin@tukaani.org>
6326Date:   2019-12-29 22:51:58 +0200
6327
6328    Tests: Hopefully fix test_check.c to work on EBCDIC systems.
6329
6330    Thanks to Daniel Richard G.
6331
6332 tests/test_check.c | 9 +++++++--
6333 1 file changed, 7 insertions(+), 2 deletions(-)
6334
6335commit 43ce4ea7c762238d3df9717b34126d3e0d7cd51c
6336Author: Lasse Collin <lasse.collin@tukaani.org>
6337Date:   2019-09-24 23:02:40 +0300
6338
6339    Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris.
6340
6341    This adds a configure option --enable-path-for-scripts=PREFIX
6342    which defaults to empty except on Solaris it is /usr/xpg4/bin
6343    to make POSIX grep and others available. The Solaris case had
6344    been documented in INSTALL with a manual fix but it's better
6345    to do this automatically since it is needed on most Solaris
6346    systems anyway.
6347
6348    Thanks to Daniel Richard G.
6349
6350 INSTALL               | 43 +++++++++++++++++++++++++++++++++++--------
6351 configure.ac          | 26 ++++++++++++++++++++++++++
6352 src/scripts/xzdiff.in |  1 +
6353 src/scripts/xzgrep.in |  1 +
6354 src/scripts/xzless.in |  1 +
6355 src/scripts/xzmore.in |  1 +
6356 6 files changed, 65 insertions(+), 8 deletions(-)
6357
6358commit 6a89e656ebedd53a10cd1a063a32a9e4ade0da1f
6359Author: Lasse Collin <lasse.collin@tukaani.org>
6360Date:   2019-07-12 18:57:43 +0300
6361
6362    Fix comment typos in tuklib_mbstr* files.
6363
6364 src/common/tuklib_mbstr.h       | 2 +-
6365 src/common/tuklib_mbstr_fw.c    | 2 +-
6366 src/common/tuklib_mbstr_width.c | 2 +-
6367 3 files changed, 3 insertions(+), 3 deletions(-)
6368
6369commit ac0b4212656a48ef0c187c0c941d40ac9489ae36
6370Author: Lasse Collin <lasse.collin@tukaani.org>
6371Date:   2019-07-12 18:30:46 +0300
6372
6373    Add missing include to tuklib_mbstr_width.c.
6374
6375    It didn't matter in XZ Utils because sysdefs.h
6376    includes string.h anyway.
6377
6378 src/common/tuklib_mbstr_width.c | 1 +
6379 1 file changed, 1 insertion(+)
6380
6381commit 72a443281fb0b91aebf8cdff2ab1f7c07b081240
6382Author: Lasse Collin <lasse.collin@tukaani.org>
6383Date:   2019-07-12 18:10:57 +0300
6384
6385    Update tuklib base headers to include stdbool.h.
6386
6387 src/common/tuklib_common.h | 2 +-
6388 src/common/tuklib_config.h | 1 +
6389 2 files changed, 2 insertions(+), 1 deletion(-)
6390
6391commit de1f47b2b40e960b7bc3acba754f66dd19705921
6392Author: Lasse Collin <lasse.collin@tukaani.org>
6393Date:   2019-06-28 00:54:31 +0300
6394
6395    xz: Automatically align the strings in --info-memory.
6396
6397    This makes it easier to translate the strings.
6398
6399    Also, the string for amount of RAM was shortened.
6400
6401 src/xz/hardware.c | 45 ++++++++++++++++++++++++++++++++++-----------
6402 1 file changed, 34 insertions(+), 11 deletions(-)
6403
6404commit 8ce679125dbd0e2058d8f886e738d7f19a45cab5
6405Author: Lasse Collin <lasse.collin@tukaani.org>
6406Date:   2019-06-25 23:15:21 +0300
6407
6408    liblzma: Fix a buggy comment.
6409
6410 src/liblzma/lz/lz_encoder_mf.c | 2 +-
6411 1 file changed, 1 insertion(+), 1 deletion(-)
6412
6413commit fc77929e92e869f6869bf88931066103fd75f376
6414Author: Lasse Collin <lasse.collin@tukaani.org>
6415Date:   2019-06-25 00:16:06 +0300
6416
6417    configure.ac: Fix a typo in a comment.
6418
6419 configure.ac | 2 +-
6420 1 file changed, 1 insertion(+), 1 deletion(-)
6421
6422commit e873902641794210ad7db59743f98e3e1cd6139f
6423Author: Lasse Collin <lasse.collin@tukaani.org>
6424Date:   2019-06-25 00:08:13 +0300
6425
6426    Tests: Silence warnings from clang -Wassign-enum.
6427
6428    Also changed 999 to 99 so it fits even if lzma_check happened
6429    to be 8 bits wide.
6430
6431 tests/test_block_header.c | 3 ++-
6432 tests/test_stream_flags.c | 2 +-
6433 2 files changed, 3 insertions(+), 2 deletions(-)
6434
6435commit d499e467d99efeaae688564eedc4548837c1416a
6436Author: Lasse Collin <lasse.collin@tukaani.org>
6437Date:   2019-06-24 23:52:17 +0300
6438
6439    liblzma: Add a comment.
6440
6441 src/liblzma/common/stream_encoder_mt.c | 2 +-
6442 1 file changed, 1 insertion(+), 1 deletion(-)
6443
6444commit a12b13c5f0d54c684fa8446f93fdac08ab2a716b
6445Author: Lasse Collin <lasse.collin@tukaani.org>
6446Date:   2019-06-24 23:45:21 +0300
6447
6448    liblzma: Silence clang -Wmissing-variable-declarations.
6449
6450 src/liblzma/check/crc32_table.c | 3 +++
6451 src/liblzma/check/crc64_table.c | 3 +++
6452 2 files changed, 6 insertions(+)
6453
6454commit 1b4675cebf7471f7cc9b7072c950e3de97147063
6455Author: Lasse Collin <lasse.collin@tukaani.org>
6456Date:   2019-06-24 23:25:41 +0300
6457
6458    Add LZMA_RET_INTERNAL1..8 to lzma_ret and use one for LZMA_TIMED_OUT.
6459
6460    LZMA_TIMED_OUT is *internally* used as a value for lzma_ret
6461    enumeration. Previously it was #defined to 32 and cast to lzma_ret.
6462    That way it wasn't visible in the public API, but this was hackish.
6463
6464    Now the public API has eight LZMA_RET_INTERNALx members and
6465    LZMA_TIMED_OUT is #defined to LZMA_RET_INTERNAL1. This way
6466    the code is cleaner overall although the public API has a few
6467    extra mysterious enum members.
6468
6469 src/liblzma/api/lzma/base.h | 15 ++++++++++++++-
6470 src/liblzma/common/common.c |  4 +---
6471 src/liblzma/common/common.h |  5 ++---
6472 src/xz/message.c            |  8 ++++++++
6473 4 files changed, 25 insertions(+), 7 deletions(-)
6474
6475commit 159c43875eb25deea626ed651274464bae3e32ef
6476Author: Lasse Collin <lasse.collin@tukaani.org>
6477Date:   2019-06-24 22:57:43 +0300
6478
6479    xz: Silence a warning from clang -Wsign-conversion in main.c.
6480
6481 src/xz/main.c | 2 +-
6482 1 file changed, 1 insertion(+), 1 deletion(-)
6483
6484commit 466cfcd3e52f6750ce28a635997f3dd84fb18515
6485Author: Lasse Collin <lasse.collin@tukaani.org>
6486Date:   2019-06-24 22:52:20 +0300
6487
6488    xz: Make "headings" static in list.c.
6489
6490    Caught by clang -Wmissing-variable-declarations.
6491
6492 src/xz/list.c | 2 +-
6493 1 file changed, 1 insertion(+), 1 deletion(-)
6494
6495commit 608517b9b76c41fac6613dbda1193d6f41338e19
6496Author: Lasse Collin <lasse.collin@tukaani.org>
6497Date:   2019-06-24 22:47:39 +0300
6498
6499    liblzma: Remove incorrect uses of lzma_attribute((__unused__)).
6500
6501    Caught by clang -Wused-but-marked-unused.
6502
6503 src/liblzma/common/alone_decoder.c | 3 +--
6504 src/liblzma/common/alone_encoder.c | 3 +--
6505 src/liblzma/lz/lz_decoder.c        | 3 +--
6506 3 files changed, 3 insertions(+), 6 deletions(-)
6507
6508commit c2d2ab6a9d41a2b55d047c5b710aacf80d219255
6509Author: Lasse Collin <lasse.collin@tukaani.org>
6510Date:   2019-06-24 20:53:55 +0300
6511
6512    Tests: Silence a warning from -Wsign-conversion.
6513
6514 tests/create_compress_files.c | 8 ++++----
6515 1 file changed, 4 insertions(+), 4 deletions(-)
6516
6517commit 2402f7873dcae719d0ebddd23bb579074519ac52
6518Author: Lasse Collin <lasse.collin@tukaani.org>
6519Date:   2019-06-24 20:45:49 +0300
6520
6521    xz: Fix an integer overflow with 32-bit off_t.
6522
6523    Or any off_t which isn't very big (like signed 64 bit integer
6524    that most system have). A small off_t could overflow if the
6525    file being decompressed had long enough run of zero bytes,
6526    which would result in corrupt output.
6527
6528 src/xz/file_io.c | 11 +++++++++--
6529 1 file changed, 9 insertions(+), 2 deletions(-)
6530
6531commit 4fd3a8dd0b60f029e1c66a0ee634f9e9fda3caa9
6532Author: Lasse Collin <lasse.collin@tukaani.org>
6533Date:   2019-06-24 01:24:17 +0300
6534
6535    xz: Cleanup io_seek_src() a bit.
6536
6537    lseek() returns -1 on error and checking for -1 is nicer.
6538
6539 src/xz/file_io.c | 4 +---
6540 1 file changed, 1 insertion(+), 3 deletions(-)
6541
6542commit dfda7cf6afa486e10df035327d68753896dfb48a
6543Author: Lasse Collin <lasse.collin@tukaani.org>
6544Date:   2019-06-24 00:57:23 +0300
6545
6546    Tests: Remove a duplicate branch from tests/tests.h.
6547
6548    The duplication was introduced about eleven years ago and
6549    should have been cleaned up back then already.
6550
6551    This was caught by -Wduplicated-branches.
6552
6553 tests/tests.h | 9 ++-------
6554 1 file changed, 2 insertions(+), 7 deletions(-)
6555
6556commit 1d4a904d8fb634bd5a04f7fbdd17d3739f3d8866
6557Author: Lasse Collin <lasse.collin@tukaani.org>
6558Date:   2019-06-24 00:40:45 +0300
6559
6560    xz: Change io_seek_src and io_pread arguments from off_t to uint64_t.
6561
6562    This helps fixing warnings from -Wsign-conversion and makes the
6563    code look better too.
6564
6565 src/xz/file_io.c | 16 ++++++++++++----
6566 src/xz/file_io.h |  4 ++--
6567 src/xz/list.c    |  9 ++++-----
6568 3 files changed, 18 insertions(+), 11 deletions(-)
6569
6570commit 50120deb0159fcb53ee1a6caffb2bb81a1ecd990
6571Author: Lasse Collin <lasse.collin@tukaani.org>
6572Date:   2019-06-24 00:12:38 +0300
6573
6574    xz: list.c: Fix some warnings from -Wsign-conversion.
6575
6576 src/xz/list.c | 7 ++++---
6577 1 file changed, 4 insertions(+), 3 deletions(-)
6578
6579commit d0a78751eb54fb1572002746c533936a118e4e42
6580Author: Lasse Collin <lasse.collin@tukaani.org>
6581Date:   2019-06-23 23:22:45 +0300
6582
6583    tuklib_mbstr_width: Fix a warning from -Wsign-conversion.
6584
6585 src/common/tuklib_mbstr_width.c | 2 +-
6586 1 file changed, 1 insertion(+), 1 deletion(-)
6587
6588commit 7883d73530b4b2a701ddd7d50c35676cbc158039
6589Author: Lasse Collin <lasse.collin@tukaani.org>
6590Date:   2019-06-23 23:19:34 +0300
6591
6592    xz: Fix some of the warnings from -Wsign-conversion.
6593
6594 src/xz/args.c    | 4 ++--
6595 src/xz/coder.c   | 4 ++--
6596 src/xz/file_io.c | 5 +++--
6597 src/xz/message.c | 4 ++--
6598 src/xz/mytime.c  | 4 ++--
6599 src/xz/options.c | 2 +-
6600 src/xz/util.c    | 4 ++--
6601 7 files changed, 14 insertions(+), 13 deletions(-)
6602
6603commit c2b994fe3d35e9e575c28869a2f7f534f2495d05
6604Author: Lasse Collin <lasse.collin@tukaani.org>
6605Date:   2019-06-23 22:27:45 +0300
6606
6607    tuklib_cpucores: Silence warnings from -Wsign-conversion.
6608
6609 src/common/tuklib_cpucores.c | 10 +++++-----
6610 1 file changed, 5 insertions(+), 5 deletions(-)
6611
6612commit 07c4fa9e1a195e0543f271380c8de22a3ab145ff
6613Author: Lasse Collin <lasse.collin@tukaani.org>
6614Date:   2019-06-23 21:40:47 +0300
6615
6616    xzdec: Fix warnings from -Wsign-conversion.
6617
6618 src/xzdec/xzdec.c | 2 +-
6619 1 file changed, 1 insertion(+), 1 deletion(-)
6620
6621commit dfac2c9a1d7d4a2b8a5d7c9c6d567dee48318bcf
6622Author: Lasse Collin <lasse.collin@tukaani.org>
6623Date:   2019-06-23 21:38:56 +0300
6624
6625    liblzma: Fix warnings from -Wsign-conversion.
6626
6627    Also, more parentheses were added to the literal_subcoder
6628    macro in lzma_comon.h (better style but no functional change
6629    in the current usage).
6630
6631 src/liblzma/common/block_header_decoder.c |  2 +-
6632 src/liblzma/delta/delta_decoder.c         |  2 +-
6633 src/liblzma/lzma/fastpos.h                |  2 +-
6634 src/liblzma/lzma/lzma2_decoder.c          |  8 ++++----
6635 src/liblzma/lzma/lzma_common.h            |  3 ++-
6636 src/liblzma/lzma/lzma_decoder.c           | 16 ++++++++--------
6637 src/liblzma/simple/arm.c                  |  6 +++---
6638 src/liblzma/simple/armthumb.c             |  8 ++++----
6639 src/liblzma/simple/ia64.c                 |  2 +-
6640 src/liblzma/simple/powerpc.c              |  9 +++++----
6641 src/liblzma/simple/x86.c                  |  2 +-
6642 11 files changed, 31 insertions(+), 29 deletions(-)
6643
6644commit 41838dcc26375f6aa393a63e4d81e2f4d223de07
6645Author: Lasse Collin <lasse.collin@tukaani.org>
6646Date:   2019-06-23 19:33:55 +0300
6647
6648    tuklib_integer: Silence warnings from -Wsign-conversion.
6649
6650 src/common/tuklib_integer.h | 6 +++---
6651 1 file changed, 3 insertions(+), 3 deletions(-)
6652
6653commit 3ce05d235f736d392347a05086b8033416874b87
6654Author: Lasse Collin <lasse.collin@tukaani.org>
6655Date:   2019-06-20 19:40:30 +0300
6656
6657    tuklib_integer: Fix usage of conv macros.
6658
6659    Use a temporary variable instead of e.g.
6660    conv32le(unaligned_read32ne(buf)) because the macro can
6661    evaluate its argument multiple times.
6662
6663 src/common/tuklib_integer.h | 12 ++++++++----
6664 1 file changed, 8 insertions(+), 4 deletions(-)
6665
6666commit b525b0c0ef40cd89b69294c9b8d57f4a8db58e1f
6667Author: Lasse Collin <lasse.collin@tukaani.org>
6668Date:   2019-06-03 20:44:19 +0300
6669
6670    Update THANKS.
6671
6672 THANKS | 1 +
6673 1 file changed, 1 insertion(+)
6674
6675commit 039a168e8cf201d5104a25ec41f0cf25eda6cc53
6676Author: Lasse Collin <lasse.collin@tukaani.org>
6677Date:   2019-06-03 20:41:54 +0300
6678
6679    liblzma: Fix comments.
6680
6681    Thanks to Bruce Stark.
6682
6683 src/liblzma/common/alone_encoder.c        | 4 ++--
6684 src/liblzma/common/block_util.c           | 2 +-
6685 src/liblzma/common/common.c               | 2 +-
6686 src/liblzma/common/filter_common.h        | 2 +-
6687 src/liblzma/common/filter_decoder.h       | 2 +-
6688 src/liblzma/common/filter_flags_encoder.c | 2 +-
6689 6 files changed, 7 insertions(+), 7 deletions(-)
6690
6691commit c460f6defebc5a81bbca90adc2476154ca244f69
6692Author: Lasse Collin <lasse.collin@tukaani.org>
6693Date:   2019-06-02 00:50:59 +0300
6694
6695    liblzma: Fix one more unaligned read to use unaligned_read16ne().
6696
6697 src/liblzma/lz/lz_encoder_hash.h | 2 +-
6698 1 file changed, 1 insertion(+), 1 deletion(-)
6699
6700commit c81d77c537f0b8c8672868e1dc6cf7290ce4a25b
6701Author: Lasse Collin <lasse.collin@tukaani.org>
6702Date:   2019-06-01 21:41:55 +0300
6703
6704    Update THANKS.
6705
6706 THANKS | 1 +
6707 1 file changed, 1 insertion(+)
6708
6709commit 386394fc9fcde2615391f804eaa466749f96f4ef
6710Author: Lasse Collin <lasse.collin@tukaani.org>
6711Date:   2019-06-01 21:36:13 +0300
6712
6713    liblzma: memcmplen: Use ctz32() from tuklib_integer.h.
6714
6715    The same compiler-specific #ifdefs are already in tuklib_integer.h
6716
6717 src/liblzma/common/memcmplen.h | 10 +---------
6718 1 file changed, 1 insertion(+), 9 deletions(-)
6719
6720commit 264ab971ce2994baac41b1579c9c35aba7743fc8
6721Author: Lasse Collin <lasse.collin@tukaani.org>
6722Date:   2019-06-01 21:30:03 +0300
6723
6724    tuklib_integer: Cleanup MSVC-specific code.
6725
6726 src/common/tuklib_integer.h | 20 +++++++++-----------
6727 1 file changed, 9 insertions(+), 11 deletions(-)
6728
6729commit 33773c6f2a8711d4aa6656795db52c59a28580ec
6730Author: Lasse Collin <lasse.collin@tukaani.org>
6731Date:   2019-06-01 19:01:21 +0300
6732
6733    liblzma: Use unaligned_readXXne functions instead of type punning.
6734
6735    Now gcc -fsanitize=undefined should be clean.
6736
6737    Thanks to Jeffrey Walton.
6738
6739 src/liblzma/common/memcmplen.h          | 12 ++++++------
6740 src/liblzma/lzma/lzma_encoder_private.h |  2 +-
6741 2 files changed, 7 insertions(+), 7 deletions(-)
6742
6743commit e5f13a66567b1987e0aae42c6fdcd277bb5810ba
6744Author: Lasse Collin <lasse.collin@tukaani.org>
6745Date:   2019-06-01 18:46:54 +0300
6746
6747    tuklib_integer: Autodetect support for unaligned access on ARM.
6748
6749    The result is used as the default for --enable-unaligned-access.
6750    The test should work with GCC and Clang.
6751
6752 m4/tuklib_integer.m4 | 11 +++++++++++
6753 1 file changed, 11 insertions(+)
6754
6755commit 3bc112c2d38d5f348bce7bc2422286b1692c7490
6756Author: Lasse Collin <lasse.collin@tukaani.org>
6757Date:   2019-06-01 18:41:16 +0300
6758
6759    tuklib_integer: Improve unaligned memory access.
6760
6761    Now memcpy() or GNU C packed structs for unaligned access instead
6762    of type punning. See the comment in this commit for details.
6763
6764    Avoiding type punning with unaligned access is needed to
6765    silence gcc -fsanitize=undefined.
6766
6767    New functions: unaliged_readXXne and unaligned_writeXXne where
6768    XX is 16, 32, or 64.
6769
6770 src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++---
6771 1 file changed, 168 insertions(+), 12 deletions(-)
6772
6773commit 2a22de439ec63da1927b640eda309296a1e8dce5
6774Author: Lasse Collin <lasse.collin@tukaani.org>
6775Date:   2019-05-13 20:05:17 +0300
6776
6777    liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior.
6778
6779    I should have always known this but I didn't. Here is an example
6780    as a reminder to myself:
6781
6782        int mycopy(void *dest, void *src, size_t n)
6783        {
6784            memcpy(dest, src, n);
6785            return dest == NULL;
6786        }
6787
6788    In the example, a compiler may assume that dest != NULL because
6789    passing NULL to memcpy() would be undefined behavior. Testing
6790    with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1.
6791    With -O2 the return value is 0 because the compiler infers that
6792    dest cannot be NULL because it was already used with memcpy()
6793    and thus the test for NULL gets optimized out.
6794
6795    In liblzma, if a null-pointer was passed to memcpy(), there were
6796    no checks for NULL *after* the memcpy() call, so I cautiously
6797    suspect that it shouldn't have caused bad behavior in practice,
6798    but it's hard to be sure, and the problematic cases had to be
6799    fixed anyway.
6800
6801    Thanks to Jeffrey Walton.
6802
6803 src/liblzma/common/common.c       |  6 +++++-
6804 src/liblzma/lz/lz_decoder.c       | 12 +++++++++---
6805 src/liblzma/simple/simple_coder.c | 10 +++++++++-
6806 3 files changed, 23 insertions(+), 5 deletions(-)
6807
6808commit d3fc850cfedc058247d9e334ce59bbc8f2286d8a
6809Author: Lasse Collin <lasse.collin@tukaani.org>
6810Date:   2019-05-11 20:56:08 +0300
6811
6812    Update THANKS.
6813
6814 THANKS | 1 +
6815 1 file changed, 1 insertion(+)
6816
6817commit 4adb8288ab61d5f14e212007b8742df0710baf73
6818Author: Lasse Collin <lasse.collin@tukaani.org>
6819Date:   2019-05-11 20:54:12 +0300
6820
6821    xz: Update xz man page date.
6822
6823 src/xz/xz.1 | 2 +-
6824 1 file changed, 1 insertion(+), 1 deletion(-)
6825
6826commit 2fb0ddaa557ce86e38fe06439930fa8665f092fd
6827Author: Antoine Cœur <antoine.coeur@ef.com>
6828Date:   2019-05-08 13:30:57 +0800
6829
6830    spelling
6831
6832 Doxyfile.in                            | 2 +-
6833 NEWS                                   | 2 +-
6834 doc/examples/11_file_info.c            | 2 +-
6835 src/liblzma/api/lzma/block.h           | 2 +-
6836 src/liblzma/api/lzma/hardware.h        | 2 +-
6837 src/liblzma/api/lzma/lzma12.h          | 2 +-
6838 src/liblzma/api/lzma/vli.h             | 2 +-
6839 src/liblzma/common/file_info.c         | 4 ++--
6840 src/liblzma/common/hardware_physmem.c  | 2 +-
6841 src/liblzma/common/index.c             | 4 ++--
6842 src/liblzma/common/stream_encoder_mt.c | 2 +-
6843 src/liblzma/common/vli_decoder.c       | 2 +-
6844 src/liblzma/lz/lz_decoder.c            | 2 +-
6845 src/scripts/xzgrep.in                  | 2 +-
6846 src/xz/args.c                          | 2 +-
6847 src/xz/coder.c                         | 4 ++--
6848 src/xz/list.c                          | 4 ++--
6849 src/xz/main.c                          | 2 +-
6850 src/xz/mytime.h                        | 2 +-
6851 src/xz/private.h                       | 2 +-
6852 src/xz/xz.1                            | 2 +-
6853 windows/build.bash                     | 2 +-
6854 22 files changed, 26 insertions(+), 26 deletions(-)
6855
6856commit 4ed339606156bd313ed99237485cb8ed0362d64f
6857Author: Lasse Collin <lasse.collin@tukaani.org>
6858Date:   2019-05-01 18:43:10 +0300
6859
6860    xz: In xz -lvv look at the widths of the check names too.
6861
6862    Now the widths of the check names is used to adjust the width
6863    of the Check column. This way there no longer is a need to restrict
6864    the widths of the check names to be at most ten terminal-columns.
6865
6866 src/xz/list.c | 32 ++++++++++++++++++++++++++------
6867 1 file changed, 26 insertions(+), 6 deletions(-)
6868
6869commit 2f4281a1001dcf7fdf1418c0c0d246c16561fb65
6870Author: Lasse Collin <lasse.collin@tukaani.org>
6871Date:   2019-05-01 18:33:25 +0300
6872
6873    xz: Fix xz -lvv column alignment to look at the translated strings.
6874
6875 src/xz/list.c | 4 ++--
6876 1 file changed, 2 insertions(+), 2 deletions(-)
6877
6878commit 01d01b7c7c0b8eaf7f780a5584ec52c22d10fa4a
6879Author: Lasse Collin <lasse.collin@tukaani.org>
6880Date:   2019-05-01 16:52:36 +0300
6881
6882    Update THANKS.
6883
6884 THANKS | 1 +
6885 1 file changed, 1 insertion(+)
6886
6887commit 64030c6b17f7743df03a9948a0ccfcdf40c6b97c
6888Author: Lasse Collin <lasse.collin@tukaani.org>
6889Date:   2019-05-01 16:43:16 +0300
6890
6891    Windows: Update VS version in windows/vs2019/config.h.
6892
6893 windows/vs2019/config.h | 2 +-
6894 1 file changed, 1 insertion(+), 1 deletion(-)
6895
6896commit 2dc9117f5fbfab31444a3ca1e55795ccfa8a9f51
6897Author: Julien Marrec <julien.marrec@gmail.com>
6898Date:   2019-04-25 17:44:06 +0200
6899
6900    Windows: Upgrade solution itself
6901
6902 windows/vs2019/xz_win.sln | 7 +++++--
6903 1 file changed, 5 insertions(+), 2 deletions(-)
6904
6905commit ac31413916fa9b11bab17f0f0aa63e2869360f6f
6906Author: Julien Marrec <julien.marrec@gmail.com>
6907Date:   2019-04-25 17:40:24 +0200
6908
6909    Windows: Upgrade solution with VS2019
6910
6911 windows/vs2019/liblzma.vcxproj     | 15 ++++++++-------
6912 windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++-------
6913 2 files changed, 16 insertions(+), 14 deletions(-)
6914
6915commit be25a0c37ba92a20c390b4d17fe502457fe96b71
6916Author: Julien Marrec <julien.marrec@gmail.com>
6917Date:   2019-04-25 17:39:32 +0200
6918
6919    Windows: Duplicate windows/vs2017 before upgrading
6920
6921 windows/vs2019/config.h            | 148 ++++++++++++++
6922 windows/vs2019/liblzma.vcxproj     | 356 ++++++++++++++++++++++++++++++++++
6923 windows/vs2019/liblzma_dll.vcxproj | 385 +++++++++++++++++++++++++++++++++++++
6924 windows/vs2019/xz_win.sln          |  48 +++++
6925 4 files changed, 937 insertions(+)
6926
6927commit d0e58b3a51e8e616f3dc26ec7b7e4aa0fa6991ad
6928Author: Lasse Collin <lasse.collin@tukaani.org>
6929Date:   2019-03-04 22:49:04 +0200
6930
6931    README: Update translation instructions.
6932
6933    XZ Utils is now part of the Translation Project
6934    <https://translationproject.org/>.
6935
6936 README | 32 +++++++++++++-------------------
6937 1 file changed, 13 insertions(+), 19 deletions(-)
6938
6939commit a750c35a7d45a16c11c1d40fecee8443c32a9996
6940Author: Lasse Collin <lasse.collin@tukaani.org>
6941Date:   2019-03-04 21:20:39 +0200
6942
6943    xz: Automatically align column headings in xz -lvv.
6944
6945 src/xz/list.c | 263 ++++++++++++++++++++++++++++++++++++++++++++++------------
6946 1 file changed, 212 insertions(+), 51 deletions(-)
6947
6948commit 6cb42e8aa1dc37bf403a9f5acbd07e86036b7e77
6949Author: Lasse Collin <lasse.collin@tukaani.org>
6950Date:   2019-03-04 01:07:59 +0200
6951
6952    xz: Automatically align strings ending in a colon in --list output.
6953
6954    This should avoid alignment errors in translations with these
6955    strings.
6956
6957 src/xz/list.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
6958 1 file changed, 102 insertions(+), 12 deletions(-)
6959
6960commit 1e3f29b62f2c03e50fc9ebea7b83c1497dd35484
6961Author: Lasse Collin <lasse.collin@tukaani.org>
6962Date:   2019-01-13 17:29:23 +0200
6963
6964    Windows/VS2017: Omit WindowsTargetPlatformVersion from project files.
6965
6966    I understood that if a WTPV is specified, it's often wrong
6967    because different VS installations have different SDK version
6968    installed. Omitting the WTPV tag makes VS2017 default to
6969    Windows SDK 8.1 which often is also missing, so in any case
6970    people may need to specify the WTPV before building. But some
6971    day in the future a missing WTPV tag will start to default to
6972    the latest installed SDK which sounds reasonable:
6973
6974    https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html
6975
6976    Thanks to "dom".
6977
6978 windows/INSTALL-MSVC.txt           | 4 ++++
6979 windows/vs2017/liblzma.vcxproj     | 1 -
6980 windows/vs2017/liblzma_dll.vcxproj | 1 -
6981 3 files changed, 4 insertions(+), 2 deletions(-)
6982
6983commit 4d86076332aece6314063d3712a5f364172bbb0f
6984Author: Lasse Collin <lasse.collin@tukaani.org>
6985Date:   2018-12-20 20:42:29 +0200
6986
6987    Update THANKS.
6988
6989 THANKS | 1 +
6990 1 file changed, 1 insertion(+)
6991
6992commit b55d79461d1f6aeaac03c7dae84481e5eb8bea4c
6993Author: Lasse Collin <lasse.collin@tukaani.org>
6994Date:   2018-12-14 20:34:30 +0200
6995
6996    xz: Fix a crash in progress indicator when in passthru mode.
6997
6998    "xz -dcfv not_an_xz_file" crashed (all four options are
6999    required to trigger it). It caused xz to call
7000    lzma_get_progress(&strm, ...) when no coder was initialized
7001    in strm. In this situation strm.internal is NULL which leads
7002    to a crash in lzma_get_progress().
7003
7004    The bug was introduced when xz started using lzma_get_progress()
7005    to get progress info for multi-threaded compression, so the
7006    bug is present in versions 5.1.3alpha and higher.
7007
7008    Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for
7009    the bug report.
7010
7011 src/xz/coder.c   | 11 +++++++----
7012 src/xz/message.c | 18 ++++++++++++++++--
7013 src/xz/message.h |  3 ++-
7014 3 files changed, 25 insertions(+), 7 deletions(-)
7015
7016commit 4ae5526de013efd1021686fa80bdd10cf1cb9c56
7017Author: Lasse Collin <lasse.collin@tukaani.org>
7018Date:   2018-11-22 17:20:31 +0200
7019
7020    xz: Update man page timestamp.
7021
7022 src/xz/xz.1 | 2 +-
7023 1 file changed, 1 insertion(+), 1 deletion(-)
7024
7025commit 6a36d0d5f49e0080ff64dd9ef250abd489bea2ad
7026Author: Pavel Raiskup <praiskup@redhat.com>
7027Date:   2018-11-22 15:14:34 +0100
7028
7029    'have have' typos
7030
7031 src/xz/signals.c | 2 +-
7032 src/xz/xz.1      | 2 +-
7033 2 files changed, 2 insertions(+), 2 deletions(-)
7034
7035commit 9eca51ef805ed8002a851df1b4995d71826c8b6e
7036Author: Lasse Collin <lasse.collin@tukaani.org>
7037Date:   2018-11-02 20:40:48 +0200
7038
7039    Update THANKS.
7040
7041 THANKS | 1 +
7042 1 file changed, 1 insertion(+)
7043
7044commit 106d1a663d4ba42b63231caa289f531548df81c1
7045Author: Lasse Collin <lasse.collin@tukaani.org>
7046Date:   2018-11-02 20:18:45 +0200
7047
7048    Tests: Add a fuzz test program and a config file for OSS-Fuzz.
7049
7050    Thanks to Bhargava Shastry and Github user pdknsk.
7051
7052 tests/Makefile.am                 |  1 +
7053 tests/ossfuzz/Makefile            |  7 ++++
7054 tests/ossfuzz/config/fuzz.dict    |  2 +
7055 tests/ossfuzz/config/fuzz.options |  2 +
7056 tests/ossfuzz/fuzz.c              | 82 +++++++++++++++++++++++++++++++++++++++
7057 5 files changed, 94 insertions(+)
7058
7059commit a18ae42a79a19b1394b41eb3e238139fd28012ec
7060Author: Lasse Collin <lasse.collin@tukaani.org>
7061Date:   2018-10-26 22:49:10 +0300
7062
7063    liblzma: Don't verify header CRC32s if building for fuzz testing.
7064
7065    FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is #defined when liblzma
7066    is being built for fuzz testing.
7067
7068    Most fuzzed inputs would normally get rejected because of incorrect
7069    CRC32 and the actual header decoding code wouldn't get fuzzed.
7070    Disabling CRC32 checks avoids this problem. The fuzzer program
7071    must still use LZMA_IGNORE_CHECK flag to disable verification of
7072    integrity checks of uncompressed data.
7073
7074 src/liblzma/common/block_header_decoder.c |  5 ++++-
7075 src/liblzma/common/index_decoder.c        |  5 ++++-
7076 src/liblzma/common/index_hash.c           |  5 ++++-
7077 src/liblzma/common/stream_flags_decoder.c | 10 ++++++++--
7078 4 files changed, 20 insertions(+), 5 deletions(-)
7079
7080commit f76f7516d6a1c832f61810c82e92d151cc80966c
7081Author: Lasse Collin <lasse.collin@tukaani.org>
7082Date:   2018-07-27 18:10:44 +0300
7083
7084    xzless: Rename unused variables to silence static analysers.
7085
7086    In this particular case I don't see this affecting readability
7087    of the code.
7088
7089    Thanks to Pavel Raiskup.
7090
7091 src/scripts/xzless.in | 2 +-
7092 1 file changed, 1 insertion(+), 1 deletion(-)
7093
7094commit 3cbcaeb07eb7543735befd6f507fdb5fa4363cff
7095Author: Lasse Collin <lasse.collin@tukaani.org>
7096Date:   2018-07-27 16:02:58 +0300
7097
7098    liblzma: Remove an always-true condition from lzma_index_cat().
7099
7100    This should help static analysis tools to see that newg
7101    isn't leaked.
7102
7103    Thanks to Pavel Raiskup.
7104
7105 src/liblzma/common/index.c | 4 ++--
7106 1 file changed, 2 insertions(+), 2 deletions(-)
7107
7108commit 76762ae6098ec55c326f4b4b4a42e8c1918ee81f
7109Author: Lasse Collin <lasse.collin@tukaani.org>
7110Date:   2018-05-19 21:23:25 +0300
7111
7112    liblzma: Improve lzma_properties_decode() API documentation.
7113
7114 src/liblzma/api/lzma/filter.h | 7 ++++---
7115 1 file changed, 4 insertions(+), 3 deletions(-)
7116
7117commit 2267f5b0d20a5d24e93fcd9f72ea7eeb0d89708c
7118Author: Lasse Collin <lasse.collin@tukaani.org>
7119Date:   2018-04-29 18:58:19 +0300
7120
7121    Bump the version number to 5.3.1alpha.
7122
7123 src/liblzma/api/lzma/version.h | 2 +-
7124 src/liblzma/liblzma.map        | 2 +-
7125 2 files changed, 2 insertions(+), 2 deletions(-)
7126
7127commit cee3021d30704858e4bdd22240e7d28e570d7451
7128Author: Lasse Collin <lasse.collin@tukaani.org>
7129Date:   2018-04-29 18:48:00 +0300
7130
7131    extra/scanlzma: Fix compiler warnings.
7132
7133 extra/scanlzma/scanlzma.c | 6 +++++-
7134 1 file changed, 5 insertions(+), 1 deletion(-)
7135
7136commit c5c7ceb08a011b97d261798033e2c39613a69eb7
7137Author: Lasse Collin <lasse.collin@tukaani.org>
7138Date:   2018-04-29 18:44:47 +0300
7139
7140    DOS: Add file_info.c to the list of files to build.
7141
7142 dos/Makefile | 1 +
7143 1 file changed, 1 insertion(+)
7144
7145commit 114cab97af766b21e0fc8620479202fb1e7a5e41
7146Author: Lasse Collin <lasse.collin@tukaani.org>
7147Date:   2018-04-29 18:33:10 +0300
7148
7149    Update NEWS for 5.3.1alpha.
7150
7151 NEWS | 11 +++++++++++
7152 1 file changed, 11 insertions(+)
7153
7154commit b8139e11c512bbf32bf58ab0689f9bb6c52819da
7155Author: Lasse Collin <lasse.collin@tukaani.org>
7156Date:   2018-04-29 18:15:37 +0300
7157
7158    Add NEWS for 5.2.4.
7159
7160 NEWS | 27 +++++++++++++++++++++++++++
7161 1 file changed, 27 insertions(+)
7162
7163commit 47b59d47cfd904a420fbd45629d168ca1973721d
7164Author: Lasse Collin <lasse.collin@tukaani.org>
7165Date:   2018-02-06 19:36:30 +0200
7166
7167    Update THANKS.
7168
7169 THANKS | 2 ++
7170 1 file changed, 2 insertions(+)
7171
7172commit bc197991690ede24ab143665b5b0f0f9cb35cc46
7173Author: Ben Boeckel <mathstuf@gmail.com>
7174Date:   2018-01-29 13:58:18 -0500
7175
7176    nothrow: use noexcept for C++11 and newer
7177
7178    In C++11, the `throw()` specifier is deprecated and `noexcept` is
7179    preffered instead.
7180
7181 src/liblzma/api/lzma.h | 6 +++++-
7182 1 file changed, 5 insertions(+), 1 deletion(-)
7183
7184commit fb6d4f83cb6e144734f2a4216bb117bd56dc3cb5
7185Author: Lasse Collin <lasse.collin@tukaani.org>
7186Date:   2018-02-06 18:02:48 +0200
7187
7188    liblzma: Remove incorrect #ifdef from range_common.h.
7189
7190    In most cases it was harmless but it could affect some
7191    custom build systems.
7192
7193    Thanks to Pippijn van Steenhoven.
7194
7195 src/liblzma/rangecoder/range_common.h | 4 +---
7196 1 file changed, 1 insertion(+), 3 deletions(-)
7197
7198commit bc577d35c2d0ed17f554d2d8107b2a2a9abbac76
7199Author: Lasse Collin <lasse.collin@tukaani.org>
7200Date:   2018-01-10 22:10:39 +0200
7201
7202    Update THANKS.
7203
7204 THANKS | 1 +
7205 1 file changed, 1 insertion(+)
7206
7207commit 713bbc1a80f26d34c96ed3dbb9887362204de3a1
7208Author: Lasse Collin <lasse.collin@tukaani.org>
7209Date:   2018-01-10 21:54:27 +0200
7210
7211    tuklib_integer: New Intel C compiler needs immintrin.h.
7212
7213    Thanks to Melanie Blower (Intel) for the patch.
7214
7215 src/common/tuklib_integer.h | 11 +++++++++++
7216 1 file changed, 11 insertions(+)
7217
7218commit a0ee1afbd99da138b559cb27fa2022e7f1ab44f3
7219Author: Lasse Collin <lasse.collin@tukaani.org>
7220Date:   2017-09-24 20:04:24 +0300
7221
7222    Update THANKS.
7223
7224 THANKS | 1 +
7225 1 file changed, 1 insertion(+)
7226
7227commit a1e2c568de29c0b57d873eab40a2879b749da429
7228Author: Lasse Collin <lasse.collin@tukaani.org>
7229Date:   2017-09-16 20:36:20 +0300
7230
7231    Windows: Fix paths in VS project files.
7232
7233    Some paths use slashes instead of backslashes as directory
7234    separators... now it should work (I tested VS2013 version).
7235
7236 windows/vs2013/liblzma.vcxproj     | 12 ++++++------
7237 windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------
7238 windows/vs2017/liblzma.vcxproj     | 12 ++++++------
7239 windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------
7240 4 files changed, 36 insertions(+), 36 deletions(-)
7241
7242commit cea5cf8d26c9d1dc30a808614d79c0b25640e15e
7243Author: Lasse Collin <lasse.collin@tukaani.org>
7244Date:   2017-09-16 12:56:20 +0300
7245
7246    Windows: Update VS2017 project files to include file info decoder.
7247
7248 windows/vs2017/liblzma.vcxproj     | 2 ++
7249 windows/vs2017/liblzma_dll.vcxproj | 2 ++
7250 2 files changed, 4 insertions(+)
7251
7252commit 95d563db3ee497b223e522b699c4d4c29943eef0
7253Author: Lasse Collin <lasse.collin@tukaani.org>
7254Date:   2017-09-16 12:54:23 +0300
7255
7256    Windows: Add project files for VS2017.
7257
7258    These files match the v5.2 branch (no file info decoder).
7259
7260 windows/vs2017/config.h            | 148 ++++++++++++++
7261 windows/vs2017/liblzma.vcxproj     | 355 ++++++++++++++++++++++++++++++++++
7262 windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++
7263 windows/vs2017/xz_win.sln          |  48 +++++
7264 4 files changed, 935 insertions(+)
7265
7266commit ab72416d62ea8f50ad31d5b8545fcb6a2bf96b73
7267Author: Lasse Collin <lasse.collin@tukaani.org>
7268Date:   2017-09-16 12:45:50 +0300
7269
7270    Windows: Update VS2013 project files to include file info decoder.
7271
7272 windows/vs2013/liblzma.vcxproj     | 2 ++
7273 windows/vs2013/liblzma_dll.vcxproj | 2 ++
7274 2 files changed, 4 insertions(+)
7275
7276commit 82388980187b0e3794d187762054200bbdcc9a53
7277Author: Lasse Collin <lasse.collin@tukaani.org>
7278Date:   2017-09-16 12:39:43 +0300
7279
7280    Windows: Move VS2013 files into windows/vs2013 directory.
7281
7282 windows/{ => vs2013}/config.h            |   0
7283 windows/{ => vs2013}/liblzma.vcxproj     | 278 +++++++++++++++---------------
7284 windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++----------------
7285 windows/{ => vs2013}/xz_win.sln          |   0
7286 4 files changed, 279 insertions(+), 279 deletions(-)
7287
7288commit 94e3f986aa4e14b4ff01ac24857f499630d6d180
7289Author: Lasse Collin <lasse.collin@tukaani.org>
7290Date:   2017-08-14 20:08:33 +0300
7291
7292    Fix or hide warnings from GCC 7's -Wimplicit-fallthrough.
7293
7294 src/liblzma/lzma/lzma_decoder.c | 6 ++++++
7295 src/xz/list.c                   | 2 ++
7296 2 files changed, 8 insertions(+)
7297
7298commit 0b0e1e6803456aac641a59332200f8e95e2b7ea8
7299Author: Alexey Tourbin <alexey.tourbin@gmail.com>
7300Date:   2017-05-16 23:56:35 +0300
7301
7302    Docs: Fix a typo in a comment in doc/examples/02_decompress.c.
7303
7304 doc/examples/02_decompress.c | 2 +-
7305 1 file changed, 1 insertion(+), 1 deletion(-)
7306
7307commit a015cd1f90116e655be4eaf4aad42c4c911c2807
7308Author: Lasse Collin <lasse.collin@tukaani.org>
7309Date:   2017-05-23 18:34:43 +0300
7310
7311    xz: Fix "xz --list --robot missing_or_bad_file.xz".
7312
7313    It ended up printing an uninitialized char-array when trying to
7314    print the check names (column 7) on the "totals" line.
7315
7316    This also changes the column 12 (minimum xz version) to
7317    50000002 (xz 5.0.0) instead of 0 when there are no valid
7318    input files.
7319
7320    Thanks to kidmin for the bug report.
7321
7322 src/xz/list.c | 8 ++++++--
7323 1 file changed, 6 insertions(+), 2 deletions(-)
7324
7325commit c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd
7326Author: Lasse Collin <lasse.collin@tukaani.org>
7327Date:   2017-04-24 20:20:11 +0300
7328
7329    Docs: Add doc/examples/11_file_info.c.
7330
7331 doc/examples/11_file_info.c | 206 ++++++++++++++++++++++++++++++++++++++++++++
7332 doc/examples/Makefile       |   3 +-
7333 2 files changed, 208 insertions(+), 1 deletion(-)
7334
7335commit 1520f6ec808896375ac7bf778c449e0f7dea5f46
7336Author: Lasse Collin <lasse.collin@tukaani.org>
7337Date:   2017-04-24 19:48:47 +0300
7338
7339    Build: Omit pre-5.0.0 entries from the generated ChangeLog.
7340
7341    It makes ChangeLog significantly smaller.
7342
7343 Makefile.am | 3 ++-
7344 1 file changed, 2 insertions(+), 1 deletion(-)
7345
7346commit 8269782283806c90a8509c2ac2a308344f70e171
7347Author: Lasse Collin <lasse.collin@tukaani.org>
7348Date:   2017-04-24 19:48:23 +0300
7349
7350    xz: Use lzma_file_info_decoder() for --list.
7351
7352 src/xz/list.c | 254 ++++++++++------------------------------------------------
7353 1 file changed, 44 insertions(+), 210 deletions(-)
7354
7355commit e353d0b1cc0d3997ae5048faa8e6786414953e06
7356Author: Lasse Collin <lasse.collin@tukaani.org>
7357Date:   2017-04-24 19:35:50 +0300
7358
7359    liblzma: Add lzma_file_info_decoder().
7360
7361 src/liblzma/api/lzma/index.h    |  66 ++++
7362 src/liblzma/common/Makefile.inc |   1 +
7363 src/liblzma/common/file_info.c  | 855 ++++++++++++++++++++++++++++++++++++++++
7364 src/liblzma/liblzma.map         |   7 +-
7365 4 files changed, 928 insertions(+), 1 deletion(-)
7366
7367commit 144ef9e19e9496c995b21505dd1e111c442968d1
7368Author: Lasse Collin <lasse.collin@tukaani.org>
7369Date:   2017-04-24 19:30:22 +0300
7370
7371    Update the Git repository URL to HTTPS in ChangeLog.
7372
7373 ChangeLog | 2 +-
7374 1 file changed, 1 insertion(+), 1 deletion(-)
7375
7376commit 8c9842c265993d7dd4039f732d3546267fb5ecc4
7377Author: Lasse Collin <lasse.collin@tukaani.org>
7378Date:   2017-04-21 15:05:16 +0300
7379
7380    liblzma: Rename LZMA_SEEK to LZMA_SEEK_NEEDED and seek_in to seek_pos.
7381
7382 src/liblzma/api/lzma/base.h | 18 +++++++++---------
7383 src/liblzma/common/common.c |  2 +-
7384 src/xz/message.c            |  2 +-
7385 3 files changed, 11 insertions(+), 11 deletions(-)
7386
7387commit 662b27c417cab248cb365dd7682121bdec4d5ae7
7388Author: Lasse Collin <lasse.collin@tukaani.org>
7389Date:   2017-04-19 22:17:35 +0300
7390
7391    Update the home page URLs to HTTPS.
7392
7393 COPYING                     | 2 +-
7394 README                      | 2 +-
7395 configure.ac                | 2 +-
7396 doc/faq.txt                 | 4 ++--
7397 dos/config.h                | 2 +-
7398 src/common/common_w32res.rc | 2 +-
7399 src/xz/xz.1                 | 6 +++---
7400 src/xzdec/xzdec.1           | 4 ++--
7401 windows/README-Windows.txt  | 2 +-
7402 windows/config.h            | 2 +-
7403 10 files changed, 14 insertions(+), 14 deletions(-)
7404
7405commit c28f0b3d00af87b92dda229831548d8eb0067d1d
7406Author: Lasse Collin <lasse.collin@tukaani.org>
7407Date:   2017-04-05 18:47:22 +0300
7408
7409    xz: Add io_seek_src().
7410
7411 src/xz/file_io.c | 20 +++++++++++++++++---
7412 src/xz/file_io.h | 13 +++++++++++++
7413 2 files changed, 30 insertions(+), 3 deletions(-)
7414
7415commit bba477257d7319c8764890f3669175b866d24944
7416Author: Lasse Collin <lasse.collin@tukaani.org>
7417Date:   2017-03-30 22:01:54 +0300
7418
7419    xz: Use POSIX_FADV_RANDOM for in "xz --list" mode.
7420
7421    xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly
7422    wrong.
7423
7424 src/xz/file_io.c | 10 ++++++++--
7425 1 file changed, 8 insertions(+), 2 deletions(-)
7426
7427commit 310d19816d1652b0c8bb1b82574d46345d924752
7428Author: Lasse Collin <lasse.collin@tukaani.org>
7429Date:   2017-03-30 20:03:05 +0300
7430
7431    liblzma: Make lzma_index_decoder_init() visible to other liblzma funcs.
7432
7433    This is to allow other functions to use it without going
7434    via the public API (lzma_index_decoder()).
7435
7436 src/liblzma/common/Makefile.inc    |  1 +
7437 src/liblzma/common/index_decoder.c | 10 +++++-----
7438 src/liblzma/common/index_decoder.h | 24 ++++++++++++++++++++++++
7439 3 files changed, 30 insertions(+), 5 deletions(-)
7440
7441commit a27920002dbc469f778a134fc665b7c3ea73701b
7442Author: Lasse Collin <lasse.collin@tukaani.org>
7443Date:   2017-03-30 20:00:09 +0300
7444
7445    liblzma: Add generic support for input seeking (LZMA_SEEK).
7446
7447    Also mention LZMA_SEEK in xz/message.c to silence a warning.
7448
7449 src/liblzma/api/lzma/base.h | 31 ++++++++++++++++++++++++++++++-
7450 src/liblzma/common/common.c | 12 +++++++++++-
7451 src/xz/message.c            |  1 +
7452 3 files changed, 42 insertions(+), 2 deletions(-)
7453
7454commit a0b1dda409bc3e6e2957a2651663fc411d2caf2d
7455Author: Lasse Collin <lasse.collin@tukaani.org>
7456Date:   2017-03-30 19:47:45 +0300
7457
7458    liblzma: Fix lzma_memlimit_set(strm, 0).
7459
7460    The 0 got treated specially in a buggy way and as a result
7461    the function did nothing. The API doc said that 0 was supposed
7462    to return LZMA_PROG_ERROR but it didn't.
7463
7464    Now 0 is treated as if 1 had been specified. This is done because
7465    0 is already used to indicate an error from lzma_memlimit_get()
7466    and lzma_memusage().
7467
7468    In addition, lzma_memlimit_set() no longer checks that the new
7469    limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive
7470    for the Index decoder and was actually needed only by the
7471    auto decoder. Auto decoder has now been modified to check for
7472    LZMA_MEMUSAGE_BASE.
7473
7474 src/liblzma/api/lzma/base.h       | 7 ++++++-
7475 src/liblzma/common/auto_decoder.c | 3 +++
7476 src/liblzma/common/common.c       | 6 ++++--
7477 3 files changed, 13 insertions(+), 3 deletions(-)
7478
7479commit 84462afaada61379f5878e46f8f00e25a1cdcf29
7480Author: Lasse Collin <lasse.collin@tukaani.org>
7481Date:   2017-03-30 19:16:55 +0300
7482
7483    liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder.
7484
7485 src/liblzma/api/lzma/container.h    | 21 +++++++++++++++++----
7486 src/liblzma/common/alone_decoder.c  |  5 +----
7487 src/liblzma/common/auto_decoder.c   |  5 +----
7488 src/liblzma/common/stream_decoder.c |  5 +----
7489 4 files changed, 20 insertions(+), 16 deletions(-)
7490
7491commit cbc74017939690d13441b8926bb743fb03211b83
7492Author: Lasse Collin <lasse.collin@tukaani.org>
7493Date:   2017-03-30 18:58:18 +0300
7494
7495    liblzma: Fix handling of memlimit == 0 in lzma_index_decoder().
7496
7497    It returned LZMA_PROG_ERROR, which was done to avoid zero as
7498    the limit (because it's a special value elsewhere), but using
7499    LZMA_PROG_ERROR is simply inconvenient and can cause bugs.
7500
7501    The fix/workaround is to treat 0 as if it were 1 byte. It's
7502    effectively the same thing. The only weird consequence is
7503    that then lzma_memlimit_get() will return 1 even when 0 was
7504    specified as the limit.
7505
7506    This fixes a very rare corner case in xz --list where a specific
7507    memory usage limit and a multi-stream file could print the
7508    error message "Internal error (bug)" instead of saying that
7509    the memory usage limit is too low.
7510
7511 src/liblzma/api/lzma/index.h       | 18 +++++++++++-------
7512 src/liblzma/common/index_decoder.c |  4 ++--
7513 2 files changed, 13 insertions(+), 9 deletions(-)
7514
7515commit 78ae13bced912b1b92ae927992c99cbcc463cae7
7516Author: Lasse Collin <lasse.collin@tukaani.org>
7517Date:   2016-12-30 13:25:10 +0200
7518
7519    Update NEWS for 5.2.3.
7520
7521 NEWS | 39 +++++++++++++++++++++++++++++++++++++++
7522 1 file changed, 39 insertions(+)
7523
7524commit 0297863fdb453aed1a25eb025f3ba7bacbbb1357
7525Author: Lasse Collin <lasse.collin@tukaani.org>
7526Date:   2016-12-26 20:55:52 +0200
7527
7528    Document --enable-sandbox configure option in INSTALL.
7529
7530 INSTALL | 23 +++++++++++++++++++++++
7531 1 file changed, 23 insertions(+)
7532
7533commit d4a0462abe5478193521c14625e1c81fead87f9f
7534Author: Lasse Collin <lasse.collin@tukaani.org>
7535Date:   2016-11-21 20:24:50 +0200
7536
7537    liblzma: Avoid multiple definitions of lzma_coder structures.
7538
7539    Only one definition was visible in a translation unit.
7540    It avoided a few casts and temp variables but seems that
7541    this hack doesn't work with link-time optimizations in compilers
7542    as it's not C99/C11 compliant.
7543
7544    Fixes:
7545    http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html
7546
7547 src/liblzma/common/alone_decoder.c             |  44 +++++----
7548 src/liblzma/common/alone_encoder.c             |  34 ++++---
7549 src/liblzma/common/auto_decoder.c              |  35 ++++---
7550 src/liblzma/common/block_decoder.c             |  41 ++++----
7551 src/liblzma/common/block_encoder.c             |  40 ++++----
7552 src/liblzma/common/common.h                    |  18 ++--
7553 src/liblzma/common/index_decoder.c             |  33 ++++---
7554 src/liblzma/common/index_encoder.c             |  16 ++--
7555 src/liblzma/common/stream_decoder.c            |  50 +++++-----
7556 src/liblzma/common/stream_encoder.c            |  56 ++++++-----
7557 src/liblzma/common/stream_encoder_mt.c         | 124 ++++++++++++++-----------
7558 src/liblzma/delta/delta_common.c               |  25 ++---
7559 src/liblzma/delta/delta_decoder.c              |   6 +-
7560 src/liblzma/delta/delta_encoder.c              |  12 ++-
7561 src/liblzma/delta/delta_private.h              |   4 +-
7562 src/liblzma/lz/lz_decoder.c                    |  60 ++++++------
7563 src/liblzma/lz/lz_decoder.h                    |  13 ++-
7564 src/liblzma/lz/lz_encoder.c                    |  57 +++++++-----
7565 src/liblzma/lz/lz_encoder.h                    |   9 +-
7566 src/liblzma/lzma/lzma2_decoder.c               |  32 ++++---
7567 src/liblzma/lzma/lzma2_encoder.c               |  51 +++++-----
7568 src/liblzma/lzma/lzma_decoder.c                |  27 +++---
7569 src/liblzma/lzma/lzma_encoder.c                |  29 +++---
7570 src/liblzma/lzma/lzma_encoder.h                |   9 +-
7571 src/liblzma/lzma/lzma_encoder_optimum_fast.c   |   3 +-
7572 src/liblzma/lzma/lzma_encoder_optimum_normal.c |  23 ++---
7573 src/liblzma/lzma/lzma_encoder_private.h        |   6 +-
7574 src/liblzma/simple/arm.c                       |   2 +-
7575 src/liblzma/simple/armthumb.c                  |   2 +-
7576 src/liblzma/simple/ia64.c                      |   2 +-
7577 src/liblzma/simple/powerpc.c                   |   2 +-
7578 src/liblzma/simple/simple_coder.c              |  61 ++++++------
7579 src/liblzma/simple/simple_private.h            |  12 +--
7580 src/liblzma/simple/sparc.c                     |   2 +-
7581 src/liblzma/simple/x86.c                       |  15 +--
7582 35 files changed, 532 insertions(+), 423 deletions(-)
7583
7584commit a01794c52add98263b49119842c3e7141d1b9ced
7585Author: Lasse Collin <lasse.collin@tukaani.org>
7586Date:   2016-10-24 18:53:25 +0300
7587
7588    Update THANKS.
7589
7590 THANKS | 1 +
7591 1 file changed, 1 insertion(+)
7592
7593commit df8f446e3ad47e5148b8c8d8b6e519d3ce29cb9d
7594Author: Lasse Collin <lasse.collin@tukaani.org>
7595Date:   2016-10-24 18:51:36 +0300
7596
7597    tuklib_cpucores: Add support for sched_getaffinity().
7598
7599    It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better
7600    than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity()
7601    gives the number of cores available to the process instead of
7602    the total number of cores online.
7603
7604    As a side effect, this commit fixes a bug on GNU/kFreeBSD where
7605    configure would detect the FreeBSD-specific cpuset_getaffinity()
7606    but it wouldn't actually work because on GNU/kFreeBSD it requires
7607    using -lfreebsd-glue when linking. Now the glibc-specific function
7608    will be used instead.
7609
7610    Thanks to Sebastian Andrzej Siewior for the original patch
7611    and testing.
7612
7613 m4/tuklib_cpucores.m4        | 30 +++++++++++++++++++++++++++++-
7614 src/common/tuklib_cpucores.c |  9 +++++++++
7615 2 files changed, 38 insertions(+), 1 deletion(-)
7616
7617commit 446e4318fa79788e09299d5953b5dd428953d14b
7618Author: Lasse Collin <lasse.collin@tukaani.org>
7619Date:   2016-06-30 20:27:36 +0300
7620
7621    xz: Fix copying of timestamps on Windows.
7622
7623    xz used to call utime() on Windows, but its result gets lost
7624    on close(). Using _futime() seems to work.
7625
7626    Thanks to Martok for reporting the bug:
7627    http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html
7628
7629 configure.ac     |  2 +-
7630 src/xz/file_io.c | 18 ++++++++++++++++++
7631 2 files changed, 19 insertions(+), 1 deletion(-)
7632
7633commit 1b0ac0c53c761263e91e34195cb21dfdcfeac0bd
7634Author: Lasse Collin <lasse.collin@tukaani.org>
7635Date:   2016-06-16 22:46:02 +0300
7636
7637    xz: Silence warnings from -Wlogical-op.
7638
7639    Thanks to Evan Nemerson.
7640
7641 src/xz/file_io.c | 12 ++++++++++--
7642 1 file changed, 10 insertions(+), 2 deletions(-)
7643
7644commit c83b7a03342c3325ff10400b22ee21edfcd1e026
7645Author: Lasse Collin <lasse.collin@tukaani.org>
7646Date:   2016-04-10 20:55:49 +0300
7647
7648    Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am.
7649
7650    Thanks to Christian Kujau.
7651
7652 src/xz/Makefile.am | 2 +-
7653 1 file changed, 1 insertion(+), 1 deletion(-)
7654
7655commit ade31a2bfb95c94d05fbfc0ecbba5d6377f2506e
7656Author: Lasse Collin <lasse.collin@tukaani.org>
7657Date:   2016-04-10 20:54:17 +0300
7658
7659    Build: Bump GNU Gettext version requirement to 0.19.
7660
7661    It silences a few warnings and most people probably have
7662    0.19 even on stable distributions.
7663
7664    Thanks to Christian Kujau.
7665
7666 configure.ac | 2 +-
7667 1 file changed, 1 insertion(+), 1 deletion(-)
7668
7669commit ac398c3bafa6e4c80e20571373a96947db863b3d
7670Author: Lasse Collin <lasse.collin@tukaani.org>
7671Date:   2016-03-13 20:21:49 +0200
7672
7673    liblzma: Disable external SHA-256 by default.
7674
7675    This is the sane thing to do. The conflict with OpenSSL
7676    on some OSes and especially that the OS-provided versions
7677    can be significantly slower makes it clear that it was
7678    a mistake to have the external SHA-256 support enabled by
7679    default.
7680
7681    Those who want it can now pass --enable-external-sha256 to
7682    configure. INSTALL was updated with notes about OSes where
7683    this can be a bad idea.
7684
7685    The SHA-256 detection code in configure.ac had some bugs that
7686    could lead to a build failure in some situations. These were
7687    fixed, although it doesn't matter that much now that the
7688    external SHA-256 is disabled by default.
7689
7690    MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init
7691    in libc instead of libutil. Support for the libutil version
7692    was removed.
7693
7694 INSTALL                   | 36 ++++++++++++++++++++++
7695 configure.ac              | 76 +++++++++++++++++++++++------------------------
7696 src/liblzma/check/check.h | 16 ++++------
7697 3 files changed, 79 insertions(+), 49 deletions(-)
7698
7699commit 6fd5ecb589a9fdd7a576ea48c4850d496bab9ce5
7700Author: Lasse Collin <lasse.collin@tukaani.org>
7701Date:   2016-03-10 20:27:05 +0200
7702
7703    Update THANKS.
7704
7705 THANKS | 1 +
7706 1 file changed, 1 insertion(+)
7707
7708commit 473ef0dc69a30e64d5fa0d34aca02f7309faa3e9
7709Author: Lasse Collin <lasse.collin@tukaani.org>
7710Date:   2016-03-10 20:26:49 +0200
7711
7712    Build: Avoid SHA256_Init on FreeBSD and MINIX 3.
7713
7714    On FreeBSD 10 and older, SHA256_Init from libmd conflicts
7715    with libcrypto from OpenSSL. The OpenSSL version has
7716    different sizeof(SHA256_CTX) and it can cause weird
7717    problems if wrong SHA256_Init gets used.
7718
7719    Looking at the source, MINIX 3 seems to have a similar issue but
7720    I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too.
7721
7722    NetBSD has SHA256_Init in libc and they had a similar problem,
7723    but they already fixed it in 2009.
7724
7725    Thanks to Jim Wilcoxson for the bug report that helped
7726    in finding the problem.
7727
7728 configure.ac | 27 +++++++++++++++++++++------
7729 1 file changed, 21 insertions(+), 6 deletions(-)
7730
7731commit faf302137e54d605b44ecf0373cb51a6403a2de1
7732Author: Lasse Collin <lasse.collin@tukaani.org>
7733Date:   2015-11-08 20:16:10 +0200
7734
7735    tuklib_physmem: Hopefully silence a warning on Windows.
7736
7737 src/common/tuklib_physmem.c | 3 ++-
7738 1 file changed, 2 insertions(+), 1 deletion(-)
7739
7740commit e52e9151cf8613022d1de4712ff39dbcb666e991
7741Author: Lasse Collin <lasse.collin@tukaani.org>
7742Date:   2015-11-04 23:17:43 +0200
7743
7744    Update THANKS.
7745
7746 THANKS | 1 +
7747 1 file changed, 1 insertion(+)
7748
7749commit 14115f84a38161d55eaa2d070f08739bde37e966
7750Author: Lasse Collin <lasse.collin@tukaani.org>
7751Date:   2015-11-04 23:14:00 +0200
7752
7753    liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.
7754
7755    When optimizing, GCC can reorder code so that an uninitialized
7756    value gets used in a comparison, which makes Valgrind unhappy.
7757    It doesn't happen when compiled with -O0, which I tend to use
7758    when running Valgrind.
7759
7760    Thanks to Rich Prohaska. I remember this being mentioned long
7761    ago by someone else but nothing was done back then.
7762
7763 src/liblzma/lz/lz_encoder.c | 4 ++++
7764 1 file changed, 4 insertions(+)
7765
7766commit f4c95ba94beb71a608eb6eadbf82b44f53a0260e
7767Author: Lasse Collin <lasse.collin@tukaani.org>
7768Date:   2015-11-03 20:55:45 +0200
7769
7770    liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c.
7771
7772    It would be too annoying to update other build systems
7773    just because of this.
7774
7775 src/liblzma/lzma/Makefile.inc                               | 2 +-
7776 src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +-
7777 2 files changed, 2 insertions(+), 2 deletions(-)
7778
7779commit c7bc20a6f3e71920871d48db31a79ab58b5a0a4b
7780Author: Lasse Collin <lasse.collin@tukaani.org>
7781Date:   2015-11-03 20:47:07 +0200
7782
7783    Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built.
7784
7785    They all need decoder support and if that isn't available,
7786    there's no point trying to build them.
7787
7788 configure.ac | 3 +++
7789 1 file changed, 3 insertions(+)
7790
7791commit 5cbca1205deeb6fb7afe7a864fa68a57466d928a
7792Author: Lasse Collin <lasse.collin@tukaani.org>
7793Date:   2015-11-03 20:35:19 +0200
7794
7795    Build: Simplify $enable_{encoders,decoders} usage a bit.
7796
7797 configure.ac | 6 ++++--
7798 1 file changed, 4 insertions(+), 2 deletions(-)
7799
7800commit af13781886c8e7a0aabebb5141ea282dc364f5c6
7801Author: Lasse Collin <lasse.collin@tukaani.org>
7802Date:   2015-11-03 20:31:31 +0200
7803
7804    Windows/MSVC: Update config.h.
7805
7806 windows/config.h | 6 ++++++
7807 1 file changed, 6 insertions(+)
7808
7809commit 9fa5949330f162c5a2f6653f83025327837e8f39
7810Author: Lasse Collin <lasse.collin@tukaani.org>
7811Date:   2015-11-03 20:29:58 +0200
7812
7813    DOS: Update config.h.
7814
7815 dos/config.h | 6 ++++++
7816 1 file changed, 6 insertions(+)
7817
7818commit cb3111e3ed84152912b5138d690c8d9f00c6ef02
7819Author: Lasse Collin <lasse.collin@tukaani.org>
7820Date:   2015-11-03 20:29:33 +0200
7821
7822    xz: Make xz buildable even when encoders or decoders are disabled.
7823
7824    The patch is quite long but it's mostly about adding new #ifdefs
7825    to omit code when encoders or decoders have been disabled.
7826
7827    This adds two new #defines to config.h: HAVE_ENCODERS and
7828    HAVE_DECODERS.
7829
7830 configure.ac       |  4 ++++
7831 src/xz/Makefile.am |  8 ++++++--
7832 src/xz/args.c      | 16 ++++++++++++++++
7833 src/xz/coder.c     | 33 +++++++++++++++++++++++++--------
7834 src/xz/main.c      |  9 +++++++--
7835 src/xz/private.h   |  5 ++++-
7836 6 files changed, 62 insertions(+), 13 deletions(-)
7837
7838commit 4cc584985c0b7a13901da1b7a64ef9f7cc36e8ab
7839Author: Lasse Collin <lasse.collin@tukaani.org>
7840Date:   2015-11-03 18:06:40 +0200
7841
7842    Build: Build LZMA1/2 presets also when only decoder is wanted.
7843
7844    People shouldn't rely on the presets when decoding raw streams,
7845    but xz uses the presets as the starting point for raw decoder
7846    options anyway.
7847
7848    lzma_encocder_presets.c was renamed to lzma_presets.c to
7849    make it clear it's not used solely by the encoder code.
7850
7851 src/liblzma/lzma/Makefile.inc                               | 6 +++++-
7852 src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++-
7853 2 files changed, 7 insertions(+), 2 deletions(-)
7854
7855commit 23ed1d41489f632155bbc9660f323d57e09da180
7856Author: Lasse Collin <lasse.collin@tukaani.org>
7857Date:   2015-11-03 17:54:48 +0200
7858
7859    Build: Fix configure to handle LZMA1 dependency with LZMA2.
7860
7861    Now it gives an error if LZMA1 encoder/decoder is missing
7862    when LZMA2 encoder/decoder was requested. Even better would
7863    be LZMA2 implicitly enabling LZMA1 but it would need more code.
7864
7865 configure.ac | 5 -----
7866 1 file changed, 5 deletions(-)
7867
7868commit b0bc3e03852af13419ea2960881824258d451117
7869Author: Lasse Collin <lasse.collin@tukaani.org>
7870Date:   2015-11-03 17:41:54 +0200
7871
7872    Build: Don't omit lzma_cputhreads() unless using --disable-threads.
7873
7874    Previously it was omitted if encoders were disabled
7875    with --disable-encoders. It didn't make sense and
7876    it also broke the build.
7877
7878 src/liblzma/common/Makefile.inc | 5 ++++-
7879 1 file changed, 4 insertions(+), 1 deletion(-)
7880
7881commit c6bf438ab39e0fb4a47d3c81725c227919502726
7882Author: Lasse Collin <lasse.collin@tukaani.org>
7883Date:   2015-11-02 18:16:51 +0200
7884
7885    liblzma: Fix a build failure related to external SHA-256 support.
7886
7887    If an appropriate header and structure were found by configure,
7888    but a library with a usable SHA-256 functions wasn't, the build
7889    failed.
7890
7891 src/liblzma/check/check.h | 32 +++++++++++++++++++++++---------
7892 1 file changed, 23 insertions(+), 9 deletions(-)
7893
7894commit e18adc56f2262aa9394d46681e9e4b9981ed5e97
7895Author: Lasse Collin <lasse.collin@tukaani.org>
7896Date:   2015-11-02 15:19:10 +0200
7897
7898    xz: Always close the file before trying to delete it.
7899
7900    unlink() can return EBUSY in errno for open files on some
7901    operating systems and file systems.
7902
7903 src/xz/file_io.c | 25 ++++++++++++-------------
7904 1 file changed, 12 insertions(+), 13 deletions(-)
7905
7906commit 282e768a1484e88c8b7ec35655ee4959954ec87a
7907Author: Lasse Collin <lasse.collin@tukaani.org>
7908Date:   2015-10-12 21:08:42 +0300
7909
7910    Update THANKS.
7911
7912 THANKS | 1 +
7913 1 file changed, 1 insertion(+)
7914
7915commit 372e402713a1d4337ffce5f56d5c5c9ed99a66d0
7916Author: Lasse Collin <lasse.collin@tukaani.org>
7917Date:   2015-10-12 21:07:41 +0300
7918
7919    Tests: Add tests for the two bugs fixed in index.c.
7920
7921 tests/test_index.c | 30 ++++++++++++++++++++++++++++++
7922 1 file changed, 30 insertions(+)
7923
7924commit 21515d79d778b8730a434f151b07202d52a04611
7925Author: Lasse Collin <lasse.collin@tukaani.org>
7926Date:   2015-10-12 20:45:15 +0300
7927
7928    liblzma: Fix lzma_index_dup() for empty Streams.
7929
7930    Stream Flags and Stream Padding weren't copied from
7931    empty Streams.
7932
7933 src/liblzma/common/index.c | 11 ++++++-----
7934 1 file changed, 6 insertions(+), 5 deletions(-)
7935
7936commit 09f395b6b360c0b13e8559eece1d179b908ebd3a
7937Author: Lasse Collin <lasse.collin@tukaani.org>
7938Date:   2015-10-12 20:31:44 +0300
7939
7940    liblzma: Add a note to index.c for those using static analyzers.
7941
7942 src/liblzma/common/index.c | 3 +++
7943 1 file changed, 3 insertions(+)
7944
7945commit 3bf857edfef51374f6f3fffae3d817f57d3264a0
7946Author: Lasse Collin <lasse.collin@tukaani.org>
7947Date:   2015-10-12 20:29:09 +0300
7948
7949    liblzma: Fix a memory leak in error path of lzma_index_dup().
7950
7951    lzma_index_dup() calls index_dup_stream() which, in case of
7952    an error, calls index_stream_end() to free memory allocated
7953    by index_stream_init(). However, it illogically didn't
7954    actually free the memory. To make it logical, the tree
7955    handling code was modified a bit in addition to changing
7956    index_stream_end().
7957
7958    Thanks to Evan Nemerson for the bug report.
7959
7960 src/liblzma/common/index.c | 18 +++++++++---------
7961 1 file changed, 9 insertions(+), 9 deletions(-)
7962
7963commit 7f05803979b4b79642d5be4218a79da7a0b12c47
7964Author: Lasse Collin <lasse.collin@tukaani.org>
7965Date:   2015-09-29 13:57:28 +0300
7966
7967    Update NEWS for 5.2.2.
7968
7969 NEWS | 18 ++++++++++++++++++
7970 1 file changed, 18 insertions(+)
7971
7972commit 397fcc0946315b55c3c6d80e37e82a2a78bc15c1
7973Author: Hauke Henningsen <sqrt@entless.org>
7974Date:   2015-08-17 04:59:54 +0200
7975
7976    Update German translation, mostly wrt orthography
7977
7978    Provide an update of the German translation.
7979    * A lot of compound words were previously written with spaces, while
7980      German orthography is relatively clear in that the components
7981      should not be separated.
7982    * When referring to the actual process of (de)compression rather than the
7983      concept, replace “(De-)Kompression” with “(De-)Komprimierung”.
7984      Previously, both forms were used in this context and are now used in a
7985      manner consistent with “Komprimierung” being more likely to refer to
7986      a process.
7987    * Consistently translate “standard input”/“output”
7988    * Use “Zeichen” instead of false friend “Charakter” for “character”
7989    * Insert commas around relative clauses (as required in German)
7990    * Some other minor corrections
7991    * Capitalize “ß” as “ẞ”
7992    * Consistently start option descriptions in --help with capital letters
7993
7994    Acked-By: Andre Noll <maan@tuebingen.mpg.de>
7995
7996    * Update after msgmerge
7997
7998 po/de.po | 383 ++++++++++++++++++++++++++++++++-------------------------------
7999 1 file changed, 196 insertions(+), 187 deletions(-)
8000
8001commit cbc9e39bae715accb44168930a71888480aad569
8002Author: Lasse Collin <lasse.collin@tukaani.org>
8003Date:   2015-08-11 13:23:04 +0300
8004
8005    Build: Minor Cygwin cleanup.
8006
8007    Some tests used "cygwin*" and some used "cygwin". I changed
8008    them all to use "cygwin". Shouldn't affect anything in practice.
8009
8010 configure.ac | 6 +++---
8011 1 file changed, 3 insertions(+), 3 deletions(-)
8012
8013commit bcacd8ce7a031566858e5e03c1009064c3f1c89e
8014Author: Lasse Collin <lasse.collin@tukaani.org>
8015Date:   2015-08-11 13:21:52 +0300
8016
8017    Build: Support building of MSYS2 binaries.
8018
8019 configure.ac | 16 +++++++++++-----
8020 1 file changed, 11 insertions(+), 5 deletions(-)
8021
8022commit 0275a5398c01d57b724dec7fea52dec3bd6edc6c
8023Author: Lasse Collin <lasse.collin@tukaani.org>
8024Date:   2015-08-09 21:06:26 +0300
8025
8026    Windows: Define DLL_EXPORT when building liblzma.dll with MSVC.
8027
8028    src/liblzma/common/common.h uses it to set __declspec(dllexport)
8029    for the API symbols.
8030
8031    Thanks to Adam Walling.
8032
8033 windows/liblzma_dll.vcxproj | 12 ++++++------
8034 1 file changed, 6 insertions(+), 6 deletions(-)
8035
8036commit a74525cf9b945fb0b370e64cf406104beb31729b
8037Author: Lasse Collin <lasse.collin@tukaani.org>
8038Date:   2015-08-09 21:02:20 +0300
8039
8040    Windows: Omit unneeded header files from MSVC project files.
8041
8042 windows/liblzma.vcxproj     | 5 -----
8043 windows/liblzma_dll.vcxproj | 5 -----
8044 2 files changed, 10 deletions(-)
8045
8046commit fbbb295a91caf39faf8838c8c39526e4cb4dc121
8047Author: Lasse Collin <lasse.collin@tukaani.org>
8048Date:   2015-07-12 20:48:19 +0300
8049
8050    liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer.
8051
8052 src/liblzma/api/lzma.h | 18 +++++++++++++-----
8053 1 file changed, 13 insertions(+), 5 deletions(-)
8054
8055commit 713dbe5c230fe00865a54f5c32358ea30f9a1156
8056Author: Lasse Collin <lasse.collin@tukaani.org>
8057Date:   2015-06-19 20:38:55 +0300
8058
8059    Update THANKS.
8060
8061 THANKS | 2 ++
8062 1 file changed, 2 insertions(+)
8063
8064commit 3a5d755d055d51f99c523b4c2952727e1e69cfa1
8065Author: Lasse Collin <lasse.collin@tukaani.org>
8066Date:   2015-06-19 20:21:30 +0300
8067
8068    Windows: Update the docs.
8069
8070 INSTALL                                            | 29 ++++++++-----
8071 windows/INSTALL-MSVC.txt                           | 47 ++++++++++++++++++++++
8072 windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} |  2 +-
8073 3 files changed, 67 insertions(+), 11 deletions(-)
8074
8075commit b0798c6aa6184efcefd0bdcca20f96121a13feda
8076Author: Lasse Collin <lasse.collin@tukaani.org>
8077Date:   2015-06-19 17:25:31 +0300
8078
8079    Windows: Add MSVC project files for building liblzma.
8080
8081    Thanks to Adam Walling for creating these files.
8082
8083 windows/liblzma.vcxproj     | 359 ++++++++++++++++++++++++++++++++++++++++
8084 windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++
8085 windows/xz_win.sln          |  48 ++++++
8086 3 files changed, 795 insertions(+)
8087
8088commit 9b02a4ffdac1b9f066658ec4c95c0834f4cd2fb7
8089Author: Andre Noll <maan@tuebingen.mpg.de>
8090Date:   2015-05-28 15:50:00 +0200
8091
8092    Fix typo in German translation.
8093
8094    As pointed out by Robert Pollak, there's a typo in the German
8095    translation of the compression preset option (-0 ... -9) help text.
8096    "The compressor" translates to "der Komprimierer", and the genitive
8097    form is "des Komprimierers". The old word makes no sense at all.
8098
8099 po/de.po | 2 +-
8100 1 file changed, 1 insertion(+), 1 deletion(-)
8101
8102commit c7f4041f6b8f4729f88d3bc888b2a4080ae51f72
8103Author: Lasse Collin <lasse.collin@tukaani.org>
8104Date:   2015-05-13 20:57:55 +0300
8105
8106    Tests: Fix a memory leak in test_bcj_exact_size.
8107
8108    Thanks to Cristian Rodríguez.
8109
8110 tests/test_bcj_exact_size.c | 1 +
8111 1 file changed, 1 insertion(+)
8112
8113commit 17b29d4f0ae0f780fbd69e15a398dc478d8492f8
8114Author: Lasse Collin <lasse.collin@tukaani.org>
8115Date:   2015-05-12 18:08:24 +0300
8116
8117    Fix NEWS about threading in 5.2.0.
8118
8119    Thanks to Andy Hochhaus.
8120
8121 NEWS | 3 ++-
8122 1 file changed, 2 insertions(+), 1 deletion(-)
8123
8124commit 49c26920d6e2d85e5c6123e34958aed2e77485ad
8125Author: Lasse Collin <lasse.collin@tukaani.org>
8126Date:   2015-05-11 21:26:16 +0300
8127
8128    xz: Document that threaded decompression hasn't been implemented yet.
8129
8130 src/xz/xz.1 | 10 +++++++++-
8131 1 file changed, 9 insertions(+), 1 deletion(-)
8132
8133commit 5b2458cb244ed237efe4de1ebcf06e1b3a1f4256
8134Author: Lasse Collin <lasse.collin@tukaani.org>
8135Date:   2015-04-20 20:20:29 +0300
8136
8137    Update THANKS.
8138
8139 THANKS | 1 +
8140 1 file changed, 1 insertion(+)
8141
8142commit 6bd0349c58451b13442e8f463e35de83548bf985
8143Author: Lasse Collin <lasse.collin@tukaani.org>
8144Date:   2015-04-20 19:59:18 +0300
8145
8146    Revert "xz: Use pipe2() if available."
8147
8148    This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd.
8149    It is a problem when libc has pipe2() but the kernel is too
8150    old to have pipe2() and thus pipe2() fails. In xz it's pointless
8151    to have a fallback for non-functioning pipe2(); it's better to
8152    avoid pipe2() completely.
8153
8154    Thanks to Michael Fox for the bug report.
8155
8156 configure.ac     | 4 ++--
8157 src/xz/file_io.c | 9 +--------
8158 2 files changed, 3 insertions(+), 10 deletions(-)
8159
8160commit fc0df0f8db87dff45543708a711e17d29c37f632
8161Author: Lasse Collin <lasse.collin@tukaani.org>
8162Date:   2015-04-01 14:45:25 +0300
8163
8164    xz: Fix the Capsicum rights on user_abort_pipe.
8165
8166 src/xz/file_io.c | 6 +++++-
8167 1 file changed, 5 insertions(+), 1 deletion(-)
8168
8169commit 57393615b31b3788dd77280452d845bcc12d33af
8170Author: Lasse Collin <lasse.collin@tukaani.org>
8171Date:   2015-03-31 22:20:11 +0300
8172
8173    Update THANKS.
8174
8175 THANKS | 1 +
8176 1 file changed, 1 insertion(+)
8177
8178commit 1238381143a9a7ce84839c2582ccd56ff750a440
8179Author: Lasse Collin <lasse.collin@tukaani.org>
8180Date:   2015-03-31 22:19:34 +0300
8181
8182    xz: Add support for sandboxing with Capsicum.
8183
8184    The sandboxing is used conditionally as described in main.c.
8185    This isn't optimal but it was much easier to implement than
8186    a full sandboxing solution and it still covers the most common
8187    use cases where xz is writing to standard output. This should
8188    have practically no effect on performance even with small files
8189    as fork() isn't needed.
8190
8191    C and locale libraries can open files as needed. This has been
8192    fine in the past, but it's a problem with things like Capsicum.
8193    io_sandbox_enter() tries to ensure that various locale-related
8194    files have been loaded before cap_enter() is called, but it's
8195    possible that there are other similar problems which haven't
8196    been seen yet.
8197
8198    Currently Capsicum is available on FreeBSD 10 and later
8199    and there is a port to Linux too.
8200
8201    Thanks to Loganaden Velvindron for help.
8202
8203 configure.ac       | 41 +++++++++++++++++++++++++++
8204 src/xz/Makefile.am |  2 +-
8205 src/xz/file_io.c   | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
8206 src/xz/file_io.h   |  6 ++++
8207 src/xz/main.c      | 18 ++++++++++++
8208 src/xz/private.h   |  4 +++
8209 6 files changed, 151 insertions(+), 1 deletion(-)
8210
8211commit 29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e
8212Author: Lasse Collin <lasse.collin@tukaani.org>
8213Date:   2015-03-31 21:12:30 +0300
8214
8215    Fix bugs and otherwise improve ax_check_capsicum.m4.
8216
8217    AU_ALIAS was removed because the new version is incompatible
8218    with the old version.
8219
8220    It no longer checks for <sys/capability.h> separately.
8221    It's enough to test for it as part of AC_CHECK_DECL.
8222    The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and
8223    HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded.
8224    HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough.
8225
8226    It no longer does a useless search for the Capsicum library
8227    if the header wasn't found.
8228
8229    Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying
8230    the argument omitted the default action but the given action
8231    wasn't used instead.
8232
8233    AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum
8234    support is found. Previously it was part of the default
8235    ACTION-IF-FOUND which a custom action would override. Now
8236    the default action only prepends ${CAPSICUM_LIB} to LIBS.
8237
8238    The documentation was updated.
8239
8240    Since there as no serial number, "#serial 2" was added.
8241
8242 m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------
8243 1 file changed, 51 insertions(+), 52 deletions(-)
8244
8245commit 6e845c6a3eddf2fde9db5a29950421dff60a43ac
8246Author: Lasse Collin <lasse.collin@tukaani.org>
8247Date:   2015-03-31 19:20:24 +0300
8248
8249    Add m4/ax_check_capsicum.m4 for detecting Capsicum support.
8250
8251    The file was loaded from this web page:
8252    https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4
8253
8254    Thanks to Loganaden Velvindron for pointing it out for me.
8255
8256 m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
8257 1 file changed, 86 insertions(+)
8258
8259commit 3717885f9ef2c06f1bcbad9f4c2ed2d5695f844e
8260Author: Lasse Collin <lasse.collin@tukaani.org>
8261Date:   2015-03-30 22:44:02 +0300
8262
8263    Bump version to 5.3.0alpha and soname to 5.3.99.
8264
8265    The idea of 99 is that it looks a bit weird in this context.
8266    For new features there's no API/ABI stability in devel versions.
8267
8268 src/liblzma/Makefile.am        | 2 +-
8269 src/liblzma/api/lzma/version.h | 6 +++---
8270 2 files changed, 4 insertions(+), 4 deletions(-)
8271
8272commit eccd8155e107c5ada03d13e7730675cdf1a44ddc
8273Author: Lasse Collin <lasse.collin@tukaani.org>
8274Date:   2015-03-29 22:14:47 +0300
8275
8276    Update THANKS.
8277
8278 THANKS | 1 +
8279 1 file changed, 1 insertion(+)
8280
8281commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00
8282Author: Lasse Collin <lasse.collin@tukaani.org>
8283Date:   2015-03-29 22:13:48 +0300
8284
8285    Fix the detection of installed RAM on QNX.
8286
8287    The earlier version compiled but didn't actually work
8288    since sysconf(_SC_PHYS_PAGES) always fails (or so I was told).
8289
8290    Thanks to Ole André Vadla Ravnås for the patch and testing.
8291
8292 m4/tuklib_physmem.m4        |  6 +++---
8293 src/common/tuklib_physmem.c | 14 +++++++++++++-
8294 2 files changed, 16 insertions(+), 4 deletions(-)
8295
8296commit 4c544d2410903d38402221cb783ed85585b6a007
8297Author: Lasse Collin <lasse.collin@tukaani.org>
8298Date:   2015-03-27 22:39:07 +0200
8299
8300    Fix CPU core count detection on QNX.
8301
8302    It tried to use sysctl() on QNX but
8303      - it broke the build because sysctl() needs -lsocket on QNX;
8304      - sysctl() doesn't work for detecting the core count on QNX
8305        even if it compiled.
8306
8307    sysconf() works. An alternative would have been to use
8308    QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>.
8309
8310    Thanks to Ole André Vadla Ravnås.
8311
8312 m4/tuklib_cpucores.m4 | 15 +++++++++++----
8313 1 file changed, 11 insertions(+), 4 deletions(-)
8314
8315commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3
8316Author: Lasse Collin <lasse.collin@tukaani.org>
8317Date:   2015-03-07 22:05:57 +0200
8318
8319    xz: size_t/uint32_t cleanup in options.c.
8320
8321 src/xz/options.c | 12 ++++++------
8322 1 file changed, 6 insertions(+), 6 deletions(-)
8323
8324commit 8bcca29a65335fd679c13814b70b35b68fa5daed
8325Author: Lasse Collin <lasse.collin@tukaani.org>
8326Date:   2015-03-07 22:04:23 +0200
8327
8328    xz: Fix a comment and silence a warning in message.c.
8329
8330 src/xz/message.c | 5 +++--
8331 1 file changed, 3 insertions(+), 2 deletions(-)
8332
8333commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b
8334Author: Lasse Collin <lasse.collin@tukaani.org>
8335Date:   2015-03-07 22:01:00 +0200
8336
8337    liblzma: Silence more uint32_t vs. size_t warnings.
8338
8339 src/liblzma/lz/lz_encoder.c     | 2 +-
8340 src/liblzma/lzma/lzma_encoder.c | 2 +-
8341 2 files changed, 2 insertions(+), 2 deletions(-)
8342
8343commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34
8344Author: Lasse Collin <lasse.collin@tukaani.org>
8345Date:   2015-03-07 19:54:00 +0200
8346
8347    xz: Make arg_count an unsigned int to silence a warning.
8348
8349    Actually the value of arg_count cannot exceed INT_MAX
8350    but it's nicer as an unsigned int.
8351
8352 src/xz/args.h | 2 +-
8353 src/xz/main.c | 2 +-
8354 2 files changed, 2 insertions(+), 2 deletions(-)
8355
8356commit f6ec46801588b1be29c07c9db98558b521304002
8357Author: Lasse Collin <lasse.collin@tukaani.org>
8358Date:   2015-03-07 19:33:17 +0200
8359
8360    liblzma: Fix a warning in index.c.
8361
8362 src/liblzma/common/index.c | 4 +++-
8363 1 file changed, 3 insertions(+), 1 deletion(-)
8364
8365commit a24518971cc621315af142dd3bb7614fab04ad27
8366Author: Lasse Collin <lasse.collin@tukaani.org>
8367Date:   2015-02-26 20:46:14 +0200
8368
8369    Build: Fix a CR+LF problem when running autoreconf -fi on OS/2.
8370
8371 build-aux/version.sh | 2 +-
8372 1 file changed, 1 insertion(+), 1 deletion(-)
8373
8374commit dec11497a71518423b5ff0e759100cf8aadf6c7b
8375Author: Lasse Collin <lasse.collin@tukaani.org>
8376Date:   2015-02-26 16:53:44 +0200
8377
8378    Bump version and soname for 5.2.1.
8379
8380 src/liblzma/Makefile.am        | 2 +-
8381 src/liblzma/api/lzma/version.h | 2 +-
8382 2 files changed, 2 insertions(+), 2 deletions(-)
8383
8384commit 29e39c79975ab89ee5dd671e97064534a9f3a649
8385Author: Lasse Collin <lasse.collin@tukaani.org>
8386Date:   2015-02-26 13:01:09 +0200
8387
8388    Update NEWS for 5.2.1.
8389
8390 NEWS | 14 ++++++++++++++
8391 1 file changed, 14 insertions(+)
8392
8393commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd
8394Author: Lasse Collin <lasse.collin@tukaani.org>
8395Date:   2015-02-22 19:38:48 +0200
8396
8397    xz: Use pipe2() if available.
8398
8399 configure.ac     | 4 ++--
8400 src/xz/file_io.c | 9 ++++++++-
8401 2 files changed, 10 insertions(+), 3 deletions(-)
8402
8403commit 117d962685c72682c63edc9bb765367189800202
8404Author: Lasse Collin <lasse.collin@tukaani.org>
8405Date:   2015-02-21 23:40:26 +0200
8406
8407    liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode.
8408
8409    The bug was added in the commit
8410    f48fce093b07aeda95c18850f5e086d9f2383380 and thus
8411    affected 5.1.4beta and 5.2.0. Luckily the bug cannot
8412    cause data corruption or other nasty things.
8413
8414 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +-
8415 1 file changed, 1 insertion(+), 1 deletion(-)
8416
8417commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719
8418Author: Lasse Collin <lasse.collin@tukaani.org>
8419Date:   2015-02-21 23:00:19 +0200
8420
8421    xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick.
8422
8423    Now it reads the old flags instead of blindly setting O_NONBLOCK.
8424    The old code may have worked correctly, but this is better.
8425
8426 src/xz/file_io.c | 16 +++++++++++-----
8427 1 file changed, 11 insertions(+), 5 deletions(-)
8428
8429commit 2205bb5853098aea36a56df6f5747037175f66b4
8430Author: Lasse Collin <lasse.collin@tukaani.org>
8431Date:   2015-02-10 15:29:34 +0200
8432
8433    Update THANKS.
8434
8435 THANKS | 1 +
8436 1 file changed, 1 insertion(+)
8437
8438commit d935b0cdf3db440269b9d952b2b281b18f8c7b08
8439Author: Lasse Collin <lasse.collin@tukaani.org>
8440Date:   2015-02-10 15:28:30 +0200
8441
8442    tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available.
8443
8444    In FreeBSD, cpuset_getaffinity() is the preferred way to get
8445    the number of available cores.
8446
8447    Thanks to Rui Paulo for the patch. I edited it slightly, but
8448    hopefully I didn't break anything.
8449
8450 m4/tuklib_cpucores.m4        | 23 ++++++++++++++++++++++-
8451 src/common/tuklib_cpucores.c | 18 ++++++++++++++++++
8452 2 files changed, 40 insertions(+), 1 deletion(-)
8453
8454commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560
8455Author: Lasse Collin <lasse.collin@tukaani.org>
8456Date:   2015-02-09 22:08:37 +0200
8457
8458    xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp.
8459
8460    Thanks to Rui Paulo for the fix.
8461
8462 src/scripts/xzdiff.in | 7 ++++++-
8463 1 file changed, 6 insertions(+), 1 deletion(-)
8464
8465commit b9a5b6b7a29029680af733082b6a46e0fc01623a
8466Author: Lasse Collin <lasse.collin@tukaani.org>
8467Date:   2015-02-03 21:45:53 +0200
8468
8469    Add a few casts to tuklib_integer.h to silence possible warnings.
8470
8471    I heard that Visual Studio 2013 gave warnings without the casts.
8472
8473    Thanks to Gabi Davar.
8474
8475 src/common/tuklib_integer.h | 24 ++++++++++++------------
8476 1 file changed, 12 insertions(+), 12 deletions(-)
8477
8478commit c45757135f40e4a0de730ba5fff0100219493982
8479Author: Lasse Collin <lasse.collin@tukaani.org>
8480Date:   2015-01-26 21:24:39 +0200
8481
8482    liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method.
8483
8484 src/liblzma/common/memcmplen.h | 15 ++++++++++-----
8485 1 file changed, 10 insertions(+), 5 deletions(-)
8486
8487commit 3c500174ed5485f550972a2a6109c361e875f069
8488Author: Lasse Collin <lasse.collin@tukaani.org>
8489Date:   2015-01-26 20:40:16 +0200
8490
8491    Update THANKS.
8492
8493 THANKS | 1 +
8494 1 file changed, 1 insertion(+)
8495
8496commit fec88d41e672d9e197c9442aecf02bd0dfa6d516
8497Author: Lasse Collin <lasse.collin@tukaani.org>
8498Date:   2015-01-26 20:39:28 +0200
8499
8500    liblzma: Silence harmless Valgrind errors.
8501
8502    Thanks to Torsten Rupp for reporting this. I had
8503    forgotten to run Valgrind before the 5.2.0 release.
8504
8505 src/liblzma/lz/lz_encoder.c | 6 ++++++
8506 1 file changed, 6 insertions(+)
8507
8508commit a9b45badfec0928d20a27c7176c005fa637f7d1e
8509Author: Lasse Collin <lasse.collin@tukaani.org>
8510Date:   2015-01-09 21:50:19 +0200
8511
8512    xz: Fix comments.
8513
8514 src/xz/file_io.c | 12 ++++++++----
8515 1 file changed, 8 insertions(+), 4 deletions(-)
8516
8517commit 541aee6dd4aa97a809aba281475a21b641bb89e2
8518Author: Lasse Collin <lasse.collin@tukaani.org>
8519Date:   2015-01-09 21:35:06 +0200
8520
8521    Update THANKS.
8522
8523 THANKS | 1 +
8524 1 file changed, 1 insertion(+)
8525
8526commit 4170edc914655310d2363baccf5e615e09b04911
8527Author: Lasse Collin <lasse.collin@tukaani.org>
8528Date:   2015-01-09 21:34:06 +0200
8529
8530    xz: Don't fail if stdout doesn't support O_NONBLOCK.
8531
8532    This is similar to the case with stdin.
8533
8534    Thanks to Brad Smith for the bug report and testing
8535    on OpenBSD.
8536
8537 src/xz/file_io.c | 36 +++++++++++++++---------------------
8538 1 file changed, 15 insertions(+), 21 deletions(-)
8539
8540commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d
8541Author: Lasse Collin <lasse.collin@tukaani.org>
8542Date:   2015-01-07 19:18:20 +0200
8543
8544    xz: Fix a memory leak in DOS-specific code.
8545
8546 src/xz/file_io.c | 2 ++
8547 1 file changed, 2 insertions(+)
8548
8549commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea
8550Author: Lasse Collin <lasse.collin@tukaani.org>
8551Date:   2015-01-07 19:08:06 +0200
8552
8553    xz: Don't fail if stdin doesn't support O_NONBLOCK.
8554
8555    It's a problem at least on OpenBSD which doesn't support
8556    O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's
8557    a problem on other OSes too since this behavior is allowed
8558    in POSIX-1.2008.
8559
8560    The code relying on this behavior was committed in June 2013
8561    and included in 5.1.3alpha released on 2013-10-26. Clearly
8562    the development releases only get limited testing.
8563
8564 src/xz/file_io.c | 18 +++++++-----------
8565 1 file changed, 7 insertions(+), 11 deletions(-)
8566
8567commit d2d484647d9d9d679f03c75abb0404f67069271c
8568Author: Lasse Collin <lasse.collin@tukaani.org>
8569Date:   2015-01-06 20:30:15 +0200
8570
8571    Tests: Don't hide unexpected error messages in test_files.sh.
8572
8573    Hiding them makes no sense since normally there's no error
8574    when testing the "good" files. With "bad" files errors are
8575    expected and then it makes sense to keep the messages hidden.
8576
8577 tests/test_files.sh | 4 ++--
8578 1 file changed, 2 insertions(+), 2 deletions(-)
8579
8580commit aae6a6aeda51cf94a47e39ad624728f9bee75e30
8581Author: Lasse Collin <lasse.collin@tukaani.org>
8582Date:   2014-12-30 11:17:16 +0200
8583
8584    Update Solaris notes in INSTALL.
8585
8586    Mention the possible "make check" failure on Solaris in the
8587    Solaris-specific section of INSTALL. It was already in
8588    section 4.5 but it is better mention it in the OS-specific
8589    section too.
8590
8591 INSTALL | 4 ++++
8592 1 file changed, 4 insertions(+)
8593
8594commit 7815112153178800a3521b9f31960e7cdc26cfba
8595Author: Lasse Collin <lasse.collin@tukaani.org>
8596Date:   2014-12-26 12:00:05 +0200
8597
8598    Build: POSIX shell isn't required if scripts are disabled.
8599
8600 INSTALL      | 3 ++-
8601 configure.ac | 2 +-
8602 2 files changed, 3 insertions(+), 2 deletions(-)
8603
8604commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
8605Author: Lasse Collin <lasse.collin@tukaani.org>
8606Date:   2014-12-21 20:48:37 +0200
8607
8608    DOS: Update Makefile.
8609
8610 dos/Makefile | 1 +
8611 1 file changed, 1 insertion(+)
8612
8613commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e
8614Author: Lasse Collin <lasse.collin@tukaani.org>
8615Date:   2014-12-21 19:50:38 +0200
8616
8617    Windows: Fix bin_i486 to bin_i686 in build.bash.
8618
8619 windows/build.bash | 2 +-
8620 1 file changed, 1 insertion(+), 1 deletion(-)
8621
8622commit cbafa710918195dbba3db02c3fab4f0538235206
8623Author: Lasse Collin <lasse.collin@tukaani.org>
8624Date:   2014-12-21 18:58:44 +0200
8625
8626    Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c.
8627
8628 doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++----
8629 1 file changed, 26 insertions(+), 4 deletions(-)
8630
8631commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a
8632Author: Lasse Collin <lasse.collin@tukaani.org>
8633Date:   2014-12-21 18:56:44 +0200
8634
8635    Docs: Update docs/examples/00_README.txt.
8636
8637 doc/examples/00_README.txt | 4 ++++
8638 1 file changed, 4 insertions(+)
8639
8640commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6
8641Author: Lasse Collin <lasse.collin@tukaani.org>
8642Date:   2014-12-21 18:11:17 +0200
8643
8644    Bump version and soname for 5.2.0.
8645
8646    I know that soname != app version, but I skip AGE=1
8647    in -version-info to make the soname match the liblzma
8648    version anyway. It doesn't hurt anything as long as
8649    it doesn't conflict with library versioning rules.
8650
8651 src/liblzma/Makefile.am        | 2 +-
8652 src/liblzma/api/lzma/version.h | 6 +++---
8653 src/liblzma/liblzma.map        | 2 +-
8654 3 files changed, 5 insertions(+), 5 deletions(-)
8655