xref: /freebsd/contrib/xz/ChangeLog (revision d0b2dbfa)
1commit c1e396a9ac1c1c28ce4ede5cbadb955c516477bc
2Author: Jia Tan <jiat0218@gmail.com>
3Date:   2023-08-02 20:32:20 +0800
4
5    Bump version and soname for 5.4.4.
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 7d266d25ae323a2dc5f2e254c991ef84b997adad
12Author: Jia Tan <jiat0218@gmail.com>
13Date:   2023-08-02 20:30:07 +0800
14
15    Add NEWS for 5.4.4.
16
17 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
18 1 file changed, 43 insertions(+)
19
20commit 6a1093c0004c42eeaef312456c295671496dd67a
21Author: Lasse Collin <lasse.collin@tukaani.org>
22Date:   2023-08-02 15:19:43 +0300
23
24    build-aux/manconv.sh: Fix US-ASCII and UTF-8 output.
25
26    groff defaults to SGR escapes. Using -P-c passes -c to grotty
27    which restores the old behavior. Perhaps there is a better way to
28    get pure plain text output but this works for now.
29
30 build-aux/manconv.sh | 4 ++--
31 1 file changed, 2 insertions(+), 2 deletions(-)
32
33commit f6f9f5651a7e2d89f588981533155ab850e063f7
34Author: Lasse Collin <lasse.collin@tukaani.org>
35Date:   2023-08-01 19:10:43 +0300
36
37    Update THANKS.
38
39 THANKS | 1 +
40 1 file changed, 1 insertion(+)
41
42commit 0dd83ba8767dad722e0f0f94e0e4146e290a28cb
43Author: Lasse Collin <lasse.collin@tukaani.org>
44Date:   2023-08-01 18:22:24 +0300
45
46    Update THANKS.
47
48 THANKS | 1 +
49 1 file changed, 1 insertion(+)
50
51commit 4170a80785cc69edfc5fdfe498bed5f40db6a7ef
52Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com>
53Date:   2023-08-01 18:17:17 +0300
54
55    mythread.h: Disable signal functions in builds targeting Wasm + WASI.
56
57    signal.h in WASI SDK doesn't currently provide sigprocmask()
58    or sigset_t. liblzma doesn't need them so this change makes
59    liblzma and xzdec build against WASI SDK. xz doesn't build yet
60    and the tests don't either as tuktest needs setjmp() which
61    isn't (yet?) implemented in WASI SDK.
62
63    Closes: https://github.com/tukaani-project/xz/pull/57
64    See also: https://github.com/tukaani-project/xz/pull/56
65
66    (The original commit was edited a little by Lasse Collin.)
67
68 src/common/mythread.h | 2 +-
69 1 file changed, 1 insertion(+), 1 deletion(-)
70
71commit 0db6fbe0be1545a4f25fcd6993371155b37bbb26
72Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
73Date:   2023-07-31 14:02:21 +0200
74
75    Docs: Fix typos found by codespell
76
77 CMakeLists.txt                            | 4 ++--
78 NEWS                                      | 2 +-
79 configure.ac                              | 2 +-
80 src/liblzma/api/lzma/container.h          | 4 ++--
81 src/liblzma/api/lzma/filter.h             | 2 +-
82 src/liblzma/api/lzma/lzma12.h             | 4 ++--
83 src/liblzma/common/block_buffer_encoder.c | 2 +-
84 src/liblzma/common/common.h               | 2 +-
85 src/liblzma/common/file_info.c            | 2 +-
86 src/liblzma/common/lzip_decoder.c         | 2 +-
87 src/liblzma/common/stream_decoder_mt.c    | 8 ++++----
88 src/liblzma/common/string_conversion.c    | 6 +++---
89 src/liblzma/lz/lz_encoder.h               | 2 +-
90 src/liblzma/lzma/lzma_encoder.c           | 4 ++--
91 src/xz/hardware.c                         | 4 ++--
92 tests/test_filter_flags.c                 | 4 ++--
93 tests/test_index.c                        | 2 +-
94 tests/test_vli.c                          | 2 +-
95 18 files changed, 29 insertions(+), 29 deletions(-)
96
97commit 84a3a1f4e4f146b3b5fa73fe708cacb0d9f829f3
98Author: Jia Tan <jiat0218@gmail.com>
99Date:   2023-07-26 20:26:23 +0800
100
101    Update .gitignore.
102
103 .gitignore | 4 ++++
104 1 file changed, 4 insertions(+)
105
106commit 962b3d41e0c27355ba3052ef7b7d9a887de807e5
107Author: Jia Tan <jiat0218@gmail.com>
108Date:   2023-07-28 22:03:08 +0800
109
110    CMake: Conditionally allow the creation of broken symlinks.
111
112    The CMake build will try to create broken symlinks on Unix and Unix-like
113    platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create
114    broken symlinks. The value of the CYGWIN or MSYS environment variables
115    determine if broken symlinks are valid.
116
117    The default for MSYS2 does not allow for broken symlinks, so the CMake
118    build has been broken for MSYS2 since commit
119    80a1a8bb838842a2be343bd88ad1462c21c5e2c9.
120
121 CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
122 1 file changed, 75 insertions(+), 7 deletions(-)
123
124commit 19899340cf74d98304f9f5b726c72e85c7017d72
125Author: Jia Tan <jiat0218@gmail.com>
126Date:   2023-07-24 21:43:44 +0800
127
128    liblzma: Prevent an empty translation unit in Windows builds.
129
130    To workaround Automake lacking Windows resource compiler support, an
131    empty source file is compiled to overwrite the resource files for static
132    library builds. Translation units without an external declaration are
133    not allowed by the C standard and result in a warning when used with
134    -Wempty-translation-unit (Clang) or -pedantic (GCC).
135
136 src/liblzma/Makefile.am | 6 +++++-
137 1 file changed, 5 insertions(+), 1 deletion(-)
138
139commit ef7fbe83937abd7f55f1637c1d08b559f1d3d6cc
140Author: Jia Tan <jiat0218@gmail.com>
141Date:   2023-07-21 18:05:44 +0800
142
143    Tests: Skip .lz files in test_files.sh if not configured.
144
145    Previously if the lzip decoder was not configured then test_files.sh
146    would pass the lzip tests instead of skipping them.
147
148 tests/test_files.sh | 2 +-
149 1 file changed, 1 insertion(+), 1 deletion(-)
150
151commit e49815ba7aa610b72e8724025eceee23c27e7b23
152Author: Jia Tan <jiat0218@gmail.com>
153Date:   2023-07-20 22:11:13 +0800
154
155    Tests: Add ARM64 filter test to test_compress.sh.
156
157 tests/test_compress.sh | 1 +
158 1 file changed, 1 insertion(+)
159
160commit db5b57b827c2b084586c51da1b8a3ab0984bdb40
161Author: Jia Tan <jiat0218@gmail.com>
162Date:   2023-07-22 18:37:56 +0800
163
164    Translations: Update the Vietnamese translation.
165
166 po/vi.po | 45 ++++++++++++++++++++++++++++-----------------
167 1 file changed, 28 insertions(+), 17 deletions(-)
168
169commit e6ba5014081c98cb068253b3e5f9e372dd157f3c
170Author: Jia Tan <jiat0218@gmail.com>
171Date:   2023-07-20 20:30:05 +0800
172
173    Translations: Update the Croatian translation.
174
175 po/hr.po | 49 ++++++++++++++++++++++++++++++-------------------
176 1 file changed, 30 insertions(+), 19 deletions(-)
177
178commit 82657a1f10a25050a3e9c246c41deb785cccba3a
179Author: Jia Tan <jiat0218@gmail.com>
180Date:   2023-07-20 20:28:32 +0800
181
182    Translations: Update the Korean man page translations.
183
184 po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------
185 1 file changed, 629 insertions(+), 626 deletions(-)
186
187commit fab35907d13efbe7c457e00a310123335d7bae3e
188Author: Jia Tan <jiat0218@gmail.com>
189Date:   2023-07-20 20:25:24 +0800
190
191    Translations: Update the Korean translation.
192
193 po/ko.po | 45 ++++++++++++++++++++++++++++-----------------
194 1 file changed, 28 insertions(+), 17 deletions(-)
195
196commit f530fe1964c34797fa3b775ec5804d68007c1579
197Author: Jia Tan <jiat0218@gmail.com>
198Date:   2023-07-20 20:24:05 +0800
199
200    Translations: Update the Polish translation.
201
202 po/pl.po | 47 +++++++++++++++++++++++++++++------------------
203 1 file changed, 29 insertions(+), 18 deletions(-)
204
205commit 10b3500cc2617aabdbc802a63164ce0a3683ad2b
206Author: Jia Tan <jiat0218@gmail.com>
207Date:   2023-07-20 20:22:23 +0800
208
209    Translations: Update the German man page translations.
210
211 po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------
212 1 file changed, 629 insertions(+), 626 deletions(-)
213
214commit 3d14e8a34dba176f975326924ae28a3ab5fee165
215Author: Jia Tan <jiat0218@gmail.com>
216Date:   2023-07-20 20:18:44 +0800
217
218    Translations: Update the German translation.
219
220 po/de.po | 47 +++++++++++++++++++++++++++++------------------
221 1 file changed, 29 insertions(+), 18 deletions(-)
222
223commit bdcc180a2da15039c47455c1cafd1ce9aff442e4
224Author: Jia Tan <jiat0218@gmail.com>
225Date:   2023-07-20 20:17:10 +0800
226
227    Translations: Update the Chinese (simplified) translation.
228
229 po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------
230 1 file changed, 29 insertions(+), 18 deletions(-)
231
232commit 844240350d33cb46ba8827b74dc8758e2abed9e5
233Author: Jia Tan <jiat0218@gmail.com>
234Date:   2023-07-20 20:15:47 +0800
235
236    Translations: Update the Swedish translation.
237
238 po/sv.po | 47 +++++++++++++++++++++++++++++------------------
239 1 file changed, 29 insertions(+), 18 deletions(-)
240
241commit bdc7952bcfbc20c134f723ff5cbf84ab690fb4fc
242Author: Jia Tan <jiat0218@gmail.com>
243Date:   2023-07-20 20:14:00 +0800
244
245    Translations: Update the Ukrainian man page translations.
246
247 po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------
248 1 file changed, 628 insertions(+), 625 deletions(-)
249
250commit 143396e070c8d8afb56e3a5f688b214222cf71e0
251Author: Jia Tan <jiat0218@gmail.com>
252Date:   2023-07-20 20:09:15 +0800
253
254    Translations: Update the Ukrainian translation.
255
256 po/uk.po | 45 ++++++++++++++++++++++++++++-----------------
257 1 file changed, 28 insertions(+), 17 deletions(-)
258
259commit 1b8146d64eaac51b40079f5788b85c1eb79e35de
260Author: Jia Tan <jiat0218@gmail.com>
261Date:   2023-07-20 20:06:57 +0800
262
263    Translations: Update the Spanish translation.
264
265 po/es.po | 47 +++++++++++++++++++++++++++++------------------
266 1 file changed, 29 insertions(+), 18 deletions(-)
267
268commit f947ce09d79ef8fa6549d350c4d72e4a8a9fa697
269Author: Jia Tan <jiat0218@gmail.com>
270Date:   2023-07-20 20:05:19 +0800
271
272    Translations: Update the Romanian translation.
273
274 po/ro.po | 48 ++++++++++++++++++++++++++++++------------------
275 1 file changed, 30 insertions(+), 18 deletions(-)
276
277commit f681301a368def3f597a7c7bea7cb3f7a2f933e7
278Author: Jia Tan <jiat0218@gmail.com>
279Date:   2023-07-20 20:02:56 +0800
280
281    Translations: Update the Romanian man page translations.
282
283 po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------
284 1 file changed, 629 insertions(+), 625 deletions(-)
285
286commit 8bc3146c6be920b56283f4ee846456cb34ae4b6f
287Author: Jia Tan <jiat0218@gmail.com>
288Date:   2023-07-13 21:26:47 +0800
289
290    xz: Update man page Authors and date.
291
292 src/xz/xz.1 | 5 +++--
293 1 file changed, 3 insertions(+), 2 deletions(-)
294
295commit c2905540ef905412b54c76488758712d3e2a0f9d
296Author: Jia Tan <jiat0218@gmail.com>
297Date:   2023-07-18 23:19:09 +0800
298
299    xz: Slight reword in xz man page for consistency.
300
301    Changed will print => prints in xz --robot --version description to
302    match --robot --info-memory description.
303
304 src/xz/xz.1 | 2 +-
305 1 file changed, 1 insertion(+), 1 deletion(-)
306
307commit 2600d3352449faf57d9cb3fa00cbe40548a1310f
308Author: Jia Tan <jiat0218@gmail.com>
309Date:   2023-07-18 22:49:57 +0800
310
311    liblzma: Improve comment in string_conversion.c.
312
313    The comment used "flag" when referring to decoder options. Just
314    referring to them as options is more clear and consistent.
315
316 src/liblzma/common/string_conversion.c | 4 ++--
317 1 file changed, 2 insertions(+), 2 deletions(-)
318
319commit 98fc14541eec3e1dcf694075c8533f19a3cee552
320Author: Jia Tan <jiat0218@gmail.com>
321Date:   2023-05-13 21:21:54 +0800
322
323    liblzma: Reword lzma_str_list_filters() documentation.
324
325    Reword "options required" to "options read". The previous wording
326    may have suggested that the options listed were all required when
327    the filters are used for encoding or decoding. Now it should be
328    more clear that the options listed are the ones relevant for
329    encoding or decoding.
330
331 src/liblzma/api/lzma/filter.h | 2 +-
332 1 file changed, 1 insertion(+), 1 deletion(-)
333
334commit 1ac79b4cbaecf3f4930a5d8ce6f7e1f2b63c2a01
335Author: Lasse Collin <lasse.collin@tukaani.org>
336Date:   2023-07-18 17:37:33 +0300
337
338    xz: Translate the second "%s: " in message.c since French needs "%s : ".
339
340    This string is used to print a filename when using "xz -v" and
341    stderr isn't a terminal.
342
343 src/xz/message.c | 2 +-
344 1 file changed, 1 insertion(+), 1 deletion(-)
345
346commit 97851be2c6c64494f23c3a735601c13d4387820b
347Author: Lasse Collin <lasse.collin@tukaani.org>
348Date:   2023-07-18 14:35:33 +0300
349
350    xz: Make "%s: %s" translatable because French needs "%s : %s".
351
352 src/xz/args.c    |  5 ++++-
353 src/xz/coder.c   |  8 ++++----
354 src/xz/file_io.c |  8 ++++----
355 src/xz/list.c    | 11 ++++++-----
356 4 files changed, 18 insertions(+), 14 deletions(-)
357
358commit b406828a6dfd3caa4f77efe3ff3e3eea263eee62
359Author: Lasse Collin <lasse.collin@tukaani.org>
360Date:   2023-07-18 13:57:54 +0300
361
362    liblzma: Tweak #if condition in memcmplen.h.
363
364    Maybe ICC always #defines _MSC_VER on Windows but now
365    it's very clear which code will get used.
366
367 src/liblzma/common/memcmplen.h | 4 ++--
368 1 file changed, 2 insertions(+), 2 deletions(-)
369
370commit ef4a07ad9434f81417395f6fe0bb331e027a703b
371Author: Lasse Collin <lasse.collin@tukaani.org>
372Date:   2023-07-18 13:49:43 +0300
373
374    liblzma: Omit unnecessary parenthesis in a preprocessor directive.
375
376 src/liblzma/common/memcmplen.h | 4 ++--
377 1 file changed, 2 insertions(+), 2 deletions(-)
378
379commit 64ee0caaea06654b28afaee850fb187a11bf9cb2
380Author: Jia Tan <jiat0218@gmail.com>
381Date:   2023-06-28 20:22:38 +0800
382
383    liblzma: Prevent warning for MSYS2 Windows build.
384
385    In lzma_memcmplen(), the <intrin.h> header file is only included if
386    _MSC_VER and _M_X64 are both defined but _BitScanForward64() was
387    previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but
388    not _MSC_VER so _BitScanForward64() was used without including
389    <intrin.h>.
390
391    Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as
392    expected.
393
394 src/liblzma/common/memcmplen.h | 6 ++++--
395 1 file changed, 4 insertions(+), 2 deletions(-)
396
397commit ba177057643dae6e9c167ee26471181c199c8a00
398Author: Jia Tan <jiat0218@gmail.com>
399Date:   2023-07-14 23:20:33 +0800
400
401    Docs: Add a new section to INSTALL for Tests.
402
403    The new Tests section describes basic information about the tests, how
404    to run them, and important details when cross compiling. We have had a
405    few questions about how to compile the tests without running them, so
406    hopefully this information will help others with the same question in the
407    future.
408
409    Fixes: https://github.com/tukaani-project/xz/issues/54
410
411 INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------
412 1 file changed, 64 insertions(+), 17 deletions(-)
413
414commit 0745b900fafa5ac2c31e8ec3cfba3053457c8b1f
415Author: Jia Tan <jiat0218@gmail.com>
416Date:   2023-07-14 21:10:27 +0800
417
418    Docs: Update README.
419
420    This adds an entry to "Other implementations of the .xz format" for
421    XZ for Java.
422
423 README | 4 ++++
424 1 file changed, 4 insertions(+)
425
426commit c972d44103c4edf88e73917ef08bde69db9d06cb
427Author: Jia Tan <jiat0218@gmail.com>
428Date:   2023-07-18 13:27:46 +0300
429
430    xz: Fix typo in man page.
431
432    The Memory limit information section described three output
433    columns when it actually has six. This was reworded to
434    "multiple" to make it more future proof.
435
436 src/xz/xz.1 | 2 +-
437 1 file changed, 1 insertion(+), 1 deletion(-)
438
439commit 6e21f1b4e2c580b64d258e3b81ac9e44d53b9283
440Author: Jia Tan <jiat0218@gmail.com>
441Date:   2023-07-14 21:30:25 +0800
442
443    Tests: Improve feature testing for skipping.
444
445    Fixed a bug where test_compress_* would all fail if arm64 or armthumb
446    filters were enabled for compression but arm was disabled. Since the
447    grep tests only checked for "define HAVE_ENCODER_ARM", this would match
448    on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB.
449
450    Now the config.h feature test requires " 1" at the end to prevent the
451    prefix problem. have_feature() was also updated for this even though
452    there were known current bugs affecting it. This is just in case future
453    features have a similar prefix problem.
454
455 tests/test_compress.sh | 4 ++--
456 tests/test_files.sh    | 2 +-
457 2 files changed, 3 insertions(+), 3 deletions(-)
458
459commit 26c37d290c0884a4518a26b949575420a77fb938
460Author: Jia Tan <jiat0218@gmail.com>
461Date:   2023-07-10 20:56:28 +0800
462
463    Translations: Update the Chinese (traditional) translation.
464
465 po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++--------------------------
466 1 file changed, 377 insertions(+), 282 deletions(-)
467
468commit 2ec65181e28335692a3a4fac4fefc4303111d355
469Author: Jia Tan <jiat0218@gmail.com>
470Date:   2023-07-08 20:03:59 +0800
471
472    Translations: Update the Vietnamese translation.
473
474 po/vi.po | 620 +++++++++++++++++++++++++++++++++++----------------------------
475 1 file changed, 349 insertions(+), 271 deletions(-)
476
477commit c44c7e7590db1b89c97e106f5c516bf69189e233
478Author: Jia Tan <jiat0218@gmail.com>
479Date:   2023-06-28 20:46:31 +0800
480
481    Tests: Fix memory leaks in test_index.
482
483    Several tests were missing calls to lzma_index_end() to clean up the
484    lzma_index structs. The memory leaks were discovered by using
485    -fsanitize=address with GCC.
486
487 tests/test_index.c | 11 +++++++++++
488 1 file changed, 11 insertions(+)
489
490commit b9499c94fccc03eba5311b5305f04149a7c5af65
491Author: Jia Tan <jiat0218@gmail.com>
492Date:   2023-06-28 20:43:29 +0800
493
494    Tests: Fix memory leaks in test_block_header.
495
496    test_block_header was not properly freeing the filter options between
497    calls to lzma_block_header_decode(). The memory leaks were discovered by
498    using -fsanitize=address with GCC.
499
500 tests/test_block_header.c | 38 ++++++++++++++++++++++----------------
501 1 file changed, 22 insertions(+), 16 deletions(-)
502
503commit 1155471651ad456c5f90aee6435931fae65682bf
504Author: Jia Tan <jiat0218@gmail.com>
505Date:   2023-06-28 20:31:11 +0800
506
507    liblzma: Prevent uninitialzed warning in mt stream encoder.
508
509    This change only impacts the compiler warning since it was impossible
510    for the wait_abs struct in stream_encode_mt() to be used before it was
511    initialized since mythread_condtime_set() will always be called before
512    mythread_cond_timedwait().
513
514    Since the mythread.h code is different between the POSIX and
515    Windows versions, this warning was only present on Windows builds.
516
517    Thanks to Arthur S for reporting the warning and providing an initial
518    patch.
519
520 src/liblzma/common/stream_encoder_mt.c | 2 +-
521 1 file changed, 1 insertion(+), 1 deletion(-)
522
523commit 62dd1c9bf0c66679ceeebc8b99bca136ca43bcb9
524Author: Jia Tan <jiat0218@gmail.com>
525Date:   2023-06-07 00:10:38 +0800
526
527    Update THANKS.
528
529 THANKS | 1 +
530 1 file changed, 1 insertion(+)
531
532commit d04eb78ab3892d3678c180437dd66379efa051fd
533Author: Benjamin Buch <bebuch@users.noreply.github.com>
534Date:   2023-06-06 15:32:45 +0200
535
536    CMake: Protects against double find_package
537
538    Boost iostream uses `find_package` in quiet mode and then again uses
539    `find_package` with required. This second call triggers a
540    `add_library cannot create imported target "LibLZMA::LibLZMA"
541    because another target with the same name already exists.`
542
543    This can simply be fixed by skipping the alias part on secondary
544    `find_package` runs.
545
546 CMakeLists.txt | 16 +++++++++-------
547 1 file changed, 9 insertions(+), 7 deletions(-)
548
549commit 12ea1fb29763dd72376aca73d69621aff01eaa7f
550Author: Jia Tan <jiat0218@gmail.com>
551Date:   2023-05-31 20:26:42 +0800
552
553    Translations: Update the Esperanto translation.
554
555 po/eo.po | 185 +++++++++++++++++++++++++++++++--------------------------------
556 1 file changed, 92 insertions(+), 93 deletions(-)
557
558commit a4d45c07c1e4aa0ea9410b4eed7301c97e960319
559Author: Jia Tan <jiat0218@gmail.com>
560Date:   2023-05-31 20:25:00 +0800
561
562    Translations: Update the Croatian translation.
563
564 po/hr.po | 2 +-
565 1 file changed, 1 insertion(+), 1 deletion(-)
566
567commit f51b7bcea6f948db9529b3e6d850e76a30cc0e96
568Author: Jia Tan <jiat0218@gmail.com>
569Date:   2023-05-31 20:15:53 +0800
570
571    Translations: Update the Chinese (simplified) translation.
572
573 po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------
574 1 file changed, 157 insertions(+), 160 deletions(-)
575
576commit d5b81c19a7594fbb913bb3450360bc2145f29568
577Author: Jia Tan <jiat0218@gmail.com>
578Date:   2023-05-17 23:12:13 +0800
579
580    Translations: Update German translation of man pages.
581
582 po4a/de.po | 52 ++++++++++++----------------------------------------
583 1 file changed, 12 insertions(+), 40 deletions(-)
584
585commit 36860a3e30d5675b4dba3a343159458d8864bceb
586Author: Jia Tan <jiat0218@gmail.com>
587Date:   2023-05-17 23:09:18 +0800
588
589    Translations: Update the German translation.
590
591 po/de.po | 189 +++++++++++++++++++++++++++++++--------------------------------
592 1 file changed, 94 insertions(+), 95 deletions(-)
593
594commit f05641ef0d4990c4c58f459039d412475b94b37d
595Author: Jia Tan <jiat0218@gmail.com>
596Date:   2023-05-17 20:30:01 +0800
597
598    Translations: Update the Croatian translation.
599
600 po/hr.po | 187 +++++++++++++++++++++++++++++++--------------------------------
601 1 file changed, 93 insertions(+), 94 deletions(-)
602
603commit b852f6f11d43cafce871cd158c80488f86619a63
604Author: Jia Tan <jiat0218@gmail.com>
605Date:   2023-05-17 20:26:54 +0800
606
607    Translations: Update Korean translation of man pages.
608
609 po4a/ko.po | 3015 ++++++++++++------------------------------------------------
610 1 file changed, 568 insertions(+), 2447 deletions(-)
611
612commit fdcb78fb6f5313eda363869690685471d7ab9731
613Author: Jia Tan <jiat0218@gmail.com>
614Date:   2023-05-17 20:13:01 +0800
615
616    Translations: Update the Korean translation.
617
618 po/ko.po | 319 +++++++++++++++++++++++++++++++--------------------------------
619 1 file changed, 158 insertions(+), 161 deletions(-)
620
621commit 9e39cebe3ccdd4bc320ce6e7eea989bdd167c8b2
622Author: Jia Tan <jiat0218@gmail.com>
623Date:   2023-05-16 23:49:09 +0800
624
625    Translations: Update the Spanish translation.
626
627 po/es.po | 319 +++++++++++++++++++++++++++++++--------------------------------
628 1 file changed, 158 insertions(+), 161 deletions(-)
629
630commit 7a578d1d8293fc1cf7c6f9df76bc6a0e55c51a14
631Author: Jia Tan <jiat0218@gmail.com>
632Date:   2023-05-16 23:47:23 +0800
633
634    Translations: Update the Romanian translation.
635
636 po/ro.po | 195 ++++++++++++++++++++++++++++++++-------------------------------
637 1 file changed, 98 insertions(+), 97 deletions(-)
638
639commit 362320fea5383bae179763763625532bad6d10e8
640Author: Jia Tan <jiat0218@gmail.com>
641Date:   2023-05-16 23:45:43 +0800
642
643    Translations: Update Romanian translation of man pages.
644
645 po4a/ro.po | 19 ++++++++++---------
646 1 file changed, 10 insertions(+), 9 deletions(-)
647
648commit 29c5a870be23d0a565b959404b34a8b1babef7df
649Author: Jia Tan <jiat0218@gmail.com>
650Date:   2023-05-16 23:43:51 +0800
651
652    Translations: Update Ukrainian translation of man pages.
653
654 po4a/uk.po | 12 ++++++------
655 1 file changed, 6 insertions(+), 6 deletions(-)
656
657commit 5ee57572773207371712b1bbcd9b5b8c1baad2cc
658Author: Jia Tan <jiat0218@gmail.com>
659Date:   2023-05-16 23:37:54 +0800
660
661    Translations: Update the Ukrainian translation.
662
663 po/uk.po | 321 +++++++++++++++++++++++++++++++--------------------------------
664 1 file changed, 159 insertions(+), 162 deletions(-)
665
666commit dfc257bdb224780d3c8cdeca5a8e52848b9adc0a
667Author: Jia Tan <jiat0218@gmail.com>
668Date:   2023-05-16 23:07:35 +0800
669
670    Translations: Update the Polish translation.
671
672 po/pl.po | 316 +++++++++++++++++++++++++++++++--------------------------------
673 1 file changed, 155 insertions(+), 161 deletions(-)
674
675commit f6df4c4ab7378d2971ae1606f4eecc011ea5fc6d
676Author: Jia Tan <jiat0218@gmail.com>
677Date:   2023-05-16 22:52:14 +0800
678
679    Translations: Update the Swedish translation.
680
681 po/sv.po | 319 +++++++++++++++++++++++++++++++--------------------------------
682 1 file changed, 158 insertions(+), 161 deletions(-)
683
684commit 25da22e0521ec698dae4eb5e994b4cd3f4708b60
685Author: Jia Tan <jiat0218@gmail.com>
686Date:   2023-05-16 21:21:38 +0800
687
688    Translations: Update the Esperanto translation.
689
690 po/eo.po | 34 +++++++++++++++++-----------------
691 1 file changed, 17 insertions(+), 17 deletions(-)
692
693commit 4f57a9c9915b7b9267885cf9fca58e5c8208458d
694Author: Jia Tan <jiat0218@gmail.com>
695Date:   2023-05-11 23:49:23 +0800
696
697    liblzma: Adds lzma_nothrow to MicroLZMA API functions.
698
699    None of the liblzma functions may throw an exception, so this
700    attribute should be applied to all liblzma API functions.
701
702 src/liblzma/api/lzma/container.h | 5 +++--
703 1 file changed, 3 insertions(+), 2 deletions(-)
704
705commit 238b4e5458b4bd2cadefb768b8ea7c6b70a191ac
706Author: Jia Tan <jiat0218@gmail.com>
707Date:   2023-05-04 20:38:52 +0800
708
709    Translations: Update the Croatian translation.
710
711 po/hr.po | 6 +++---
712 1 file changed, 3 insertions(+), 3 deletions(-)
713
714commit 0cee63c3c6c4f9084a5e7fa7c15a1863ac8e5ffc
715Author: Jia Tan <jiat0218@gmail.com>
716Date:   2023-05-04 19:50:42 +0800
717
718    Bump version and soname for 5.4.3.
719
720 src/liblzma/Makefile.am        | 2 +-
721 src/liblzma/api/lzma/version.h | 2 +-
722 2 files changed, 2 insertions(+), 2 deletions(-)
723
724commit 01f937ea9a49005c5091c0165fa0c1e572dd1749
725Author: Jia Tan <jiat0218@gmail.com>
726Date:   2023-05-02 20:39:56 +0800
727
728    Add NEWS for 5.4.3.
729
730 NEWS | 10 ++++++++++
731 1 file changed, 10 insertions(+)
732
733commit e9b9ea953179502d5245b4e6ca4f5ffe9d5797b1
734Author: Lasse Collin <lasse.collin@tukaani.org>
735Date:   2023-05-03 22:46:42 +0300
736
737    tuklib_integer.h: Fix a recent copypaste error in Clang detection.
738
739    Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7.
740    Also, this has >= instead of == since ints larger than 32 bits would
741    work too even if not relevant in practice.
742
743 src/common/tuklib_integer.h | 4 ++--
744 1 file changed, 2 insertions(+), 2 deletions(-)
745
746commit be6e39a8622f0d905072874ec25b1ffd155b12e1
747Author: Jia Tan <jiat0218@gmail.com>
748Date:   2023-04-20 20:15:00 +0800
749
750    Update THANKS.
751
752 THANKS | 1 +
753 1 file changed, 1 insertion(+)
754
755commit 9e343a46cf87a345799222c0b0b3a6f3358dde0c
756Author: Jia Tan <jiat0218@gmail.com>
757Date:   2023-04-19 22:22:16 +0800
758
759    Windows: Include <intrin.h> when needed.
760
761    Legacy Windows did not need to #include <intrin.h> to use the MSVC
762    intrinsics. Newer versions likely just issue a warning, but the MSVC
763    documentation says to include the header file for the intrinsics we use.
764
765    GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are
766    needed in tuklib_integer.h to only include <intrin.h> when it will is
767    actually needed.
768
769 src/common/tuklib_integer.h    |  6 ++++++
770 src/liblzma/common/memcmplen.h | 10 ++++++++++
771 2 files changed, 16 insertions(+)
772
773commit 12321a9390acc076b414035a46df9d7545ac379f
774Author: Jia Tan <jiat0218@gmail.com>
775Date:   2023-04-19 21:59:03 +0800
776
777    tuklib_integer: Use __builtin_clz() with Clang.
778
779    Clang has support for __builtin_clz(), but previously Clang would
780    fallback to either the MSVC intrinsic or the regular C code. This was
781    discovered due to a bug where a new version of Clang required the
782    <intrin.h> header file in order to use the MSVC intrinsics.
783
784    Thanks to Anton Kochkov for notifying us about the bug.
785
786 src/common/tuklib_integer.h | 6 +++---
787 1 file changed, 3 insertions(+), 3 deletions(-)
788
789commit d1f0e01c395960efd6c29ff144eda4f4c8c1c6d3
790Author: Lasse Collin <lasse.collin@tukaani.org>
791Date:   2023-04-14 18:42:33 +0300
792
793    liblzma: Update project maintainers in lzma.h.
794
795    AUTHORS was updated earlier, lzma.h was simply forgotten.
796
797 src/liblzma/api/lzma.h | 2 +-
798 1 file changed, 1 insertion(+), 1 deletion(-)
799
800commit 8204c5d1304e1e3b7487801b4acaf8e3179a6c52
801Author: Jia Tan <jiat0218@gmail.com>
802Date:   2023-04-13 20:45:19 +0800
803
804    liblzma: Cleans up old commented out code.
805
806 src/liblzma/common/alone_encoder.c | 11 -----------
807 1 file changed, 11 deletions(-)
808
809commit 32980d1562bc031013306be1c787761fa63da87d
810Author: Jia Tan <jiat0218@gmail.com>
811Date:   2023-03-28 22:32:40 +0800
812
813    CMake: Update liblzma-config.cmake generation.
814
815    Now that the threading is configurable, the liblzma CMake package only
816    needs the threading library when using POSIX threads.
817
818 CMakeLists.txt | 33 ++++++++++++++++++++++-----------
819 1 file changed, 22 insertions(+), 11 deletions(-)
820
821commit 023907faa965476fb921a6344253c50e0ba795f9
822Author: Jia Tan <jiat0218@gmail.com>
823Date:   2023-03-28 22:25:33 +0800
824
825    CMake: Allows setting thread method.
826
827    The thread method is now configurable for the CMake build. It matches
828    the Autotools build by allowing ON (pick the best threading method),
829    OFF (no threading), posix, win95, and vista. If both Windows and
830    posix threading are both available, then ON will choose Windows
831    threading. Windows threading will also not use:
832
833    target_link_libraries(liblzma Threads::Threads)
834
835    since on systems like MinGW-w64 it would link the posix threads
836    without purpose.
837
838 CMakeLists.txt | 144 +++++++++++++++++++++++++++++++++++++++++----------------
839 1 file changed, 104 insertions(+), 40 deletions(-)
840
841commit ba176d77cbb164b13006516660fc1ff6c59dedb5
842Author: Jia Tan <jiat0218@gmail.com>
843Date:   2023-03-24 20:05:59 +0800
844
845    CMake: Only build xzdec if decoders are enabled.
846
847 CMakeLists.txt | 2 +-
848 1 file changed, 1 insertion(+), 1 deletion(-)
849
850commit c99d697df800e9bc47e09facf88bcfdb9e0264a5
851Author: Jia Tan <jiat0218@gmail.com>
852Date:   2023-03-22 15:42:04 +0800
853
854    Build: Removes redundant check for LZMA1 filter support.
855
856 src/liblzma/lzma/Makefile.inc | 5 +----
857 1 file changed, 1 insertion(+), 4 deletions(-)
858
859commit 54a2fd8c850e626343b79c4cc8fcac2f638ec890
860Author: Lasse Collin <lasse.collin@tukaani.org>
861Date:   2023-03-23 15:14:29 +0200
862
863    CMake: Bump maximum policy version to 3.26.
864
865    It adds only one new policy related to FOLDERS which we don't use.
866    This makes it clear that the code is compatible with the policies
867    up to 3.26.
868
869 CMakeLists.txt | 2 +-
870 1 file changed, 1 insertion(+), 1 deletion(-)
871
872commit 622d0fdc02d5f565c2872d79bc70c669c95c8284
873Author: Jia Tan <jiat0218@gmail.com>
874Date:   2023-03-21 23:36:00 +0800
875
876    CMake: Conditionally build xz list.* files if decoders are enabled.
877
878 CMakeLists.txt | 9 +++++++--
879 1 file changed, 7 insertions(+), 2 deletions(-)
880
881commit 3e2dc523c596cd770a6a7c58cacc0d0d8761e853
882Author: Jia Tan <jiat0218@gmail.com>
883Date:   2023-02-25 11:46:50 +0800
884
885    CMake: Allow configuring features as cache variables.
886
887    This allows users to change the features they build either in
888    CMakeCache.txt or by using a CMake GUI. The sources built for
889    liblzma are affected by this too, so only the necessary files
890    will be compiled.
891
892 CMakeLists.txt | 528 ++++++++++++++++++++++++++++++++++++++++++---------------
893 1 file changed, 391 insertions(+), 137 deletions(-)
894
895commit 0c053f97337fa4ead77acefb577e8e86f8ef388d
896Author: Lasse Collin <lasse.collin@tukaani.org>
897Date:   2023-03-21 14:07:51 +0200
898
899    Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69.
900
901    It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC
902    but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler.
903
904 configure.ac | 3 +++
905 1 file changed, 3 insertions(+)
906
907commit 915d4f6058d52f84d2b58b0a5f3c8272eaa6c1bd
908Author: Lasse Collin <lasse.collin@tukaani.org>
909Date:   2023-03-21 14:04:37 +0200
910
911    Build: configure.ac: Use AS_IF and AS_CASE where required.
912
913    This makes no functional difference in the generated configure
914    (at least with the Autotools versions I have installed) but this
915    change might prevent future bugs like the one that was just
916    fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294.
917
918 configure.ac | 30 +++++++++++++++---------------
919 1 file changed, 15 insertions(+), 15 deletions(-)
920
921commit b848c039586ed2cddb6fb033680dac107cc5143f
922Author: Lasse Collin <lasse.collin@tukaani.org>
923Date:   2023-03-21 13:12:03 +0200
924
925    Update THANKS.
926
927 THANKS | 1 +
928 1 file changed, 1 insertion(+)
929
930commit c775ba1602a74f29dbc2088bbe4d02c23fc32ba1
931Author: Lasse Collin <lasse.collin@tukaani.org>
932Date:   2023-03-21 13:11:49 +0200
933
934    Build: Fix --disable-threads breaking the building of shared libs.
935
936    This is broken in the releases 5.2.6 to 5.4.2. A workaround
937    for these releases is to pass EGREP='grep -E' as an argument
938    to configure in addition to --disable-threads.
939
940    The problem appeared when m4/ax_pthread.m4 was updated in
941    the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which
942    introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls
943    AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP
944    but this was only executed if POSIX threads were enabled.
945    Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf
946    omits it as AC_PROG_EGREP has already been required earlier.
947    Thus, if not using POSIX threads, the shell variable EGREP
948    would be undefined in the Libtool code in configure.
949
950    ax_pthread.m4 is fine. The bug was in configure.ac which called
951    AX_PTHREAD conditionally in an incorrect way. Using AS_CASE
952    ensures that all AC_REQUIREs get always run.
953
954    Thanks to Frank Busse for reporting the bug.
955    Fixes: https://github.com/tukaani-project/xz/issues/45
956
957 configure.ac | 16 ++++++++--------
958 1 file changed, 8 insertions(+), 8 deletions(-)
959
960commit 0673c9ec98b6bae12b33dc295564514aaa26e2fc
961Author: Lasse Collin <lasse.collin@tukaani.org>
962Date:   2023-03-19 22:45:59 +0200
963
964    liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h.
965
966    Thanks to Christian Hesse for reporting the issue.
967    Fixes: https://github.com/tukaani-project/xz/issues/44
968
969 src/liblzma/common/memcmplen.h | 3 ++-
970 1 file changed, 2 insertions(+), 1 deletion(-)
971
972commit 6ca8046ecbc7a1c81ee08f544bfd1414819fb2e8
973Author: Jia Tan <jiat0218@gmail.com>
974Date:   2023-03-18 23:22:06 +0800
975
976    Bump version and soname for 5.4.2.
977
978 src/liblzma/Makefile.am        | 2 +-
979 src/liblzma/api/lzma/version.h | 2 +-
980 2 files changed, 2 insertions(+), 2 deletions(-)
981
982commit ce4f246600db10e77fc93d492ea045b4c9830bc6
983Author: Jia Tan <jiat0218@gmail.com>
984Date:   2023-03-18 22:10:57 +0800
985
986    Add NEWS for 5.4.2.
987
988 NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
989 1 file changed, 48 insertions(+)
990
991commit 3634fe330788fc0df217acdb6581031a851600a3
992Author: Lasse Collin <lasse.collin@tukaani.org>
993Date:   2023-03-18 16:00:54 +0200
994
995    Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3.
996
997 COPYING.GPLv3 | 8 ++++----
998 1 file changed, 4 insertions(+), 4 deletions(-)
999
1000commit 97679d25ce7cb014328f1455bb338903c003d54f
1001Author: Lasse Collin <lasse.collin@tukaani.org>
1002Date:   2023-03-18 15:51:57 +0200
1003
1004    Change a few HTTP URLs to HTTPS.
1005
1006    The xz man page timestamp was intentionally left unchanged.
1007
1008 INSTALL                    |  2 +-
1009 README                     |  8 ++++----
1010 configure.ac               |  2 +-
1011 dos/INSTALL.txt            |  4 ++--
1012 src/liblzma/api/lzma.h     |  8 ++++----
1013 src/liblzma/check/sha256.c |  2 +-
1014 src/xz/xz.1                |  2 +-
1015 windows/INSTALL-MinGW.txt  | 10 +++++-----
1016 8 files changed, 19 insertions(+), 19 deletions(-)
1017
1018commit 01a67e89a56c3ebf5f6681bd06f0edc22a1ae594
1019Author: Jia Tan <jiat0218@gmail.com>
1020Date:   2023-03-18 00:40:28 +0800
1021
1022    CMake: Fix typo in a comment.
1023
1024 CMakeLists.txt | 2 +-
1025 1 file changed, 1 insertion(+), 1 deletion(-)
1026
1027commit 5dca3f5cbab31105196c89cd6df0a9bbc3307c05
1028Author: Lasse Collin <lasse.collin@tukaani.org>
1029Date:   2023-03-17 18:36:22 +0200
1030
1031    Windows: build.bash: Copy liblzma API docs to the output package.
1032
1033 windows/build.bash | 3 ++-
1034 1 file changed, 2 insertions(+), 1 deletion(-)
1035
1036commit ae252862b30b509ab88b2bbcaa08e8d51b57e928
1037Author: Lasse Collin <lasse.collin@tukaani.org>
1038Date:   2023-03-17 08:53:38 +0200
1039
1040    Windows: Add microlzma_*.c to the VS project files.
1041
1042    These should have been included in 5.3.2alpha already.
1043
1044 windows/vs2013/liblzma.vcxproj     | 2 ++
1045 windows/vs2013/liblzma_dll.vcxproj | 2 ++
1046 windows/vs2017/liblzma.vcxproj     | 2 ++
1047 windows/vs2017/liblzma_dll.vcxproj | 2 ++
1048 windows/vs2019/liblzma.vcxproj     | 2 ++
1049 windows/vs2019/liblzma_dll.vcxproj | 2 ++
1050 6 files changed, 12 insertions(+)
1051
1052commit 147d282cc3733e2723df82622b6540ddfb52635e
1053Author: Lasse Collin <lasse.collin@tukaani.org>
1054Date:   2023-03-17 08:43:51 +0200
1055
1056    CMake: Add microlzma_*.c to the build.
1057
1058    These should have been included in 5.3.2alpha already.
1059
1060 CMakeLists.txt | 2 ++
1061 1 file changed, 2 insertions(+)
1062
1063commit 4523a5ee29f45c0256af67a15771bc8bbd25ba53
1064Author: Lasse Collin <lasse.collin@tukaani.org>
1065Date:   2023-03-17 08:41:36 +0200
1066
1067    Build: Update comments about unaligned access to mention 64-bit.
1068
1069 cmake/tuklib_integer.cmake | 7 +++----
1070 m4/tuklib_integer.m4       | 4 ++--
1071 2 files changed, 5 insertions(+), 6 deletions(-)
1072
1073commit 82aacb40367dc580b09c5a7b270f6c98b63e49b9
1074Author: Lasse Collin <lasse.collin@tukaani.org>
1075Date:   2023-03-17 00:02:30 +0200
1076
1077    Tests: Update .gitignore.
1078
1079 .gitignore | 3 ++-
1080 1 file changed, 2 insertions(+), 1 deletion(-)
1081
1082commit 5d022c24921eec938604a8cb10d70aa08dbd8575
1083Author: Lasse Collin <lasse.collin@tukaani.org>
1084Date:   2023-03-14 20:04:03 +0200
1085
1086    po4a/update-po: Display the script name consistently in error messages.
1087
1088 po4a/update-po | 2 +-
1089 1 file changed, 1 insertion(+), 1 deletion(-)
1090
1091commit 896295117324f323c0b8db6a31ad6ebfaa88793d
1092Author: Jia Tan <jiat0218@gmail.com>
1093Date:   2023-03-17 01:30:36 +0800
1094
1095    Doc: Rename Doxygen HTML doc directory name liblzma => api.
1096
1097    When the docs are installed, calling the directory "liblzma" is
1098    confusing since multiple other files in the doc directory are for
1099    liblzma. This should also make it more natural for distros when they
1100    package the documentation.
1101
1102 .gitignore             |  2 +-
1103 Makefile.am            | 18 +++++++++---------
1104 PACKAGERS              |  4 ++--
1105 doxygen/Doxyfile       |  2 +-
1106 doxygen/update-doxygen | 18 +++++++++---------
1107 5 files changed, 22 insertions(+), 22 deletions(-)
1108
1109commit 94097157fae308b2c1a5edb4e8597c68b45eeaea
1110Author: Jia Tan <jiat0218@gmail.com>
1111Date:   2023-03-16 22:07:15 +0800
1112
1113    liblzma: Remove note from lzma_options_bcj about the ARM64 exception.
1114
1115    This was left in by mistake since an early version of the ARM64 filter
1116    used a different struct for its options.
1117
1118 src/liblzma/api/lzma/bcj.h | 2 +-
1119 1 file changed, 1 insertion(+), 1 deletion(-)
1120
1121commit da16d0b73b79d7785ece6f78a577fadd1fb59d0e
1122Author: Lasse Collin <lasse.collin@tukaani.org>
1123Date:   2023-03-15 19:19:13 +0200
1124
1125    COPYING: Add a note about the included Doxygen-generated HTML.
1126
1127 COPYING | 11 +++++++++++
1128 1 file changed, 11 insertions(+)
1129
1130commit e57c74f9ef19201f72c106f2c347596f40229936
1131Author: Jia Tan <jiat0218@gmail.com>
1132Date:   2023-03-16 21:41:09 +0800
1133
1134    Doc: Update PACKAGERS with details about liblzma API docs install.
1135
1136 PACKAGERS | 22 ++++++++++++++++------
1137 1 file changed, 16 insertions(+), 6 deletions(-)
1138
1139commit 7e2fa48bb73edb25457232e2e62a4f81c6b95281
1140Author: Jia Tan <jiat0218@gmail.com>
1141Date:   2023-03-16 21:38:32 +0800
1142
1143    liblzma: Add set lzma.h as the main page for Doxygen documentation.
1144
1145    The \mainpage command is used in the first block of comments in lzma.h.
1146    This changes the previously nearly empty index.html to use the first
1147    comment block in lzma.h for its contents.
1148
1149    lzma.h is no longer documented separately, but this is for the better
1150    since lzma.h only defined a few macros that users do not need to use.
1151    The individual API header files all have a disclaimer that they should
1152    not be #included directly, so there should be no confusion on the fact
1153    that lzma.h should be the only header used by applications.
1154
1155    Additionally, the note "See ../lzma.h for information about liblzma as
1156    a whole." was removed since lzma.h is now the main page of the
1157    generated HTML and does not have its own page anymore. So it would be
1158    confusing in the HTML version and was only a "nice to have" when
1159    browsing the source files.
1160
1161 src/liblzma/api/lzma.h              | 1 +
1162 src/liblzma/api/lzma/base.h         | 2 --
1163 src/liblzma/api/lzma/bcj.h          | 2 --
1164 src/liblzma/api/lzma/block.h        | 2 --
1165 src/liblzma/api/lzma/check.h        | 2 --
1166 src/liblzma/api/lzma/container.h    | 2 --
1167 src/liblzma/api/lzma/delta.h        | 2 --
1168 src/liblzma/api/lzma/filter.h       | 2 --
1169 src/liblzma/api/lzma/hardware.h     | 2 --
1170 src/liblzma/api/lzma/index.h        | 2 --
1171 src/liblzma/api/lzma/index_hash.h   | 4 +---
1172 src/liblzma/api/lzma/lzma12.h       | 2 --
1173 src/liblzma/api/lzma/stream_flags.h | 2 --
1174 src/liblzma/api/lzma/version.h      | 2 --
1175 src/liblzma/api/lzma/vli.h          | 2 --
1176 15 files changed, 2 insertions(+), 29 deletions(-)
1177
1178commit d42977c7acfdf7fd9acc8803cf411eca7dc10478
1179Author: Jia Tan <jiat0218@gmail.com>
1180Date:   2023-03-16 21:37:32 +0800
1181
1182    Build: Generate doxygen documentation in autogen.sh.
1183
1184    Another command line option (--no-doxygen) was added to disable
1185    creating the doxygen documenation in cases where it not wanted or
1186    if the doxygen tool is not installed.
1187
1188 autogen.sh | 35 +++++++++++++++++++++++++++++------
1189 1 file changed, 29 insertions(+), 6 deletions(-)
1190
1191commit 8fc712fcf41d821069c670f22b8bf628e7a4a877
1192Author: Jia Tan <jiat0218@gmail.com>
1193Date:   2023-03-16 21:35:55 +0800
1194
1195    Build: Create doxygen/update-doxygen script.
1196
1197    This is a helper script to generate the Doxygen documentation. It can be
1198    run in 'liblzma' or 'internal' mode by setting the first argument. It
1199    will default to 'liblzma' mode and only generate documentation for the
1200    liblzma API header files.
1201
1202    The helper script will be run during the custom mydist hook when we
1203    create releases. This hook already alters the source directory, so its
1204    fine to do it here too. This way, we can include the Doxygen generated
1205    files in the distrubtion and when installing.
1206
1207    In 'liblzma' mode, the JavaScript is stripped from the .html files and
1208    the .js files are removed. This avoids license hassle from jQuery and
1209    other libraries that Doxygen 1.9.6 puts into jquery.js in minified form.
1210
1211 Makefile.am            |   1 +
1212 doxygen/update-doxygen | 111 +++++++++++++++++++++++++++++++++++++++++++++++++
1213 2 files changed, 112 insertions(+)
1214
1215commit 77d2c025d19fbac7277c63239cfb1338f02c66c0
1216Author: Jia Tan <jiat0218@gmail.com>
1217Date:   2023-03-16 21:34:36 +0800
1218
1219    Build: Install Doxygen docs and include in distribution if generated.
1220
1221    Added a install-data-local target to install the Doxygen documentation
1222    only when it has been generated. In order to correctly remove the docs,
1223    a corresponding uninstall-local target was added.
1224
1225    If the doxygen docs exist in the source tree, they will also be included
1226    in the distribution now too.
1227
1228 Makefile.am | 18 ++++++++++++++++++
1229 1 file changed, 18 insertions(+)
1230
1231commit 9af8f6f947a43974a4ff025f4c896f2fb4c91b4f
1232Author: Jia Tan <jiat0218@gmail.com>
1233Date:   2023-01-03 20:37:30 +0800
1234
1235    Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile.
1236
1237    Instead of having Doxyfile.in configured by Autoconf, the Doxyfile
1238    can have the tags that need to be configured piped into the doxygen
1239    command through stdin with the overrides after Doxyfile's contents.
1240
1241    Going forward, the documentation should be generated in two different
1242    modes: liblzma or internal.
1243
1244    liblzma is useful for most users. It is the documentation for just
1245    the liblzma API header files. This is the default.
1246
1247    internal is for people who want to understand how xz and liblzma work.
1248    It might be useful for people who want to contribute to the project.
1249
1250 .gitignore       |    3 +-
1251 Doxyfile.in      | 1234 -------------------------
1252 Makefile.am      |    1 -
1253 configure.ac     |    1 -
1254 doxygen/Doxyfile | 2684 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1255 5 files changed, 2686 insertions(+), 1237 deletions(-)
1256
1257commit 1c558a26928b753fcf1c0d4bce9c0643285edd86
1258Author: Jia Tan <jiat0218@gmail.com>
1259Date:   2023-02-28 23:22:36 +0800
1260
1261    Tests: Remove unused macros and functions.
1262
1263 tests/tests.h | 75 -----------------------------------------------------------
1264 1 file changed, 75 deletions(-)
1265
1266commit 7479a69a45a1b8fdb9a209e11f247dce11ac1ba0
1267Author: Jia Tan <jiat0218@gmail.com>
1268Date:   2023-01-12 22:29:07 +0800
1269
1270    Tests: Refactors existing lzma_index tests.
1271
1272    Converts the existing lzma_index tests into tuktests and covers every
1273    API function from index.h except for lzma_file_info_decoder, which can
1274    be tested in the future.
1275
1276 tests/test_index.c | 2036 ++++++++++++++++++++++++++++++++++++++--------------
1277 1 file changed, 1492 insertions(+), 544 deletions(-)
1278
1279commit fd56d5353360279c10e8e5e05f5bc6ea03f64584
1280Author: Lasse Collin <lasse.collin@tukaani.org>
1281Date:   2023-03-07 19:59:23 +0200
1282
1283    xz: Make Capsicum sandbox more strict with stdin and stdout.
1284
1285 src/xz/file_io.c | 8 ++++++++
1286 1 file changed, 8 insertions(+)
1287
1288commit d1bdaaebc68cae7f0ba457fa990b520df2186fd1
1289Author: Lasse Collin <lasse.collin@tukaani.org>
1290Date:   2023-03-11 19:31:40 +0200
1291
1292    xz: Don't fail if Capsicum is enabled but kernel doesn't support it.
1293
1294    (This commit combines related commits from the master branch.)
1295
1296    If Capsicum support is missing from the kernel or xz is being run
1297    in an emulator that lacks Capsicum suport, the syscalls will fail
1298    and set errno to ENOSYS. Previously xz would display and error and
1299    exit, making xz unusable. Now it will check for ENOSYS and run
1300    without sandbox support. Other tools like ssh behave similarly.
1301
1302    Displaying a warning for missing Capsicum support was considered
1303    but such extra output would quickly become annoying. It would also
1304    break test_scripts.sh in "make check".
1305
1306    Also move cap_enter() to be the first step instead of the last one.
1307    This matches the example in the cap_rights_limit(2) man page. With
1308    the current code it shouldn't make any practical difference though.
1309
1310    Thanks to Xin Li for the bug report, suggesting a fix, and testing:
1311    https://github.com/tukaani-project/xz/pull/43
1312
1313    Thanks to Jia Tan for most of the original commits.
1314
1315 src/xz/file_io.c | 15 ++++++++++++---
1316 1 file changed, 12 insertions(+), 3 deletions(-)
1317
1318commit 5d351c69c19d212ddd2cf1f3bdb24900820c6776
1319Author: Jia Tan <jiat0218@gmail.com>
1320Date:   2023-02-04 21:06:35 +0800
1321
1322    Build: Adjust CMake version search regex.
1323
1324    Now, the LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, and LZMA_VERSION_PATCH
1325    macros do not need to be on consecutive lines in version.h. They can be
1326    separated by more whitespace, comments, or even other content, as long
1327    as they appear in the proper order (major, minor, patch).
1328
1329 CMakeLists.txt | 2 ++
1330 1 file changed, 2 insertions(+)
1331
1332commit b82d4831e3f2339c4cdbc47776c99462088c11b7
1333Author: Jia Tan <jiat0218@gmail.com>
1334Date:   2023-01-26 09:50:21 +0800
1335
1336    liblzma: Improve documentation for version.h.
1337
1338    Specified parameter and return values for API functions and documented
1339    a few more of the macros.
1340
1341 src/liblzma/api/lzma/version.h | 29 ++++++++++++++++++++++-------
1342 1 file changed, 22 insertions(+), 7 deletions(-)
1343
1344commit 2caba3efe3e0c2d7c6dca00e22c56812326a34e6
1345Author: Jia Tan <jiat0218@gmail.com>
1346Date:   2023-02-24 23:46:23 +0800
1347
1348    liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h.
1349
1350    lzma_lzma_preset() does not guarentee that the lzma_options_lzma are
1351    usable in an encoder even if it returns false (success). If liblzma
1352    is built with default configurations, then the options will always be
1353    usable. However if the match finders hc3, hc4, or bt4 are disabled, then
1354    the options may not be usable depending on the preset level requested.
1355
1356    The documentation was updated to reflect this complexity, since this
1357    behavior was unclear before.
1358
1359 src/liblzma/api/lzma/lzma12.h | 5 +++++
1360 1 file changed, 5 insertions(+)
1361
1362commit 594f904673ba55a833adfa60bbab6b60d4902d08
1363Author: Lasse Collin <lasse.collin@tukaani.org>
1364Date:   2023-02-27 18:38:35 +0200
1365
1366    CMake: Require that the C compiler supports C99 or a newer standard.
1367
1368    Thanks to autoantwort for reporting the issue and suggesting
1369    a different patch:
1370    https://github.com/tukaani-project/xz/pull/42
1371
1372 CMakeLists.txt | 8 ++++++++
1373 1 file changed, 8 insertions(+)
1374
1375commit 88101143cb774bca6b7006c8335b09dc3f334140
1376Author: Jia Tan <jiat0218@gmail.com>
1377Date:   2023-02-24 18:10:37 +0800
1378
1379    Tests: Small tweak to test-vli.c.
1380
1381    The static global variables can be disabled if encoders and decoders
1382    are not built. If they are not disabled and -Werror is used, it will
1383    cause an usused warning as an error.
1384
1385 tests/test_vli.c | 2 ++
1386 1 file changed, 2 insertions(+)
1387
1388commit 4042dbf03a06e019ccdd1e9d1b94cf613d62d5a9
1389Author: Jia Tan <jiat0218@gmail.com>
1390Date:   2023-02-06 21:46:43 +0800
1391
1392    liblzma: Replace '\n' -> newline in filter.h documentation.
1393
1394    The '\n' renders as a newline when the comments are converted to html
1395    by Doxygen.
1396
1397 src/liblzma/api/lzma/filter.h | 2 +-
1398 1 file changed, 1 insertion(+), 1 deletion(-)
1399
1400commit 3971f5c5024750ce8286891c6f79ae1661047483
1401Author: Jia Tan <jiat0218@gmail.com>
1402Date:   2023-02-06 21:45:37 +0800
1403
1404    liblzma: Shorten return description for two functions in filter.h.
1405
1406    Shorten the description for lzma_raw_encoder_memusage() and
1407    lzma_raw_decoder_memusage().
1408
1409 src/liblzma/api/lzma/filter.h | 8 ++------
1410 1 file changed, 2 insertions(+), 6 deletions(-)
1411
1412commit 5e61b39432752b6cd1a7b518f0f9e4f0c3f0f242
1413Author: Jia Tan <jiat0218@gmail.com>
1414Date:   2023-02-06 21:44:45 +0800
1415
1416    liblzma: Reword a few lines in filter.h
1417
1418 src/liblzma/api/lzma/filter.h | 10 +++++-----
1419 1 file changed, 5 insertions(+), 5 deletions(-)
1420
1421commit 8a53533869defa1191b41f176a0312cb53a139e2
1422Author: Jia Tan <jiat0218@gmail.com>
1423Date:   2023-02-06 21:35:06 +0800
1424
1425    liblzma: Improve documentation in filter.h.
1426
1427    All functions now explicitly specify parameter and return values.
1428    The notes and code annotations were moved before the parameter and
1429    return value descriptions for consistency.
1430
1431    Also, the description above lzma_filter_encoder_is_supported() about
1432    not being able to list available filters was removed since
1433    lzma_str_list_filters() will do this.
1434
1435 src/liblzma/api/lzma/filter.h | 226 ++++++++++++++++++++++++++----------------
1436 1 file changed, 143 insertions(+), 83 deletions(-)
1437
1438commit 6d05b08b17ac8cb93165ee8f310fdd925b0b258f
1439Author: Lasse Collin <lasse.collin@tukaani.org>
1440Date:   2023-02-23 20:46:16 +0200
1441
1442    Update THANKS.
1443
1444 THANKS | 1 +
1445 1 file changed, 1 insertion(+)
1446
1447commit dfc9a54082e0fc7b3b796ea15336b5075acc79d5
1448Author: Lasse Collin <lasse.collin@tukaani.org>
1449Date:   2023-02-21 22:57:10 +0200
1450
1451    liblzma: Avoid null pointer + 0 (undefined behavior in C).
1452
1453    In the C99 and C17 standards, section 6.5.6 paragraph 8 means that
1454    adding 0 to a null pointer is undefined behavior. As of writing,
1455    "clang -fsanitize=undefined" (Clang 15) diagnoses this. However,
1456    I'm not aware of any compiler that would take advantage of this
1457    when optimizing (Clang 15 included). It's good to avoid this anyway
1458    since compilers might some day infer that pointer arithmetic implies
1459    that the pointer is not NULL. That is, the following foo() would then
1460    unconditionally return 0, even for foo(NULL, 0):
1461
1462        void bar(char *a, char *b);
1463
1464        int foo(char *a, size_t n)
1465        {
1466            bar(a, a + n);
1467            return a == NULL;
1468        }
1469
1470    In contrast to C, C++ explicitly allows null pointer + 0. So if
1471    the above is compiled as C++ then there is no undefined behavior
1472    in the foo(NULL, 0) call.
1473
1474    To me it seems that changing the C standard would be the sane
1475    thing to do (just add one sentence) as it would ensure that a huge
1476    amount of old code won't break in the future. Based on web searches
1477    it seems that a large number of codebases (where null pointer + 0
1478    occurs) are being fixed instead to be future-proof in case compilers
1479    will some day optimize based on it (like making the above foo(NULL, 0)
1480    return 0) which in the worst case will cause security bugs.
1481
1482    Some projects don't plan to change it. For example, gnulib and thus
1483    many GNU tools currently require that null pointer + 0 is defined:
1484
1485        https://lists.gnu.org/archive/html/bug-gnulib/2021-11/msg00000.html
1486
1487        https://www.gnu.org/software/gnulib/manual/html_node/Other-portability-assumptions.html
1488
1489    In XZ Utils null pointer + 0 issue should be fixed after this
1490    commit. This adds a few if-statements and thus branches to avoid
1491    null pointer + 0. These check for size > 0 instead of ptr != NULL
1492    because this way bugs where size > 0 && ptr == NULL will likely
1493    get caught quickly. None of them are in hot spots so it shouldn't
1494    matter for performance.
1495
1496    A little less readable version would be replacing
1497
1498        ptr + offset
1499
1500    with
1501
1502        offset != 0 ? ptr + offset : ptr
1503
1504    or creating a macro for it:
1505
1506        #define my_ptr_add(ptr, offset) \
1507                ((offset) != 0 ? ((ptr) + (offset)) : (ptr))
1508
1509    Checking for offset != 0 instead of ptr != NULL allows GCC >= 8.1,
1510    Clang >= 7, and Clang-based ICX to optimize it to the very same code
1511    as ptr + offset. That is, it won't create a branch. So for hot code
1512    this could be a good solution to avoid null pointer + 0. Unfortunately
1513    other compilers like ICC 2021 or MSVC 19.33 (VS2022) will create a
1514    branch from my_ptr_add().
1515
1516    Thanks to Marcin Kowalczyk for reporting the problem:
1517    https://github.com/tukaani-project/xz/issues/36
1518
1519 src/liblzma/common/block_decoder.c |  5 ++++-
1520 src/liblzma/common/block_encoder.c |  7 +++++--
1521 src/liblzma/common/common.c        | 20 ++++++++++++++------
1522 src/liblzma/common/index_decoder.c | 13 ++++++++++---
1523 src/liblzma/common/index_encoder.c | 11 +++++++++--
1524 src/liblzma/common/index_hash.c    | 13 ++++++++++---
1525 src/liblzma/common/lzip_decoder.c  |  6 +++++-
1526 src/liblzma/delta/delta_decoder.c  |  7 ++++++-
1527 src/liblzma/delta/delta_encoder.c  | 12 ++++++++++--
1528 src/liblzma/simple/simple_coder.c  |  6 ++++--
1529 10 files changed, 77 insertions(+), 23 deletions(-)
1530
1531commit f6dce49cb656b358e2fb2a3032e35e20af34dc84
1532Author: Jia Tan <jiat0218@gmail.com>
1533Date:   2023-02-07 00:00:44 +0800
1534
1535    liblzma: Adjust container.h for consistency with filter.h.
1536
1537 src/liblzma/api/lzma/container.h | 20 +++++++++-----------
1538 1 file changed, 9 insertions(+), 11 deletions(-)
1539
1540commit 173d240bb4763aedc8c01df4d9c83e311d954c33
1541Author: Jia Tan <jiat0218@gmail.com>
1542Date:   2023-02-07 00:00:09 +0800
1543
1544    liblzma: Fix small typos and reword a few things in filter.h.
1545
1546 src/liblzma/api/lzma/container.h | 13 ++++++-------
1547 1 file changed, 6 insertions(+), 7 deletions(-)
1548
1549commit 17797bacde3f7264048ef0976c137a600148d6cf
1550Author: Jia Tan <jiat0218@gmail.com>
1551Date:   2023-02-06 23:42:08 +0800
1552
1553    liblzma: Convert list of flags in lzma_mt to bulleted list.
1554
1555 src/liblzma/api/lzma/container.h | 9 ++++++---
1556 1 file changed, 6 insertions(+), 3 deletions(-)
1557
1558commit 37da0e727161b401b8bfd8dccf163a4b2fc0460b
1559Author: Jia Tan <jiat0218@gmail.com>
1560Date:   2023-01-26 23:17:41 +0800
1561
1562    liblzma: Fix typo in documentation in container.h
1563
1564    lzma_microlzma_decoder -> lzma_microlzma_encoder
1565
1566 src/liblzma/api/lzma/container.h | 2 +-
1567 1 file changed, 1 insertion(+), 1 deletion(-)
1568
1569commit b8331077c626e6bf14f4671d09b561146eaf816a
1570Author: Jia Tan <jiat0218@gmail.com>
1571Date:   2023-01-26 23:16:34 +0800
1572
1573    liblzma: Improve documentation for container.h
1574
1575    Standardizing each function to always specify parameters and return
1576    values. Also moved the parameters and return values to the end of each
1577    function description.
1578
1579 src/liblzma/api/lzma/container.h | 146 +++++++++++++++++++++++++--------------
1580 1 file changed, 93 insertions(+), 53 deletions(-)
1581
1582commit b9a3511bb61d3b6ce49abd33dce6155a573f5272
1583Author: Jia Tan <jiat0218@gmail.com>
1584Date:   2023-02-22 20:59:41 +0800
1585
1586    CMake: Add LZIP decoder test to list of tests.
1587
1588 CMakeLists.txt | 1 +
1589 1 file changed, 1 insertion(+)
1590
1591commit cd82ef2fb48b174c57cd03b84a9a0f978772cb89
1592Author: Lasse Collin <lasse.collin@tukaani.org>
1593Date:   2023-02-17 20:56:49 +0200
1594
1595    Update THANKS.
1596
1597 THANKS | 1 +
1598 1 file changed, 1 insertion(+)
1599
1600commit 076e911ba25cadf2cbdfbd0f65991a002e210c0b
1601Author: Lasse Collin <lasse.collin@tukaani.org>
1602Date:   2023-02-17 20:48:28 +0200
1603
1604    Build: Use only the generic symbol versioning on MicroBlaze.
1605
1606    On MicroBlaze, GCC 12 is broken in sense that
1607    __has_attribute(__symver__) returns true but it still doesn't
1608    support the __symver__ attribute even though the platform is ELF
1609    and symbol versioning is supported if using the traditional
1610    __asm__(".symver ...") method. Avoiding the traditional method is
1611    good because it breaks LTO (-flto) builds with GCC.
1612
1613    See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
1614
1615    For now the only extra symbols in liblzma_linux.map are the
1616    compatibility symbols with the patch that spread from RHEL/CentOS 7.
1617    These require the use of __symver__ attribute or __asm__(".symver ...")
1618    in the C code. Compatibility with the patch from CentOS 7 doesn't
1619    seem valuable on MicroBlaze so use liblzma_generic.map on MicroBlaze
1620    instead. It doesn't require anything special in the C code and thus
1621    no LTO issues either.
1622
1623    An alternative would be to detect support for __symver__
1624    attribute in configure.ac and CMakeLists.txt and fall back
1625    to __asm__(".symver ...") but then LTO would be silently broken
1626    on MicroBlaze. It sounds likely that MicroBlaze is a special
1627    case so let's treat it as a such because that is simpler. If
1628    a similar issue exists on some other platform too then hopefully
1629    someone will report it and this can be reconsidered.
1630
1631    (This doesn't do the same fix in CMakeLists.txt. Perhaps it should
1632    but perhaps CMake build of liblzma doesn't matter much on MicroBlaze.
1633    The problem breaks the build so it's easy to notice and can be fixed
1634    later.)
1635
1636    Thanks to Vincent Fazio for reporting the problem and proposing
1637    a patch (in the end that solution wasn't used):
1638    https://github.com/tukaani-project/xz/pull/32
1639
1640 configure.ac | 12 ++++++++++--
1641 1 file changed, 10 insertions(+), 2 deletions(-)
1642
1643commit bc34e5ac9996667d2c1ec9a7895ec5931ac4caea
1644Author: Lasse Collin <lasse.collin@tukaani.org>
1645Date:   2023-02-16 21:09:00 +0200
1646
1647    liblzma: Very minor API doc tweaks.
1648
1649    Use "member" to refer to struct members as that's the term used
1650    by the C standard.
1651
1652    Use lzma_options_delta.dist and such in docs so that in Doxygen's
1653    HTML output they will link to the doc of the struct member.
1654
1655    Clean up a few trailing white spaces too.
1656
1657 src/liblzma/api/lzma/block.h        |  6 +++---
1658 src/liblzma/api/lzma/delta.h        |  6 +++---
1659 src/liblzma/api/lzma/index.h        | 10 +++++-----
1660 src/liblzma/api/lzma/stream_flags.h |  6 +++---
1661 4 files changed, 14 insertions(+), 14 deletions(-)
1662
1663commit d31fbd28be5b79eb682db50004b0fb7aad5299ec
1664Author: Jia Tan <jiat0218@gmail.com>
1665Date:   2023-02-17 00:54:33 +0800
1666
1667    liblzma: Adjust spacing in doc headers in bcj.h.
1668
1669 src/liblzma/api/lzma/bcj.h | 14 +++++++-------
1670 1 file changed, 7 insertions(+), 7 deletions(-)
1671
1672commit 701e9be6bede19771895f756082db0c017f86f07
1673Author: Jia Tan <jiat0218@gmail.com>
1674Date:   2023-02-17 00:44:44 +0800
1675
1676    liblzma: Adjust documentation in bcj.h for consistent style.
1677
1678 src/liblzma/api/lzma/bcj.h | 43 ++++++++++++++++++++++---------------------
1679 1 file changed, 22 insertions(+), 21 deletions(-)
1680
1681commit 762c4d0b62d2694cf3a01e030fdfe68e09e7b503
1682Author: Jia Tan <jiat0218@gmail.com>
1683Date:   2023-02-17 00:36:05 +0800
1684
1685    liblzma: Rename field => member in documentation.
1686
1687    Also adjusted preset value => preset level.
1688
1689 src/liblzma/api/lzma/base.h         | 18 +++++++--------
1690 src/liblzma/api/lzma/block.h        | 44 ++++++++++++++++++-------------------
1691 src/liblzma/api/lzma/container.h    | 26 +++++++++++-----------
1692 src/liblzma/api/lzma/delta.h        | 12 +++++-----
1693 src/liblzma/api/lzma/index.h        | 30 ++++++++++++-------------
1694 src/liblzma/api/lzma/lzma12.h       | 28 +++++++++++------------
1695 src/liblzma/api/lzma/stream_flags.h | 32 +++++++++++++--------------
1696 7 files changed, 95 insertions(+), 95 deletions(-)
1697
1698commit 0ce1db0223854d94b4a0d17737ac0486a75d9e6a
1699Author: Lasse Collin <lasse.collin@tukaani.org>
1700Date:   2023-02-16 17:59:50 +0200
1701
1702    liblzma: Silence a warning from MSVC.
1703
1704    It gives C4146 here since unary minus with unsigned integer
1705    is still unsigned (which is the intention here). Doing it
1706    with substraction makes it clearer and avoids the warning.
1707
1708    Thanks to Nathan Moinvaziri for reporting this.
1709
1710 src/liblzma/check/crc64_fast.c | 2 +-
1711 1 file changed, 1 insertion(+), 1 deletion(-)
1712
1713commit d83da006b3e8dbad9112e6cde6b27049d193c9ec
1714Author: Jia Tan <jiat0218@gmail.com>
1715Date:   2023-02-16 21:04:54 +0800
1716
1717    liblzma: Improve documentation for stream_flags.h
1718
1719    Standardizing each function to always specify parameters and return
1720    values. Also moved the parameters and return values to the end of each
1721    function description.
1722
1723    A few small things were reworded and long sentences broken up.
1724
1725 src/liblzma/api/lzma/stream_flags.h | 76 ++++++++++++++++++++++---------------
1726 1 file changed, 46 insertions(+), 30 deletions(-)
1727
1728commit 2796bb4736f645d34939b5d62d5958f534e41e69
1729Author: Jia Tan <jiat0218@gmail.com>
1730Date:   2023-02-14 21:50:16 +0800
1731
1732    liblzma: Improve documentation in lzma12.h.
1733
1734    All functions now explicitly specify parameter and return values.
1735
1736 src/liblzma/api/lzma/lzma12.h | 32 +++++++++++++++++++++++---------
1737 1 file changed, 23 insertions(+), 9 deletions(-)
1738
1739commit ebebaa8d9381afea440eb1b01917117551adf68f
1740Author: Jia Tan <jiat0218@gmail.com>
1741Date:   2023-01-27 22:44:06 +0800
1742
1743    liblzma: Improve documentation in check.h.
1744
1745    All functions now explicitly specify parameter and return values.
1746    Also moved the note about SHA-256 functions not being exported to the
1747    top of the file.
1748
1749 src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++-------------
1750 1 file changed, 28 insertions(+), 13 deletions(-)
1751
1752commit 765fa2865aab97ea713c1715922e322b3cf599a7
1753Author: Jia Tan <jiat0218@gmail.com>
1754Date:   2023-02-08 21:33:52 +0800
1755
1756    liblzma: Improve documentation in index.h
1757
1758    All functions now explicitly specify parameter and return values.
1759
1760 src/liblzma/api/lzma/index.h | 177 ++++++++++++++++++++++++++++++-------------
1761 1 file changed, 126 insertions(+), 51 deletions(-)
1762
1763commit 918e208af5960728b6def01e692b395f7d8e3701
1764Author: Jia Tan <jiat0218@gmail.com>
1765Date:   2023-02-08 20:35:32 +0800
1766
1767    liblzma: Reword a comment in index.h.
1768
1769 src/liblzma/api/lzma/index.h | 4 ++--
1770 1 file changed, 2 insertions(+), 2 deletions(-)
1771
1772commit 1f157d214bc09338876d2467b549935679abc0bf
1773Author: Jia Tan <jiat0218@gmail.com>
1774Date:   2023-02-08 20:30:23 +0800
1775
1776    liblzma: Omit lzma_index_iter's internal field from Doxygen docs.
1777
1778    Add \private above this field and its sub-fields since it is not meant
1779    to be modified by users.
1780
1781 src/liblzma/api/lzma/index.h | 9 ++++++++-
1782 1 file changed, 8 insertions(+), 1 deletion(-)
1783
1784commit 28757fa46d8e0f0a9c17628b2b6af9bcb3cd96fc
1785Author: Jia Tan <jiat0218@gmail.com>
1786Date:   2023-01-21 21:32:03 +0800
1787
1788    liblzma: Fix documentation for LZMA_MEMLIMIT_ERROR.
1789
1790    LZMA_MEMLIMIT_ERROR was missing the "<" character needed to put
1791    documentation after a member.
1792
1793 src/liblzma/api/lzma/base.h | 2 +-
1794 1 file changed, 1 insertion(+), 1 deletion(-)
1795
1796commit 135d5a1a65a9e199b9a5550c1f788cf43cd81018
1797Author: Jia Tan <jiat0218@gmail.com>
1798Date:   2023-01-21 00:29:38 +0800
1799
1800    liblzma: Improve documentation for base.h.
1801
1802    Standardizing each function to always specify params and return values.
1803    Also fixed a small grammar mistake.
1804
1805 src/liblzma/api/lzma/base.h | 30 +++++++++++++++++++++++++-----
1806 1 file changed, 25 insertions(+), 5 deletions(-)
1807
1808commit 2287d5668384e289d51e72724997dc920483768e
1809Author: Jia Tan <jiat0218@gmail.com>
1810Date:   2023-02-14 00:08:33 +0800
1811
1812    liblzma: Minor improvements to vli.h.
1813
1814    Added [out] annotations to parameters that are pointers and can have
1815    their value changed. Also added a clarification to lzma_vli_is_valid.
1816
1817 src/liblzma/api/lzma/vli.h | 15 ++++++++-------
1818 1 file changed, 8 insertions(+), 7 deletions(-)
1819
1820commit 7124b8a16ae60cb2e93218ff531868eebd673bde
1821Author: Jia Tan <jiat0218@gmail.com>
1822Date:   2023-02-10 21:38:02 +0800
1823
1824    liblzma: Add comments for macros in delta.h.
1825
1826    Document LZMA_DELTA_DIST_MIN and LZMA_DELTA_DIST_MAX for completeness
1827    and to avoid Doxygen warnings.
1828
1829 src/liblzma/api/lzma/delta.h | 8 ++++++++
1830 1 file changed, 8 insertions(+)
1831
1832commit 59c7bb8931159fdb1a31bbbeaed0e6984e2d3c81
1833Author: Jia Tan <jiat0218@gmail.com>
1834Date:   2023-02-10 21:35:23 +0800
1835
1836    liblzma: Improve documentation in index_hash.h.
1837
1838    All functions now explicitly specify parameter and return values.
1839    Also reworded the description of lzma_index_hash_init() for readability.
1840
1841 src/liblzma/api/lzma/index_hash.h | 36 +++++++++++++++++++++++++++---------
1842 1 file changed, 27 insertions(+), 9 deletions(-)
1843
1844commit e970c28ac3cb2e8051925f81db2fe953664c2645
1845Author: Jia Tan <jiat0218@gmail.com>
1846Date:   2023-02-03 00:33:32 +0800
1847
1848    liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length.
1849
1850    The bug is only a problem in applications that do not properly terminate
1851    the filters[] array with LZMA_VLI_UNKNOWN or have more than
1852    LZMA_FILTERS_MAX filters. This bug does not affect xz.
1853
1854 src/liblzma/common/string_conversion.c | 7 +++++++
1855 1 file changed, 7 insertions(+)
1856
1857commit 85e01266a96689448abb249da6c6abc3afcd4a4e
1858Author: Jia Tan <jiat0218@gmail.com>
1859Date:   2023-02-03 00:32:47 +0800
1860
1861    Tests: Create test_filter_str.c.
1862
1863    Tests lzma_str_to_filters(), lzma_str_from_filters(), and
1864    lzma_str_list_filters() API functions.
1865
1866 CMakeLists.txt          |   1 +
1867 tests/Makefile.am       |   2 +
1868 tests/test_filter_str.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++
1869 3 files changed, 596 insertions(+)
1870
1871commit 3fa0f3ba12dd3383f62dbfa18a864f9b4217fa0a
1872Author: Jia Tan <jiat0218@gmail.com>
1873Date:   2023-01-22 08:49:00 +0800
1874
1875    liblzma: Fix typos in comments in string_conversion.c.
1876
1877 src/liblzma/common/string_conversion.c | 4 ++--
1878 1 file changed, 2 insertions(+), 2 deletions(-)
1879
1880commit 32dbe045d74e94f75c53236fa2a6c0454d7b6d9e
1881Author: Jia Tan <jiat0218@gmail.com>
1882Date:   2023-02-03 00:20:20 +0800
1883
1884    liblzma: Clarify block encoder and decoder documentation.
1885
1886    Added a few sentences to the description for lzma_block_encoder() and
1887    lzma_block_decoder() to highlight that the Block Header must be coded
1888    before calling these functions.
1889
1890 src/liblzma/api/lzma/block.h | 15 +++++++++++----
1891 1 file changed, 11 insertions(+), 4 deletions(-)
1892
1893commit ccf12acbfa7331b1bbb99ec55879186eb35f879f
1894Author: Jia Tan <jiat0218@gmail.com>
1895Date:   2023-02-03 00:12:24 +0800
1896
1897    Update lzma_block documentation for lzma_block_uncomp_encode().
1898
1899 src/liblzma/api/lzma/block.h | 3 +++
1900 1 file changed, 3 insertions(+)
1901
1902commit 6a0b168dd9dc1ef437255c4bfdc6eff8b96fdb24
1903Author: Jia Tan <jiat0218@gmail.com>
1904Date:   2023-02-03 00:11:37 +0800
1905
1906    liblzma: Minor edits to lzma_block header_size documentation.
1907
1908 src/liblzma/api/lzma/block.h | 3 ++-
1909 1 file changed, 2 insertions(+), 1 deletion(-)
1910
1911commit 84ce36f90e68471fec1f0e61cd93ac7ed9ab4883
1912Author: Jia Tan <jiat0218@gmail.com>
1913Date:   2023-02-03 00:11:07 +0800
1914
1915    liblzma: Enumerate functions that read version in lzma_block.
1916
1917 src/liblzma/api/lzma/block.h | 13 +++++++++++--
1918 1 file changed, 11 insertions(+), 2 deletions(-)
1919
1920commit d6620774682830d606f57109861b6763805b3492
1921Author: Jia Tan <jiat0218@gmail.com>
1922Date:   2023-02-03 00:10:34 +0800
1923
1924    liblzma: Clarify comment in block.h.
1925
1926 src/liblzma/api/lzma/block.h | 3 ++-
1927 1 file changed, 2 insertions(+), 1 deletion(-)
1928
1929commit 880adb5aa25f66a53d81c2f3acc716f7a4d373d1
1930Author: Jia Tan <jiat0218@gmail.com>
1931Date:   2023-02-03 00:07:23 +0800
1932
1933    liblzma: Improve documentation for block.h.
1934
1935    Standardizing each function to always specify params and return values.
1936    Output pointer parameters are also marked with doxygen style [out] to
1937    make it clear. Any note sections were also moved above the parameter and
1938    return sections for consistency.
1939
1940 src/liblzma/api/lzma/block.h | 96 ++++++++++++++++++++++++++++++++++----------
1941 1 file changed, 75 insertions(+), 21 deletions(-)
1942
1943commit b5b1b1f061c342271e4977ce5cba604a19c0ca52
1944Author: Jia Tan <jiat0218@gmail.com>
1945Date:   2023-02-01 23:38:30 +0800
1946
1947    liblzma: Clarify a comment about LZMA_STR_NO_VALIDATION.
1948
1949    The flag description for LZMA_STR_NO_VALIDATION was previously confusing
1950    about the treatment for filters than cannot be used with .xz format
1951    (lzma1) without using LZMA_STR_ALL_FILTERS. Now, it is clear that
1952    LZMA_STR_NO_VALIDATION is not a super set of LZMA_STR_ALL_FILTERS.
1953
1954 src/liblzma/api/lzma/filter.h | 5 +++--
1955 1 file changed, 3 insertions(+), 2 deletions(-)
1956
1957commit e904e778b82b14f2779aab80d6c8f3c01a3fc54b
1958Author: Jia Tan <jiat0218@gmail.com>
1959Date:   2023-01-27 20:14:51 +0800
1960
1961    Translations: Add Brazilian Portuguese translation of man pages.
1962
1963    Thanks to Rafael Fontenelle.
1964
1965 po4a/po4a.conf |    2 +-
1966 po4a/pt_BR.po  | 3677 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1967 2 files changed, 3678 insertions(+), 1 deletion(-)
1968
1969commit e9c47e79c9584ba1126f5fa0dbe6c96e67411aa6
1970Author: Jia Tan <jiat0218@gmail.com>
1971Date:   2023-01-24 20:48:50 +0800
1972
1973    liblzma: Fix documentation in filter.h for lzma_str_to_filters()
1974
1975    The previous documentation for lzma_str_to_filters() was technically
1976    correct, but misleading. lzma_str_to_filters() returns NULL on success,
1977    which is in practice always defined to 0. This is the same value as
1978    LZMA_OK, but lzma_str_to_filters() does not return lzma_ret so we should
1979    be more clear.
1980
1981 src/liblzma/api/lzma/filter.h | 2 +-
1982 1 file changed, 1 insertion(+), 1 deletion(-)
1983
1984commit 99575947a58a60416c570eb78038d18a1ea4cef4
1985Author: Jia Tan <jiat0218@gmail.com>
1986Date:   2023-01-07 21:55:06 +0800
1987
1988    xz: Refactor duplicated check for custom suffix when using --format=raw
1989
1990 src/xz/args.c   |  8 ++++++++
1991 src/xz/suffix.c | 26 ++++++++------------------
1992 src/xz/suffix.h |  8 ++++++++
1993 3 files changed, 24 insertions(+), 18 deletions(-)
1994
1995commit 76dec92fcca4a9ccd2063ed6d5d9e3474665baad
1996Author: Jia Tan <jiat0218@gmail.com>
1997Date:   2023-01-20 21:53:14 +0800
1998
1999    liblzma: Set documentation on all reserved fields to private.
2000
2001    This prevents the reserved fields from being part of the generated
2002    Doxygen documentation.
2003
2004 src/liblzma/api/lzma/base.h         | 17 +++++++++++++++
2005 src/liblzma/api/lzma/block.h        | 43 +++++++++++++++++++++++++++++++++++++
2006 src/liblzma/api/lzma/container.h    | 24 +++++++++++++++++++++
2007 src/liblzma/api/lzma/delta.h        | 12 +++++++++++
2008 src/liblzma/api/lzma/index.h        | 27 +++++++++++++++++++++++
2009 src/liblzma/api/lzma/lzma12.h       | 22 +++++++++++++++++++
2010 src/liblzma/api/lzma/stream_flags.h | 28 ++++++++++++++++++++++++
2011 7 files changed, 173 insertions(+)
2012
2013commit bd213d06ebf92cf42eeb97e7c578bddc857f8ea8
2014Author: Jia Tan <jiat0218@gmail.com>
2015Date:   2022-12-21 23:59:43 +0800
2016
2017    liblzma: Highlight liblzma API headers should not be included directly.
2018
2019    This improves the generated Doxygen HTML files to better highlight
2020    how to properly use the liblzma API header files.
2021
2022 src/liblzma/api/lzma/base.h         | 5 +++--
2023 src/liblzma/api/lzma/bcj.h          | 5 +++--
2024 src/liblzma/api/lzma/block.h        | 5 +++--
2025 src/liblzma/api/lzma/check.h        | 5 +++--
2026 src/liblzma/api/lzma/container.h    | 5 +++--
2027 src/liblzma/api/lzma/delta.h        | 5 +++--
2028 src/liblzma/api/lzma/filter.h       | 5 +++--
2029 src/liblzma/api/lzma/hardware.h     | 5 +++--
2030 src/liblzma/api/lzma/index.h        | 5 +++--
2031 src/liblzma/api/lzma/index_hash.h   | 5 +++--
2032 src/liblzma/api/lzma/lzma12.h       | 5 +++--
2033 src/liblzma/api/lzma/stream_flags.h | 5 +++--
2034 src/liblzma/api/lzma/version.h      | 5 +++--
2035 src/liblzma/api/lzma/vli.h          | 5 +++--
2036 14 files changed, 42 insertions(+), 28 deletions(-)
2037
2038commit 257dbff0ba1a7bc45a74d203ece015c9f70c88cd
2039Author: Jia Tan <jiat0218@gmail.com>
2040Date:   2023-01-19 20:35:09 +0800
2041
2042    tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64.
2043
2044    tuklib_physmem depends on GetProcAddress() for both MSVC and MinGW-w64
2045    to retrieve a function address. The proper way to do this is to cast the
2046    return value to the type of function pointer retrieved. Unfortunately,
2047    this causes a cast-function-type warning, so the best solution is to
2048    simply ignore the warning.
2049
2050 src/common/tuklib_physmem.c | 18 ++++++++++++++++++
2051 1 file changed, 18 insertions(+)
2052
2053commit 720ad4a44282a7ee59aa9920eaf495d85d245d97
2054Author: Jia Tan <jiat0218@gmail.com>
2055Date:   2023-01-16 21:35:45 +0800
2056
2057    xz: Add missing comment for coder_set_compression_settings()
2058
2059 src/xz/coder.h | 3 ++-
2060 1 file changed, 2 insertions(+), 1 deletion(-)
2061
2062commit 88dc19163421282369c0989e997c05f9a447edc6
2063Author: Jia Tan <jiat0218@gmail.com>
2064Date:   2023-01-16 20:55:10 +0800
2065
2066    xz: Do not set compression settings with raw format in list mode.
2067
2068    Calling coder_set_compression_settings() in list mode with verbose mode
2069    on caused the filter chain and memory requirements to print. This was
2070    unnecessary since the command results in an error and not consistent
2071    with other formats like lzma and alone.
2072
2073 src/xz/args.c | 3 ++-
2074 1 file changed, 2 insertions(+), 1 deletion(-)
2075
2076commit 039e0ab13efb144642f9d99eeeb9c668e76bb430
2077Author: Jia Tan <jiat0218@gmail.com>
2078Date:   2023-01-13 20:37:06 +0800
2079
2080    Translations: Update the Brazilian Portuguese translation.
2081
2082 po/pt_BR.po | 603 ++++++++++++++++++++++++++++++++++--------------------------
2083 1 file changed, 344 insertions(+), 259 deletions(-)
2084
2085commit 718f7a60e740b26b8353965edaaddc7d4deb4d85
2086Author: Lasse Collin <lasse.collin@tukaani.org>
2087Date:   2023-01-12 13:04:05 +0200
2088
2089    Build: Omit -Wmissing-noreturn from the default warnings.
2090
2091    It's not that important. It can be annoying in builds that
2092    disable many features since in those cases the tests programs
2093    will correctly trigger this warning with Clang.
2094
2095 configure.ac | 1 -
2096 1 file changed, 1 deletion(-)
2097
2098commit 3ccedb09724c998c39d708c945f6da5852c39e13
2099Author: Lasse Collin <lasse.collin@tukaani.org>
2100Date:   2023-01-12 06:05:58 +0200
2101
2102    xz: Use ssize_t for the to-be-ignored return value from write(fd, ptr, 1).
2103
2104    It makes no difference here as the return value fits into an int
2105    too and it then gets ignored but this looks better.
2106
2107 src/xz/file_io.c | 2 +-
2108 1 file changed, 1 insertion(+), 1 deletion(-)
2109
2110commit 09fbd2f0527def89e839c8907de4fe7ef6bc5019
2111Author: Lasse Collin <lasse.collin@tukaani.org>
2112Date:   2023-01-12 06:01:12 +0200
2113
2114    xz: Silence warnings from -Wsign-conversion in a 32-bit build.
2115
2116 src/common/tuklib_mbstr_fw.c | 2 +-
2117 src/xz/list.c                | 4 ++--
2118 2 files changed, 3 insertions(+), 3 deletions(-)
2119
2120commit 683d3f178ef1487b5418be49f331b0131a101b40
2121Author: Lasse Collin <lasse.collin@tukaani.org>
2122Date:   2023-01-12 05:38:48 +0200
2123
2124    liblzma: Silence another warning from -Wsign-conversion in a 32-bit build.
2125
2126    It doesn't warn on a 64-bit system because truncating
2127    a ptrdiff_t (signed long) to uint32_t is diagnosed under
2128    -Wconversion by GCC and -Wshorten-64-to-32 by Clang.
2129
2130 src/liblzma/lz/lz_encoder_mf.c | 7 ++++---
2131 1 file changed, 4 insertions(+), 3 deletions(-)
2132
2133commit 2b8062ef94a38d0f9ad0d1b309e8748db52f5c15
2134Author: Lasse Collin <lasse.collin@tukaani.org>
2135Date:   2023-01-12 04:46:45 +0200
2136
2137    liblzma: Silence a warning from -Wsign-conversion in a 32-bit build.
2138
2139 src/common/mythread.h | 4 ++--
2140 1 file changed, 2 insertions(+), 2 deletions(-)
2141
2142commit b16b9c0d22227012518595c2222facc73bd833a8
2143Author: Lasse Collin <lasse.collin@tukaani.org>
2144Date:   2023-01-12 04:17:24 +0200
2145
2146    Build: Make configure add more warning flags for GCC and Clang.
2147
2148    -Wstrict-aliasing was removed from the list since it is enabled
2149    by -Wall already.
2150
2151    A normal build is clean with these on GNU/Linux x86-64 with
2152    GCC 12.2.0 and Clang 14.0.6.
2153
2154 configure.ac | 36 +++++++++++++++++++++++++++++++-----
2155 1 file changed, 31 insertions(+), 5 deletions(-)
2156
2157commit c47ecd6d3909d0d3ff48dfd6e2ee41e7c7130b94
2158Author: Lasse Collin <lasse.collin@tukaani.org>
2159Date:   2023-01-12 04:14:18 +0200
2160
2161    Tests: Fix warnings from clang --Wassign-enum.
2162
2163    Explicitly casting the integer to lzma_check silences the warning.
2164    Since such an invalid value is needed in multiple tests, a constant
2165    INVALID_LZMA_CHECK_ID was added to tests.h.
2166
2167    The use of 0x1000 for lzma_block.check wasn't optimal as if
2168    the underlying type is a char then 0x1000 will be truncated to 0.
2169    However, in these test cases the value is ignored, thus even with
2170    such truncation the test would have passed.
2171
2172 tests/test_block_header.c | 6 +++---
2173 tests/test_check.c        | 2 +-
2174 tests/test_stream_flags.c | 8 ++++----
2175 tests/tests.h             | 9 +++++++++
2176 4 files changed, 17 insertions(+), 8 deletions(-)
2177
2178commit 34e13ce015232968731de2a9ec3440a08b0084b1
2179Author: Lasse Collin <lasse.collin@tukaani.org>
2180Date:   2023-01-12 03:51:07 +0200
2181
2182    Tests: Silence warnings from -Wsign-conversion.
2183
2184    Note that assigning an unsigned int to lzma_check doesn't warn
2185    on GNU/Linux x86-64 since the enum type is unsigned on that
2186    platform. The enum can be signed on some other platform though
2187    so it's best to use enumeration type lzma_check in these situations.
2188
2189 tests/test_check.c        |  6 +++---
2190 tests/test_stream_flags.c | 10 +++++-----
2191 2 files changed, 8 insertions(+), 8 deletions(-)
2192
2193commit 6671d0fe46b77f0fafce860836b7a12dc3cda14a
2194Author: Lasse Collin <lasse.collin@tukaani.org>
2195Date:   2023-01-12 03:19:59 +0200
2196
2197    liblzma: Silence warnings from clang -Wconditional-uninitialized.
2198
2199    This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0.
2200    The actual initialization of the variables is done inside
2201    mythread_sync() macro. Clang doesn't seem to see that
2202    the initialization code inside the macro is always executed.
2203
2204 src/liblzma/common/stream_decoder_mt.c | 8 +++++---
2205 src/liblzma/common/stream_encoder_mt.c | 2 +-
2206 2 files changed, 6 insertions(+), 4 deletions(-)
2207
2208commit d3e833ca1d2abda54648494c33aca73a40a47efe
2209Author: Lasse Collin <lasse.collin@tukaani.org>
2210Date:   2023-01-12 03:11:40 +0200
2211
2212    Fix warnings from clang -Wdocumentation.
2213
2214 src/liblzma/check/check.h      | 4 ----
2215 src/liblzma/lz/lz_encoder_mf.c | 4 ++--
2216 src/xz/options.c               | 4 ++--
2217 3 files changed, 4 insertions(+), 8 deletions(-)
2218
2219commit 977dd2e26bc50efec8d30fb90380394042d24558
2220Author: Lasse Collin <lasse.collin@tukaani.org>
2221Date:   2023-01-12 03:04:28 +0200
2222
2223    Tests: test_lzip_decoder: Remove trailing white-space.
2224
2225 tests/test_lzip_decoder.c | 4 ++--
2226 1 file changed, 2 insertions(+), 2 deletions(-)
2227
2228commit c55157ed7437ab14f2afb7fecf331e321f2edf9a
2229Author: Lasse Collin <lasse.collin@tukaani.org>
2230Date:   2023-01-12 03:03:55 +0200
2231
2232    Tests: test_lzip_decoder: Silence warnings from -Wsign-conversion.
2233
2234 tests/test_lzip_decoder.c | 13 +++++++------
2235 1 file changed, 7 insertions(+), 6 deletions(-)
2236
2237commit 18b845e69752c975dfeda418ec00eda22605c2ee
2238Author: Lasse Collin <lasse.collin@tukaani.org>
2239Date:   2023-01-11 18:52:54 +0200
2240
2241    Bump version and soname for 5.4.1.
2242
2243 src/liblzma/Makefile.am        | 2 +-
2244 src/liblzma/api/lzma/version.h | 2 +-
2245 2 files changed, 2 insertions(+), 2 deletions(-)
2246
2247commit 4080bbb844fb36701ffb978f0c41ea2c2c9f8960
2248Author: Jia Tan <jiat0218@gmail.com>
2249Date:   2023-01-11 23:58:16 +0800
2250
2251    Add NEWS for 5.4.1.
2252
2253 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2254 1 file changed, 70 insertions(+)
2255
2256commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2
2257Author: Lasse Collin <lasse.collin@tukaani.org>
2258Date:   2023-01-10 11:56:11 +0200
2259
2260    sysdefs.h: Don't include strings.h anymore.
2261
2262    On some platforms src/xz/suffix.c may need <strings.h> for
2263    strcasecmp() but suffix.c includes the header when it needs it.
2264
2265    Unless there is an old system that otherwise supports enough C99
2266    to build XZ Utils but doesn't have C89/C90-compatible <string.h>,
2267    there should be no need to include <strings.h> in sysdefs.h.
2268
2269 src/common/sysdefs.h | 6 ------
2270 1 file changed, 6 deletions(-)
2271
2272commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6
2273Author: Lasse Collin <lasse.collin@tukaani.org>
2274Date:   2023-01-10 11:23:41 +0200
2275
2276    xz: Include <strings.h> in suffix.c if needed for strcasecmp().
2277
2278    SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>.
2279    Of these, strcasecmp() is used on some platforms in suffix.c.
2280    Nothing else in the project needs <strings.h> (at least if
2281    building on a modern system).
2282
2283    sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is
2284    defined and suffix.c relied on this.
2285
2286    Note that dos/config.h doesn't #define HAVE_STRINGS_H even though
2287    DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp()
2288    is also in <string.h> in DJGPP.
2289
2290 src/xz/suffix.c | 3 +++
2291 1 file changed, 3 insertions(+)
2292
2293commit aea639e81beb548e3114c74b6d9a894d6e036189
2294Author: Jia Tan <jiat0218@gmail.com>
2295Date:   2023-01-11 22:46:48 +0800
2296
2297    xz: Fix warning -Wformat-nonliteral on clang in message.c.
2298
2299    clang and gcc differ in how they handle -Wformat-nonliteral. gcc will
2300    allow a non-literal format string as long as the function takes its
2301    format arguments as a va_list.
2302
2303 src/xz/message.c | 9 +++++++++
2304 1 file changed, 9 insertions(+)
2305
2306commit e3b42bfcb0f67988beee7c7022fed0361282be45
2307Author: Jia Tan <jiat0218@gmail.com>
2308Date:   2023-01-11 20:58:31 +0800
2309
2310    Tests: Fix test_filter_flags copy/paste error.
2311
2312 tests/test_filter_flags.c | 4 ++--
2313 1 file changed, 2 insertions(+), 2 deletions(-)
2314
2315commit 21625b7e11d004788e40eb5eb88d9d89f65fe347
2316Author: Jia Tan <jiat0218@gmail.com>
2317Date:   2023-01-11 20:42:29 +0800
2318
2319    Tests: Fix type-limits warning in test_filter_flags.
2320
2321    This only occurs in test_filter_flags when the BCJ filters are not
2322    configured and built. In this case, ARRAY_SIZE() returns 0 and causes a
2323    type-limits warning with the loop variable since an unsigned number will
2324    always be >= 0.
2325
2326 tests/test_filter_flags.c | 13 ++++++++++---
2327 1 file changed, 10 insertions(+), 3 deletions(-)
2328
2329commit c337983e928682d56ce3470b286a8d5b8646e0ad
2330Author: Lasse Collin <lasse.collin@tukaani.org>
2331Date:   2023-01-10 22:14:03 +0200
2332
2333    liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt.
2334
2335    This affects only 32-bit x86 builds. x86-64 is OK as is.
2336
2337    I still cannot easily test this myself. The reporter has tested
2338    this and it passes the tests included in the CMake build and
2339    performance is good: raw CRC64 is 2-3 times faster than the
2340    C version of the slice-by-four method. (Note that liblzma doesn't
2341    include a MSVC-compatible version of the 32-bit x86 assembly code
2342    for the slice-by-four method.)
2343
2344    Thanks to Iouri Kharon for figuring out a fix, testing, and
2345    benchmarking.
2346
2347 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++
2348 1 file changed, 18 insertions(+)
2349
2350commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7
2351Author: Jia Tan <jiat0218@gmail.com>
2352Date:   2023-01-11 01:18:50 +0800
2353
2354    Tests: Fix unused function warning in test_block_header.
2355
2356    One of the global arrays of filters was only used in a test that
2357    required both encoders and decoders to be configured in the build.
2358
2359 tests/test_block_header.c | 4 ++++
2360 1 file changed, 4 insertions(+)
2361
2362commit 68e9ef036d18d7c3952bff0b391d5989b86934da
2363Author: Jia Tan <jiat0218@gmail.com>
2364Date:   2023-01-11 01:08:03 +0800
2365
2366    Tests: Fix unused function warning in test_index_hash.
2367
2368    test_index_hash does not use fill_index_hash() unless both encoders
2369    and decoders are configured in the build.
2370
2371 tests/test_index_hash.c | 4 +---
2372 1 file changed, 1 insertion(+), 3 deletions(-)
2373
2374commit a387707cd8cdefbffb5b7429bda4b7fcc192954a
2375Author: Lasse Collin <lasse.collin@tukaani.org>
2376Date:   2023-01-10 00:33:14 +0200
2377
2378    Windows: Update INSTALL-MSVC.txt to recommend CMake over project files.
2379
2380 windows/INSTALL-MSVC.txt | 19 ++++++++++++-------
2381 1 file changed, 12 insertions(+), 7 deletions(-)
2382
2383commit 52902ad69518255a14b0144f0a2379e06fde5b6e
2384Author: Lasse Collin <lasse.collin@tukaani.org>
2385Date:   2023-01-10 12:47:16 +0200
2386
2387    Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)."
2388
2389    This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5.
2390
2391    It was reported that it wasn't a good enough fix and MSVC
2392    still produced (different kind of) bad code when building
2393    for 32-bit x86 if optimizations are enabled.
2394
2395    Thanks to Iouri Kharon.
2396
2397 src/liblzma/check/crc64_fast.c | 6 ------
2398 1 file changed, 6 deletions(-)
2399
2400commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496
2401Author: Lasse Collin <lasse.collin@tukaani.org>
2402Date:   2023-01-10 10:05:13 +0200
2403
2404    sysdefs.h: Fix a comment.
2405
2406 src/common/sysdefs.h | 2 +-
2407 1 file changed, 1 insertion(+), 1 deletion(-)
2408
2409commit 6e89ab58b031aa046308a0b3504ff0a5be042571
2410Author: Lasse Collin <lasse.collin@tukaani.org>
2411Date:   2023-01-10 10:04:06 +0200
2412
2413    sysdefs.h: Don't include memory.h anymore even if it were available.
2414
2415    It quite probably was never needed, that is, any system where memory.h
2416    was required likely couldn't compile XZ Utils for other reasons anyway.
2417
2418    XZ Utils 5.2.6 and later source packages were generated using
2419    Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code
2420    being removed is no longer used anyway.
2421
2422 src/common/sysdefs.h | 8 ++------
2423 1 file changed, 2 insertions(+), 6 deletions(-)
2424
2425commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123
2426Author: Lasse Collin <lasse.collin@tukaani.org>
2427Date:   2023-01-10 08:50:26 +0200
2428
2429    CMake/Windows: Add a workaround for windres from GNU binutils.
2430
2431    This is combined from the following commits in the master branch:
2432    443dfebced041adc88f10d824188eeef5b5821a9
2433    6b117d3b1fe91eb26d533ab16a2e552f84148d47
2434    5e34774c31d1b7509b5cb77a3be9973adec59ea0
2435
2436    Thanks to Iouri Kharon for the bug report, the original patch,
2437    and testing.
2438
2439 CMakeLists.txt | 32 +++++++++++++++++++++++++++++++-
2440 1 file changed, 31 insertions(+), 1 deletion(-)
2441
2442commit 43521e77acc907863fa4f94aae276366172cb9ee
2443Author: Lasse Collin <lasse.collin@tukaani.org>
2444Date:   2023-01-06 22:53:38 +0200
2445
2446    Tests: test_filter_flags: Clean up minor issues.
2447
2448    Here are the list of the most significant issues addressed:
2449    - Avoid using internal common.h header. It's not good to copy the
2450    constants like this but common.h cannot be included for use outside
2451    of liblzma. This is the quickest thing to do that could be fixed later.
2452
2453    - Omit the INIT_FILTER macro. Initialization should be done with just
2454    regular designated initializers.
2455
2456    - Use start_offset = 257 for BCJ tests. It demonstrates that Filter
2457    Flags encoder and decoder don't validate the options thoroughly.
2458    257 is valid only for the x86 filter. This is a bit silly but
2459    not a significant problem in practice because the encoder and
2460    decoder initialization functions will catch bad alignment still.
2461    Perhaps this should be fixed but it's not urgent and doesn't need
2462    to be in 5.4.x.
2463
2464    - Various tweaks to comments such as filter id -> Filter ID
2465
2466 tests/test_filter_flags.c | 153 +++++++++++++++++++++++-----------------------
2467 1 file changed, 78 insertions(+), 75 deletions(-)
2468
2469commit 6b44cead95d767414272dc3a67898a36bfdf95b3
2470Author: Jia Tan <jiat0218@gmail.com>
2471Date:   2022-12-29 23:33:33 +0800
2472
2473    Tests: Refactors existing filter flags tests.
2474
2475    Converts the existing filter flags tests into tuktests.
2476
2477 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++--------------
2478 1 file changed, 457 insertions(+), 198 deletions(-)
2479
2480commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7
2481Author: Lasse Collin <lasse.collin@tukaani.org>
2482Date:   2023-01-08 00:32:29 +0200
2483
2484    Tests: tuktest.h: Support tuktest_malloc(0).
2485
2486    It's not needed in XZ Utils at least for now. It's good to support
2487    it still because if such use is needed later, it wouldn't be
2488    caught on GNU/Linux since malloc(0) from glibc returns non-NULL.
2489
2490 tests/tuktest.h | 4 ++--
2491 1 file changed, 2 insertions(+), 2 deletions(-)
2492
2493commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee
2494Author: Lasse Collin <lasse.collin@tukaani.org>
2495Date:   2023-01-07 21:57:11 +0200
2496
2497    CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25.
2498
2499    The changes listed on cmake-policies(7) for versions 3.17 to 3.25
2500    shouldn't affect this project.
2501
2502 CMakeLists.txt | 2 +-
2503 1 file changed, 1 insertion(+), 1 deletion(-)
2504
2505commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2
2506Author: Lasse Collin <lasse.collin@tukaani.org>
2507Date:   2023-01-08 00:24:23 +0200
2508
2509    Update THANKS.
2510
2511 THANKS | 1 +
2512 1 file changed, 1 insertion(+)
2513
2514commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab
2515Author: Lasse Collin <lasse.collin@tukaani.org>
2516Date:   2023-01-07 19:50:35 +0200
2517
2518    Update THANKS.
2519
2520 THANKS | 1 +
2521 1 file changed, 1 insertion(+)
2522
2523commit 3d45987451b1c3bb42697b29341824c0e5484cba
2524Author: Lasse Collin <lasse.collin@tukaani.org>
2525Date:   2023-01-09 11:27:24 +0200
2526
2527    CMake: Fix a copypaste error in xzdec Windows resource file handling.
2528
2529    It was my mistake. Thanks to Iouri Kharon for the bug report.
2530
2531 CMakeLists.txt | 4 ++--
2532 1 file changed, 2 insertions(+), 2 deletions(-)
2533
2534commit 706bce5018d7cf83094e13454a0731169ec119b5
2535Author: Lasse Collin <lasse.collin@tukaani.org>
2536Date:   2023-01-07 19:50:03 +0200
2537
2538    CMake/Windows: Add resource files to xz.exe and xzdec.exe.
2539
2540    The command line tools cannot be built with MSVC for now but
2541    they can be built with MinGW-w64.
2542
2543    Thanks to Iouri Kharon for the bug report and the original patch.
2544
2545 CMakeLists.txt | 16 ++++++++++++++++
2546 1 file changed, 16 insertions(+)
2547
2548commit e96dee55df04113c33b387ccdb6cb70935422d91
2549Author: Lasse Collin <lasse.collin@tukaani.org>
2550Date:   2023-01-09 12:22:05 +0200
2551
2552    liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022).
2553
2554    I haven't tested with MSVC myself and there doesn't seem to be
2555    information about the problem online, so I'm relying on the bug report.
2556
2557    Thanks to Iouri Kharon for the bug report and the patch.
2558
2559 src/liblzma/check/crc64_fast.c | 6 ++++++
2560 1 file changed, 6 insertions(+)
2561
2562commit 52bc1ee34dda9bb6fb40175e5952863066681b77
2563Author: Lasse Collin <lasse.collin@tukaani.org>
2564Date:   2023-01-07 19:31:15 +0200
2565
2566    Build: Require that _mm_set_epi64x() is usable to enable CLMUL support.
2567
2568    VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets
2569    disabled with VS2013.
2570
2571    Thanks to Iouri Kharon for the bug report.
2572
2573 CMakeLists.txt | 3 ++-
2574 configure.ac   | 8 ++++++--
2575 2 files changed, 8 insertions(+), 3 deletions(-)
2576
2577commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa
2578Author: Jia Tan <jiat0218@gmail.com>
2579Date:   2022-12-29 00:25:18 +0800
2580
2581    Tests: Creates test_index_hash.c
2582
2583    Tests all API functions exported from index_hash.h. Does not have a
2584    dedicated test for lzma_index_hash_end.
2585
2586    [Minor edits were made by Lasse Collin.]
2587
2588 .gitignore              |   1 +
2589 CMakeLists.txt          |   2 +
2590 tests/Makefile.am       |   3 +
2591 tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++
2592 4 files changed, 394 insertions(+)
2593
2594commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1
2595Author: Jia Tan <jiat0218@gmail.com>
2596Date:   2023-01-05 20:57:25 +0800
2597
2598    liblzma: Remove common.h include from common/index.h.
2599
2600    common/index.h is needed by liblzma internally and tests. common.h will
2601    include and define many things that are not needed by the tests.
2602
2603    Also, this prevents include order problems because both common.h and
2604    lzma.h define LZMA_API. On most platforms it results only in a warning
2605    but on Windows it would break the build as the definition in common.h
2606    must be used only for building liblzma itself.
2607
2608 src/liblzma/common/index.c                 | 1 +
2609 src/liblzma/common/index.h                 | 9 +++++++--
2610 src/liblzma/common/index_decoder.h         | 1 +
2611 src/liblzma/common/stream_buffer_encoder.c | 1 +
2612 4 files changed, 10 insertions(+), 2 deletions(-)
2613
2614commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb
2615Author: Jia Tan <jiat0218@gmail.com>
2616Date:   2022-08-17 20:20:16 +0800
2617
2618    liblzma: Add NULL check to lzma_index_hash_append.
2619
2620    This is for consistency with lzma_index_append.
2621
2622 src/liblzma/common/index_hash.c | 2 +-
2623 1 file changed, 1 insertion(+), 1 deletion(-)
2624
2625commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc
2626Author: Jia Tan <jiat0218@gmail.com>
2627Date:   2022-08-17 17:59:51 +0800
2628
2629    liblzma: Replaced hardcoded 0x0 index indicator byte with macro
2630
2631 src/liblzma/common/index.h             | 3 +++
2632 src/liblzma/common/index_decoder.c     | 2 +-
2633 src/liblzma/common/index_encoder.c     | 2 +-
2634 src/liblzma/common/index_hash.c        | 2 +-
2635 src/liblzma/common/stream_decoder.c    | 3 ++-
2636 src/liblzma/common/stream_decoder_mt.c | 2 +-
2637 6 files changed, 9 insertions(+), 5 deletions(-)
2638
2639commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6
2640Author: Jia Tan <jiat0218@gmail.com>
2641Date:   2023-01-06 20:43:31 +0800
2642
2643    Style: Change #if !defined() to #ifndef in mythread.h.
2644
2645 src/common/mythread.h | 2 +-
2646 1 file changed, 1 insertion(+), 1 deletion(-)
2647
2648commit 3f0130aa288e4ed57ace609517db9700a41223af
2649Author: Jia Tan <jiat0218@gmail.com>
2650Date:   2023-01-06 20:35:55 +0800
2651
2652    Build: Add missing stream_decoder_mt.c to .vcxproj files.
2653
2654    The line in the .vcxproj files for building with was missing in 5.4.0.
2655    Thank to Hajin Jang for reporting the issue.
2656
2657 windows/vs2013/liblzma.vcxproj     | 1 +
2658 windows/vs2013/liblzma_dll.vcxproj | 1 +
2659 windows/vs2017/liblzma.vcxproj     | 1 +
2660 windows/vs2017/liblzma_dll.vcxproj | 1 +
2661 windows/vs2019/liblzma.vcxproj     | 1 +
2662 windows/vs2019/liblzma_dll.vcxproj | 1 +
2663 6 files changed, 6 insertions(+)
2664
2665commit f204d1050a515d17851eed9049862ce5a9c729c1
2666Author: Lasse Collin <lasse.collin@tukaani.org>
2667Date:   2023-01-04 22:40:54 +0200
2668
2669    Update THANKS.
2670
2671 THANKS | 1 +
2672 1 file changed, 1 insertion(+)
2673
2674commit 34a9c2d650d6c30bd88e1b21910dd863209aa884
2675Author: Lasse Collin <lasse.collin@tukaani.org>
2676Date:   2023-01-04 18:40:28 +0200
2677
2678    Tests: Adjust style in test_compress.sh.
2679
2680 tests/test_compress.sh | 12 +++++++-----
2681 1 file changed, 7 insertions(+), 5 deletions(-)
2682
2683commit 761c208d58e0c3daa0f46e68b406adfc318d2a46
2684Author: Jia Tan <jiat0218@gmail.com>
2685Date:   2023-01-04 23:58:58 +0800
2686
2687    Tests: Replace non portable shell parameter expansion
2688
2689    The shell parameter expansion using # and ## is not supported in
2690    Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully
2691    portable, so we should avoid it.
2692
2693 tests/create_compress_files.c          |  2 +-
2694 tests/test_compress.sh                 | 20 +++++++++++++-------
2695 tests/test_compress_prepared_bcj_sparc |  2 +-
2696 tests/test_compress_prepared_bcj_x86   |  2 +-
2697 4 files changed, 16 insertions(+), 10 deletions(-)
2698
2699commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4
2700Author: Jia Tan <jiat0218@gmail.com>
2701Date:   2023-01-03 21:02:38 +0800
2702
2703    Translations: Add Korean translation of man pages.
2704
2705    Thanks to Seong-ho Cho
2706
2707 po4a/ko.po     | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2708 po4a/po4a.conf |    2 +-
2709 2 files changed, 5553 insertions(+), 1 deletion(-)
2710
2711commit ca2af49bb8be5995eb0e6a3abf457622626d49a7
2712Author: Jia Tan <jiat0218@gmail.com>
2713Date:   2023-01-03 20:47:27 +0800
2714
2715    Translations: Update the Esperanto translation.
2716
2717 po/eo.po | 620 ++++++++++++++++++++++++++++++++++-----------------------------
2718 1 file changed, 332 insertions(+), 288 deletions(-)
2719
2720commit bfba3394aed03311fe9a746d3141b2e16d8b9325
2721Author: Lasse Collin <lasse.collin@tukaani.org>
2722Date:   2023-01-02 17:05:07 +0200
2723
2724    Build: Fix config.h comments.
2725
2726 configure.ac          | 2 +-
2727 m4/tuklib_progname.m4 | 2 +-
2728 2 files changed, 2 insertions(+), 2 deletions(-)
2729
2730commit 507648ad114c2ae0cd6d181063e1ac07e8106718
2731Author: Jia Tan <jiat0218@gmail.com>
2732Date:   2023-01-02 22:33:48 +0800
2733
2734    Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1.
2735
2736    HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to
2737    HAVE_PROGRAM_INVOCATION_NAME. Previously,
2738    HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when
2739    building with autotools. CMake would only set this when it was 1, and the
2740    dos/config.h did not define it. The new macro definition is consistent
2741    across build systems.
2742
2743 cmake/tuklib_progname.cmake  | 5 ++---
2744 m4/tuklib_progname.m4        | 5 ++++-
2745 src/common/tuklib_progname.c | 2 +-
2746 src/common/tuklib_progname.h | 2 +-
2747 4 files changed, 8 insertions(+), 6 deletions(-)
2748
2749commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5
2750Author: Lasse Collin <lasse.collin@tukaani.org>
2751Date:   2022-12-30 20:10:08 +0200
2752
2753    Tests: test_check: Test corner cases of CLMUL CRC64.
2754
2755 tests/test_check.c | 27 +++++++++++++++++++++++++++
2756 1 file changed, 27 insertions(+)
2757
2758commit 8791826f31733fda0a13b411c2ed930faaeb25aa
2759Author: Lasse Collin <lasse.collin@tukaani.org>
2760Date:   2022-12-30 19:36:49 +0200
2761
2762    Tests: Clarify a comment in test_lzip_decoder.c.
2763
2764 tests/test_lzip_decoder.c | 8 ++++++--
2765 1 file changed, 6 insertions(+), 2 deletions(-)
2766
2767commit c410d812ea12bfc74f6b727c1a799478c79f19ca
2768Author: Jia Tan <jiat0218@gmail.com>
2769Date:   2022-12-29 01:55:19 +0800
2770
2771    xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c.
2772
2773    Previously, mytime.c depended on mythread.h for <time.h> to be included.
2774
2775 src/xz/mytime.c | 4 +++-
2776 1 file changed, 3 insertions(+), 1 deletion(-)
2777
2778commit 501c6013d4a59fae5d4368e9657c4885493db809
2779Author: Jia Tan <jiat0218@gmail.com>
2780Date:   2022-12-29 01:15:27 +0800
2781
2782    liblzma: Includes sys/time.h conditionally in mythread
2783
2784    Previously, <sys/time.h> was always included, even if mythread only used
2785    clock_gettime. <time.h> is still needed even if clock_gettime is not used
2786    though because struct timespec is needed for mythread_condtime.
2787
2788 src/common/mythread.h | 8 +++++++-
2789 1 file changed, 7 insertions(+), 1 deletion(-)
2790
2791commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f
2792Author: Jia Tan <jiat0218@gmail.com>
2793Date:   2022-12-29 01:10:53 +0800
2794
2795    Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set.
2796
2797    Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always
2798    be set to 0 or 1. However, this macro was needed in xz so if xz was not
2799    built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but
2800    HAVE_CLOCK_GETTIME was, it caused a warning during build. Now,
2801    HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and
2802    will only be set if it is 1.
2803
2804 CMakeLists.txt        | 8 +++-----
2805 configure.ac          | 5 ++++-
2806 src/common/mythread.h | 4 ++--
2807 src/xz/mytime.c       | 5 ++---
2808 4 files changed, 11 insertions(+), 11 deletions(-)
2809
2810commit 6fc3e5467911572fa9af4021ea46396261aae796
2811Author: Jia Tan <jiat0218@gmail.com>
2812Date:   2022-12-28 01:14:07 +0800
2813
2814    Translations: Add Ukrainian translations of man pages.
2815
2816    Thanks to Yuri Chornoivan
2817
2818 po4a/po4a.conf |    2 +-
2819 po4a/uk.po     | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2820 2 files changed, 3677 insertions(+), 1 deletion(-)
2821
2822commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e
2823Author: Jia Tan <jiat0218@gmail.com>
2824Date:   2022-12-22 23:14:53 +0800
2825
2826    liblzma: Update documentation for lzma_filter_encoder.
2827
2828 src/liblzma/common/filter_encoder.c | 7 +++++--
2829 1 file changed, 5 insertions(+), 2 deletions(-)
2830
2831commit b14b8dbba9a3b232787ae218b46430b9246383dd
2832Author: Jia Tan <jiat0218@gmail.com>
2833Date:   2022-12-21 21:12:03 +0800
2834
2835    Tests: Adds lzip decoder tests
2836
2837 .gitignore                |   1 +
2838 tests/Makefile.am         |   2 +
2839 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++
2840 3 files changed, 474 insertions(+)
2841
2842commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710
2843Author: Jia Cheong Tan <jiat0218@gmail.com>
2844Date:   2022-12-20 22:05:21 +0800
2845
2846    Doxygen: Update .gitignore for generating docs for in source build.
2847
2848    In source builds are not recommended, but we should still ignore
2849    the generated artifacts.
2850
2851 .gitignore | 2 ++
2852 1 file changed, 2 insertions(+)
2853
2854commit d3e6fe44196bf9478ad193522e2b48febf2eca6b
2855Author: Jia Tan <jiat0218@gmail.com>
2856Date:   2022-12-20 20:46:44 +0800
2857
2858    liblzma: Fix lzma_microlzma_encoder() return value.
2859
2860    Using return_if_error on lzma_lzma_lclppb_encode was improper because
2861    return_if_error is expecting an lzma_ret value, but
2862    lzma_lzma_lclppb_encode returns a boolean. This could result in
2863    lzma_microlzma_encoder, which would be misleading for applications.
2864
2865 src/liblzma/common/microlzma_encoder.c | 3 ++-
2866 1 file changed, 2 insertions(+), 1 deletion(-)
2867
2868commit b55a27b46f52524a4a8d9cdef03e6689cefc1375
2869Author: Lasse Collin <lasse.collin@tukaani.org>
2870Date:   2022-12-16 18:30:02 +0200
2871
2872    liblzma: Update authors list in arm64.c.
2873
2874 src/liblzma/simple/arm64.c | 1 +
2875 1 file changed, 1 insertion(+)
2876
2877commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d
2878Author: Jia Tan <jiat0218@gmail.com>
2879Date:   2022-12-16 20:58:55 +0800
2880
2881    CMake: Update .gitignore for CMake artifacts from in source build.
2882
2883    In source builds are not recommended, but we can make it easier
2884    by ignoring the generated artifacts from CMake.
2885
2886 .gitignore | 23 +++++++++++++++++++++++
2887 1 file changed, 23 insertions(+)
2888
2889commit b69da6d4bb6bb11fc0cf066920791990d2b22a06
2890Author: Lasse Collin <lasse.collin@tukaani.org>
2891Date:   2022-12-13 20:37:17 +0200
2892
2893    Bump version to 5.4.0 and soname to 5.4.0.
2894
2895 src/liblzma/Makefile.am         | 2 +-
2896 src/liblzma/api/lzma/version.h  | 6 +++---
2897 src/liblzma/liblzma_generic.map | 2 +-
2898 src/liblzma/liblzma_linux.map   | 2 +-
2899 4 files changed, 6 insertions(+), 6 deletions(-)
2900
2901commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19
2902Author: Lasse Collin <lasse.collin@tukaani.org>
2903Date:   2022-12-13 20:29:39 +0200
2904
2905    Update INSTALL: CMake on Windows isn't experimental anymore.
2906
2907    Using CMake to build liblzma should work on a few other OSes
2908    but building the command line tools is still subtly broken.
2909
2910    It is known that shared library versioning may differ between
2911    CMake and Libtool builds on some OSes, most notably Darwin.
2912
2913 INSTALL | 10 ++++------
2914 1 file changed, 4 insertions(+), 6 deletions(-)
2915
2916commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852
2917Author: Lasse Collin <lasse.collin@tukaani.org>
2918Date:   2022-12-13 19:47:53 +0200
2919
2920    Add NEWS for 5.4.0.
2921
2922 NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2923 1 file changed, 202 insertions(+)
2924
2925commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14
2926Author: Lasse Collin <lasse.collin@tukaani.org>
2927Date:   2022-12-13 17:41:20 +0200
2928
2929    Fix a typo in NEWS.
2930
2931 NEWS | 2 +-
2932 1 file changed, 1 insertion(+), 1 deletion(-)
2933
2934commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245
2935Author: Lasse Collin <lasse.collin@tukaani.org>
2936Date:   2022-12-13 17:41:03 +0200
2937
2938    Add NEWS for 5.2.10.
2939
2940 NEWS | 12 ++++++++++++
2941 1 file changed, 12 insertions(+)
2942
2943commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6
2944Author: Lasse Collin <lasse.collin@tukaani.org>
2945Date:   2022-12-13 12:30:45 +0200
2946
2947    Tests: Fix a typo in tests/files/README.
2948
2949 tests/files/README | 2 +-
2950 1 file changed, 1 insertion(+), 1 deletion(-)
2951
2952commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5
2953Author: Lasse Collin <lasse.collin@tukaani.org>
2954Date:   2022-12-13 12:30:09 +0200
2955
2956    Tests: Add two ARM64 test files.
2957
2958 tests/files/README                  |   7 +++++++
2959 tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes
2960 tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes
2961 tests/test_files.sh                 |   5 +++++
2962 4 files changed, 12 insertions(+)
2963
2964commit f5e419550619c548c7c35d7e367cf00580a56521
2965Author: Lasse Collin <lasse.collin@tukaani.org>
2966Date:   2022-12-12 22:44:21 +0200
2967
2968    Translations: Update the Catalan translation.
2969
2970 po/ca.po | 657 +++++++++++++++++++++++++++++----------------------------------
2971 1 file changed, 306 insertions(+), 351 deletions(-)
2972
2973commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8
2974Author: Lasse Collin <lasse.collin@tukaani.org>
2975Date:   2022-12-12 19:18:12 +0200
2976
2977    Update THANKS.
2978
2979 THANKS | 1 +
2980 1 file changed, 1 insertion(+)
2981
2982commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc
2983Author: Lasse Collin <lasse.collin@tukaani.org>
2984Date:   2022-12-12 19:07:58 +0200
2985
2986    Update AUTHORS.
2987
2988 AUTHORS | 12 ++++++++++++
2989 1 file changed, 12 insertions(+)
2990
2991commit f2d98e691099d82054d5f3071ef6f5e809932e44
2992Author: Lasse Collin <lasse.collin@tukaani.org>
2993Date:   2022-12-12 15:31:14 +0200
2994
2995    Docs: Omit multi-threaded decompress from TODO.
2996
2997    The TODO file outdated still.
2998
2999 TODO | 2 --
3000 1 file changed, 2 deletions(-)
3001
3002commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da
3003Author: Lasse Collin <lasse.collin@tukaani.org>
3004Date:   2022-12-11 21:16:09 +0200
3005
3006    Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter.
3007
3008 doc/xz-file-format.txt | 29 ++++++++++++++++++++++-------
3009 1 file changed, 22 insertions(+), 7 deletions(-)
3010
3011commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f
3012Author: Lasse Collin <lasse.collin@tukaani.org>
3013Date:   2022-12-11 21:13:57 +0200
3014
3015    xz: Rename --experimental-arm64 to --arm64.
3016
3017 src/xz/args.c | 2 +-
3018 1 file changed, 1 insertion(+), 1 deletion(-)
3019
3020commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5
3021Author: Lasse Collin <lasse.collin@tukaani.org>
3022Date:   2022-12-11 21:13:06 +0200
3023
3024    liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A.
3025
3026 src/liblzma/api/lzma/bcj.h | 6 +-----
3027 1 file changed, 1 insertion(+), 5 deletions(-)
3028
3029commit 01b3549e523edac899ec4925b282ceddd20da116
3030Author: Lasse Collin <lasse.collin@tukaani.org>
3031Date:   2022-12-08 19:24:22 +0200
3032
3033    xz: Make args_info.files_name a const pointer.
3034
3035 src/xz/args.c | 2 +-
3036 src/xz/args.h | 2 +-
3037 2 files changed, 2 insertions(+), 2 deletions(-)
3038
3039commit bc665b84ea6bf7946394a08122177efe41b26a5f
3040Author: Lasse Collin <lasse.collin@tukaani.org>
3041Date:   2022-12-08 19:18:16 +0200
3042
3043    xz: Don't modify argv[].
3044
3045    The code that parses --memlimit options and --block-list modified
3046    the argv[] when parsing the option string from optarg. This was
3047    visible in "ps auxf" and such and could be confusing. I didn't
3048    understand it back in the day when I wrote that code. Now a copy
3049    is allocated when modifiable strings are needed.
3050
3051 src/xz/args.c | 23 +++++++++++++++++++----
3052 1 file changed, 19 insertions(+), 4 deletions(-)
3053
3054commit a13064e1c290de7933db72b6dffbd65cfce59c9f
3055Author: Lasse Collin <lasse.collin@tukaani.org>
3056Date:   2022-12-08 18:18:57 +0200
3057
3058    Translations: Update the German man page translations.
3059
3060 po4a/de.po | 4570 ++++++++++++++++++------------------------------------------
3061 1 file changed, 1374 insertions(+), 3196 deletions(-)
3062
3063commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a
3064Author: Jia Tan <jiat0218@gmail.com>
3065Date:   2022-12-06 23:05:56 +0800
3066
3067    Translations: Update the German translation.
3068
3069 po/de.po | 586 ++++++++++++++++++++++++++++++++++-----------------------------
3070 1 file changed, 315 insertions(+), 271 deletions(-)
3071
3072commit 5c304b57c24ef40ff57f864301065f0244c05bde
3073Author: Jia Tan <jiat0218@gmail.com>
3074Date:   2022-12-06 23:04:25 +0800
3075
3076    Translations: Update the Turkish translation.
3077
3078 po/tr.po | 221 +++++++++++++++++++++++++++++++--------------------------------
3079 1 file changed, 108 insertions(+), 113 deletions(-)
3080
3081commit 6d86781fdb937970486500447ebb49b98244235b
3082Author: Jia Tan <jiat0218@gmail.com>
3083Date:   2022-12-06 23:02:11 +0800
3084
3085    Translations: Update the Croatian translation.
3086
3087 po/hr.po | 228 +++++++++++++++++++++++++++++++--------------------------------
3088 1 file changed, 113 insertions(+), 115 deletions(-)
3089
3090commit 7a5b4b8075eb36026b1796f04ffed5830c42396a
3091Author: Jia Tan <jiat0218@gmail.com>
3092Date:   2022-12-06 22:56:30 +0800
3093
3094    Translations: Add Romanian translation of man pages.
3095
3096    Thanks to Remus-Gabriel Chelu.
3097
3098 po4a/po4a.conf |    2 +-
3099 po4a/ro.po     | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3100 2 files changed, 3693 insertions(+), 1 deletion(-)
3101
3102commit c6977e7400088177556e8771bcb839eb7d90caa3
3103Author: Jia Tan <jiat0218@gmail.com>
3104Date:   2022-12-06 22:52:13 +0800
3105
3106    Translations: Update the Romanian translation.
3107
3108 po/ro.po | 294 +++++++++++++++++++++++++++++++--------------------------------
3109 1 file changed, 147 insertions(+), 147 deletions(-)
3110
3111commit ac2a747e939c2cbccff7a49c399769af5e02d2ab
3112Author: Lasse Collin <lasse.collin@tukaani.org>
3113Date:   2022-12-08 17:30:09 +0200
3114
3115    liblzma: Check for unexpected NULL pointers in block_header_decode().
3116
3117    The API docs gave an impression that such checks are done
3118    but they actually weren't done. In practice it made little
3119    difference since the calling code has a bug if these are NULL.
3120
3121    Thanks to Jia Tan for the original patch that checked for
3122    block->filters == NULL.
3123
3124 src/liblzma/common/block_header_decoder.c | 4 ++++
3125 1 file changed, 4 insertions(+)
3126
3127commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25
3128Author: Lasse Collin <lasse.collin@tukaani.org>
3129Date:   2022-12-01 20:59:32 +0200
3130
3131    Bump version number for 5.3.5beta.
3132
3133    This also sorts the symbol names alphabetically in liblzma_*.map.
3134
3135 src/liblzma/api/lzma/version.h  |  4 ++--
3136 src/liblzma/liblzma_generic.map | 10 +++++-----
3137 src/liblzma/liblzma_linux.map   | 10 +++++-----
3138 3 files changed, 12 insertions(+), 12 deletions(-)
3139
3140commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa
3141Author: Lasse Collin <lasse.collin@tukaani.org>
3142Date:   2022-12-01 20:57:26 +0200
3143
3144    Add NEWS for 5.3.5beta.
3145
3146 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
3147 1 file changed, 43 insertions(+)
3148
3149commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e
3150Author: Lasse Collin <lasse.collin@tukaani.org>
3151Date:   2022-12-01 20:57:09 +0200
3152
3153    Update THANKS.
3154
3155 THANKS | 3 +++
3156 1 file changed, 3 insertions(+)
3157
3158commit 62b270988ec67314d69976df484d2974c6eacfda
3159Author: Lasse Collin <lasse.collin@tukaani.org>
3160Date:   2022-12-01 20:04:17 +0200
3161
3162    liblzma: Use __has_attribute(__symver__) to fix Clang detection.
3163
3164    If someone sets up Clang to define __GNUC__ to 10 or greater
3165    then symvers broke. __has_attribute is supported by such GCC
3166    and Clang versions that don't support __symver__ so this should
3167    be much better and simpler way to detect if __symver__ is
3168    actually supported.
3169
3170    Thanks to Tomasz Gajc for the bug report.
3171
3172 src/liblzma/common/common.h | 15 ++++++++++++++-
3173 1 file changed, 14 insertions(+), 1 deletion(-)
3174
3175commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb
3176Author: Lasse Collin <lasse.collin@tukaani.org>
3177Date:   2022-12-01 18:51:52 +0200
3178
3179    liblzma: Omit zero-skipping from ARM64 filter.
3180
3181    It has some complicated downsides and its usefulness is more limited
3182    than I originally thought. So this change is bad for certain very
3183    specific situations but a generic solution that works for other
3184    filters (and is otherwise better too) is planned anyway. And this
3185    way 7-Zip can use the same compatible filter for the .7z format.
3186
3187    This is still marked as experimental with a new temporary Filter ID.
3188
3189 src/liblzma/api/lzma/bcj.h |  2 +-
3190 src/liblzma/simple/arm64.c | 81 +++++++++++++---------------------------------
3191 2 files changed, 24 insertions(+), 59 deletions(-)
3192
3193commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b
3194Author: Lasse Collin <lasse.collin@tukaani.org>
3195Date:   2022-12-01 18:13:27 +0200
3196
3197    xz: Omit the special notes about ARM64 filter on the man page.
3198
3199 src/xz/xz.1 | 5 ++---
3200 1 file changed, 2 insertions(+), 3 deletions(-)
3201
3202commit 0c3627b51862eb0dcdd4fc283d046250571991c6
3203Author: Lasse Collin <lasse.collin@tukaani.org>
3204Date:   2022-12-01 18:12:03 +0200
3205
3206    liblzma: Don't be over-specific in lzma_str_to_filters API doc.
3207
3208 src/liblzma/api/lzma/filter.h | 3 +--
3209 1 file changed, 1 insertion(+), 2 deletions(-)
3210
3211commit 94adf057f27b1970f493dc99cd166407d7255639
3212Author: Lasse Collin <lasse.collin@tukaani.org>
3213Date:   2022-12-01 17:54:23 +0200
3214
3215    liblzma: Silence unused variable warning when BCJ filters are disabled.
3216
3217    Thanks to Jia Tan for the original patch.
3218
3219 src/liblzma/common/string_conversion.c | 15 +++++++++++++++
3220 1 file changed, 15 insertions(+)
3221
3222commit c68af4441744e5ffc41a472e1be9c9d53a1d9780
3223Author: Lasse Collin <lasse.collin@tukaani.org>
3224Date:   2022-12-01 17:38:03 +0200
3225
3226    Translations: Update the Chinese (simplified) translation.
3227
3228 po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++--------------------------
3229 1 file changed, 348 insertions(+), 260 deletions(-)
3230
3231commit 3be6942e5c27d29995d41da52fbe274e4ce4a537
3232Author: Lasse Collin <lasse.collin@tukaani.org>
3233Date:   2022-11-30 18:55:03 +0200
3234
3235    Add NEWS for 5.2.9.
3236
3237 NEWS | 34 ++++++++++++++++++++++++++++++++++
3238 1 file changed, 34 insertions(+)
3239
3240commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d
3241Author: Jia Tan <jiat0218@gmail.com>
3242Date:   2022-11-30 23:33:08 +0800
3243
3244    xz: Remove message_filters_to_str function prototype from message.h.
3245
3246    This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b.
3247
3248 src/xz/message.h | 16 ----------------
3249 1 file changed, 16 deletions(-)
3250
3251commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7
3252Author: Lasse Collin <lasse.collin@tukaani.org>
3253Date:   2022-11-30 18:08:34 +0200
3254
3255    Change the bug report address.
3256
3257    It forwards to me and Jia Tan.
3258
3259    Also update the IRC reference in README as #tukaani was moved
3260    to Libera Chat long ago.
3261
3262 CMakeLists.txt             |  2 +-
3263 README                     | 11 +++++------
3264 configure.ac               |  2 +-
3265 dos/config.h               |  2 +-
3266 windows/README-Windows.txt |  2 +-
3267 5 files changed, 9 insertions(+), 10 deletions(-)
3268
3269commit c21983c76031e01da01ad3c6cc716fe4b8a75070
3270Author: Lasse Collin <lasse.collin@tukaani.org>
3271Date:   2022-11-30 17:50:17 +0200
3272
3273    Build: Add string_conversion.c to CMake, DOS, and VS files.
3274
3275 CMakeLists.txt                     | 1 +
3276 dos/Makefile                       | 1 +
3277 windows/vs2013/liblzma.vcxproj     | 1 +
3278 windows/vs2013/liblzma_dll.vcxproj | 1 +
3279 windows/vs2017/liblzma.vcxproj     | 1 +
3280 windows/vs2017/liblzma_dll.vcxproj | 1 +
3281 windows/vs2019/liblzma.vcxproj     | 1 +
3282 windows/vs2019/liblzma_dll.vcxproj | 1 +
3283 8 files changed, 8 insertions(+)
3284
3285commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82
3286Author: Lasse Collin <lasse.collin@tukaani.org>
3287Date:   2022-11-30 17:38:32 +0200
3288
3289    Update to HTTPS URLs in AUTHORS.
3290
3291 AUTHORS | 6 +++---
3292 1 file changed, 3 insertions(+), 3 deletions(-)
3293
3294commit 0a72b9ca2fe20082da9b7128fe0d908af947a851
3295Author: Jia Tan <jiat0218@gmail.com>
3296Date:   2022-11-30 00:52:06 +0800
3297
3298    liblzma: Improve documentation for string to filter functions.
3299
3300 src/liblzma/api/lzma/filter.h | 17 +++++++++--------
3301 1 file changed, 9 insertions(+), 8 deletions(-)
3302
3303commit a6e21fcede3b196160a52dd294d965c508a4bb33
3304Author: Lasse Collin <lasse.collin@tukaani.org>
3305Date:   2022-11-29 22:27:42 +0200
3306
3307    liblzma: Two fixes to lzma_str_list_filters() API docs.
3308
3309    Thanks to Jia Tan.
3310
3311 src/liblzma/api/lzma/filter.h | 6 +++---
3312 1 file changed, 3 insertions(+), 3 deletions(-)
3313
3314commit 7484744af6cbabe81e92af7d9e061dfd597fff7b
3315Author: Lasse Collin <lasse.collin@tukaani.org>
3316Date:   2022-11-28 21:57:47 +0200
3317
3318    xz: Use lzma_str_from_filters().
3319
3320    Two uses: Displaying encoder filter chain when compressing with -vv,
3321    and displaying the decoder filter chain in --list -vv.
3322
3323 src/xz/list.c    |  28 ++++++---
3324 src/xz/message.c | 175 +++----------------------------------------------------
3325 2 files changed, 28 insertions(+), 175 deletions(-)
3326
3327commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203
3328Author: Lasse Collin <lasse.collin@tukaani.org>
3329Date:   2022-11-28 21:37:48 +0200
3330
3331    liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters.
3332
3333    lzma_str_to_filters() uses static error messages which makes
3334    them not very precise. It tells the position in the string
3335    where an error occurred though which helps quite a bit if
3336    applications take advantage of it. Dynamic error messages can
3337    be added later with a new flag if it seems important enough.
3338
3339 src/liblzma/api/lzma/filter.h          |  258 +++++++
3340 src/liblzma/common/Makefile.inc        |    1 +
3341 src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++
3342 src/liblzma/liblzma_generic.map        |    3 +
3343 src/liblzma/liblzma_linux.map          |    3 +
3344 5 files changed, 1567 insertions(+)
3345
3346commit 072ebf7b1335421193ffa9d4a70d5533786b8995
3347Author: Lasse Collin <lasse.collin@tukaani.org>
3348Date:   2022-11-28 21:02:19 +0200
3349
3350    liblzma: Make lzma_validate_chain() available outside filter_common.c.
3351
3352 src/liblzma/common/filter_common.c | 8 ++++----
3353 src/liblzma/common/filter_common.h | 3 +++
3354 2 files changed, 7 insertions(+), 4 deletions(-)
3355
3356commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf
3357Author: Lasse Collin <lasse.collin@tukaani.org>
3358Date:   2022-11-28 10:51:03 +0200
3359
3360    liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused.
3361
3362 src/liblzma/lz/lz_decoder.c | 14 --------------
3363 src/liblzma/lz/lz_decoder.h |  3 ---
3364 2 files changed, 17 deletions(-)
3365
3366commit cee83206465b95729ab649aa2f57fdbde8dcaf89
3367Author: Lasse Collin <lasse.collin@tukaani.org>
3368Date:   2022-11-28 10:48:53 +0200
3369
3370    liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder().
3371
3372    Here too this avoids the slightly ugly method to set
3373    the uncompressed size.
3374
3375    Also moved the setting of dict_size to the struct initializer.
3376
3377 src/liblzma/common/microlzma_decoder.c | 15 ++++++++-------
3378 1 file changed, 8 insertions(+), 7 deletions(-)
3379
3380commit e310e8b6a490dfb468f4ed68feff246d776b323c
3381Author: Lasse Collin <lasse.collin@tukaani.org>
3382Date:   2022-11-28 10:28:20 +0200
3383
3384    liblzma: Use LZMA1EXT feature in lzma_alone_decoder().
3385
3386    This avoids the need to use the slightly ugly method to
3387    set the uncompressed size.
3388
3389 src/liblzma/common/alone_decoder.c | 18 +++++++++++++-----
3390 1 file changed, 13 insertions(+), 5 deletions(-)
3391
3392commit 33b8a24b6646a9dbfd8358405aec466b13078559
3393Author: Lasse Collin <lasse.collin@tukaani.org>
3394Date:   2022-11-27 23:16:21 +0200
3395
3396    liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker.
3397
3398    Some file formats need support for LZMA1 streams that don't use
3399    the end of payload marker (EOPM) alias end of stream (EOS) marker.
3400    So far liblzma API has supported decompressing such streams via
3401    lzma_alone_decoder() when .lzma header specifies a known
3402    uncompressed size. Encoding support hasn't been available in the API.
3403
3404    Instead of adding a new LZMA1-only API for this purpose, this commit
3405    adds a new filter ID for use with raw encoder and decoder. The main
3406    benefit of this approach is that then also filter chains are possible,
3407    for example, if someone wants to implement support for .7z files that
3408    use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported
3409    in liblzma).
3410
3411 src/liblzma/api/lzma/lzma12.h           | 123 ++++++++++++++++++++++++++++++--
3412 src/liblzma/common/filter_common.c      |   7 ++
3413 src/liblzma/common/filter_decoder.c     |   6 ++
3414 src/liblzma/common/filter_encoder.c     |   9 +++
3415 src/liblzma/lzma/lzma2_encoder.c        |   2 +-
3416 src/liblzma/lzma/lzma_decoder.c         |  26 ++++++-
3417 src/liblzma/lzma/lzma_encoder.c         |  40 +++++++++--
3418 src/liblzma/lzma/lzma_encoder.h         |   3 +-
3419 src/liblzma/lzma/lzma_encoder_private.h |   3 +
3420 9 files changed, 204 insertions(+), 15 deletions(-)
3421
3422commit 9a304bf1e45b3ddf61aaeaa7c764915b34618ede
3423Author: Lasse Collin <lasse.collin@tukaani.org>
3424Date:   2022-11-27 18:43:07 +0200
3425
3426    liblzma: Avoid unneeded use of void pointer in LZMA decoder.
3427
3428 src/liblzma/lzma/lzma_decoder.c | 3 +--
3429 src/liblzma/lzma/lzma_decoder.h | 2 +-
3430 2 files changed, 2 insertions(+), 3 deletions(-)
3431
3432commit 218394958c7683f892275bb40eae880620feebcc
3433Author: Lasse Collin <lasse.collin@tukaani.org>
3434Date:   2022-11-27 18:20:33 +0200
3435
3436    liblzma: Pass the Filter ID to LZ encoder and decoder.
3437
3438    This allows using two Filter IDs with the same
3439    initialization function and data structures.
3440
3441 src/liblzma/common/alone_decoder.c     | 1 +
3442 src/liblzma/common/alone_encoder.c     | 1 +
3443 src/liblzma/common/common.h            | 7 +++++--
3444 src/liblzma/common/lzip_decoder.c      | 1 +
3445 src/liblzma/common/microlzma_decoder.c | 1 +
3446 src/liblzma/common/microlzma_encoder.c | 1 +
3447 src/liblzma/lz/lz_decoder.c            | 5 +++--
3448 src/liblzma/lz/lz_decoder.h            | 3 ++-
3449 src/liblzma/lz/lz_encoder.c            | 5 +++--
3450 src/liblzma/lz/lz_encoder.h            | 3 ++-
3451 src/liblzma/lzma/lzma2_decoder.c       | 3 ++-
3452 src/liblzma/lzma/lzma2_encoder.c       | 3 ++-
3453 src/liblzma/lzma/lzma_decoder.c        | 2 +-
3454 src/liblzma/lzma/lzma_encoder.c        | 2 +-
3455 14 files changed, 26 insertions(+), 12 deletions(-)
3456
3457commit 1663c7676b76f4c514031797f3db1896e8100f7f
3458Author: Lasse Collin <lasse.collin@tukaani.org>
3459Date:   2022-11-27 01:03:16 +0200
3460
3461    liblzma: Remove two FIXME comments.
3462
3463 src/liblzma/common/filter_encoder.c | 4 ++--
3464 1 file changed, 2 insertions(+), 2 deletions(-)
3465
3466commit 11fe708db783ac36ebeeb85da164e29e8c300910
3467Author: Lasse Collin <lasse.collin@tukaani.org>
3468Date:   2022-11-26 22:25:30 +0200
3469
3470    xz: Use lzma_filters_free().
3471
3472 src/xz/list.c | 8 ++------
3473 1 file changed, 2 insertions(+), 6 deletions(-)
3474
3475commit e782af9110d8499c7ac2929bc871540eefea5ea1
3476Author: Lasse Collin <lasse.collin@tukaani.org>
3477Date:   2022-11-26 22:21:13 +0200
3478
3479    liblzma: Use lzma_filters_free() in more places.
3480
3481 src/liblzma/common/block_header_decoder.c | 20 ++------------------
3482 src/liblzma/common/stream_decoder.c       |  4 +---
3483 src/liblzma/common/stream_decoder_mt.c    | 22 +++++-----------------
3484 3 files changed, 8 insertions(+), 38 deletions(-)
3485
3486commit 90caaded2dc6db1d6a55b01160d7e87f4a423628
3487Author: Lasse Collin <lasse.collin@tukaani.org>
3488Date:   2022-11-25 18:04:37 +0200
3489
3490    liblzma: Omit simple coder init functions if they are disabled.
3491
3492 src/liblzma/simple/arm.c      | 4 ++++
3493 src/liblzma/simple/armthumb.c | 4 ++++
3494 src/liblzma/simple/ia64.c     | 4 ++++
3495 src/liblzma/simple/powerpc.c  | 4 ++++
3496 src/liblzma/simple/sparc.c    | 4 ++++
3497 src/liblzma/simple/x86.c      | 4 ++++
3498 6 files changed, 24 insertions(+)
3499
3500commit 5cd9f0df78cc4f8a7807bf6104adea13034fbb45
3501Author: Lasse Collin <lasse.collin@tukaani.org>
3502Date:   2022-11-24 23:24:59 +0200
3503
3504    xz: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
3505
3506    Now that liblzma accepts these, we avoid the extra check and
3507    there's one message less for translators too.
3508
3509 src/xz/options.c | 5 -----
3510 1 file changed, 5 deletions(-)
3511
3512commit 3be88ae071371caa279b44e13f4836fb178fe4ae
3513Author: Lasse Collin <lasse.collin@tukaani.org>
3514Date:   2022-11-24 23:23:55 +0200
3515
3516    liblzma: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
3517
3518    That is, if the specified nice_len is smaller than the minimum
3519    of the match finder, silently use the match finder's minimum value
3520    instead of reporting an error. The old behavior is annoying to users
3521    and it complicates xz options handling too.
3522
3523 src/liblzma/lz/lz_encoder.c     | 14 +++++++++-----
3524 src/liblzma/lz/lz_encoder.h     |  9 +++++++++
3525 src/liblzma/lzma/lzma_encoder.c | 11 ++++++++---
3526 3 files changed, 26 insertions(+), 8 deletions(-)
3527
3528commit 93439cfafe1768b3b18d67d2356ef7e7559bba59
3529Author: Lasse Collin <lasse.collin@tukaani.org>
3530Date:   2022-11-24 16:25:10 +0200
3531
3532    liblzma: Add lzma_filters_update() support to the multi-threaded encoder.
3533
3534    A tiny downside of this is that now a 1-4 tiny allocations are made
3535    for every Block because each worker thread needs its own copy of
3536    the filter chain.
3537
3538 src/liblzma/api/lzma/filter.h          | 36 +++++++------
3539 src/liblzma/common/stream_encoder_mt.c | 96 +++++++++++++++++++++++++++++++---
3540 2 files changed, 109 insertions(+), 23 deletions(-)
3541
3542commit 17ac51e689794eb41cab3e80946fec689caea2d2
3543Author: Lasse Collin <lasse.collin@tukaani.org>
3544Date:   2022-11-24 14:53:22 +0200
3545
3546    Update THANKS.
3547
3548 THANKS | 1 +
3549 1 file changed, 1 insertion(+)
3550
3551commit 06824396b2b6c84f3a235cb7c19c2a9701167797
3552Author: Lasse Collin <lasse.collin@tukaani.org>
3553Date:   2022-11-24 14:52:44 +0200
3554
3555    Build: Don't put GNU/Linux-specific symbol versions into static liblzma.
3556
3557    It not only makes no sense to put symbol versions into a static library
3558    but it can also cause breakage.
3559
3560    By default Libtool #defines PIC if building a shared library and
3561    doesn't define it for static libraries. This is documented in the
3562    Libtool manual. It can be overriden using --with-pic or --without-pic.
3563    configure.ac detects if --with-pic or --without-pic is used and then
3564    gives an error if neither --disable-shared nor --disable-static was
3565    used at the same time. Thus, in normal situations it works to build
3566    both shared and static library at the same time on GNU/Linux,
3567    only --with-pic or --without-pic requires that only one type of
3568    library is built.
3569
3570    Thanks to John Paul Adrian Glaubitz from Debian for reporting
3571    the problem that occurred on ia64:
3572    https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html
3573
3574 CMakeLists.txt              |   5 +-
3575 configure.ac                | 143 +++++++++++++++++++++++++++++---------------
3576 src/liblzma/common/common.h |  12 ++++
3577 3 files changed, 111 insertions(+), 49 deletions(-)
3578
3579commit e1acf7107291f8b3d6d609a7133331ff36d35d14
3580Author: Lasse Collin <lasse.collin@tukaani.org>
3581Date:   2022-11-24 01:32:16 +0200
3582
3583    liblzma: Refactor to use lzma_filters_free().
3584
3585    lzma_filters_free() sets the options to NULL and ids to
3586    LZMA_VLI_UNKNOWN so there is no need to do it by caller;
3587    the filter arrays will always be left in a safe state.
3588
3589    Also use memcpy() instead of a loop to copy a filter chain
3590    when it is known to be safe to copy LZMA_FILTERS_MAX + 1
3591    (even if the elements past the terminator might be uninitialized).
3592
3593 src/liblzma/common/stream_encoder.c    | 16 ++++------------
3594 src/liblzma/common/stream_encoder_mt.c | 11 ++---------
3595 2 files changed, 6 insertions(+), 21 deletions(-)
3596
3597commit cb05dbcf8b868441ec805016222f3fd77f1c5caa
3598Author: Lasse Collin <lasse.collin@tukaani.org>
3599Date:   2022-11-24 01:26:37 +0200
3600
3601    liblzma: Fix another invalid free() after memory allocation failure.
3602
3603    This time it can happen when lzma_stream_encoder_mt() is used
3604    to reinitialize an existing multi-threaded Stream encoder
3605    and one of 1-4 tiny allocations in lzma_filters_copy() fail.
3606
3607    It's very similar to the previous bug
3608    10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with
3609    an array of lzma_filter structures whose old options are freed
3610    but the replacement never arrives due to a memory allocation
3611    failure in lzma_filters_copy().
3612
3613 src/liblzma/common/stream_encoder_mt.c | 4 ++++
3614 1 file changed, 4 insertions(+)
3615
3616commit 75f1a6c26df4ce329da0882786403e3ccf5cd898
3617Author: Jia Tan <jiat0218@gmail.com>
3618Date:   2022-05-05 20:53:42 +0800
3619
3620    liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder.
3621
3622    The documentation mentions that lzma_block_encoder() supports
3623    LZMA_SYNC_FLUSH but it was never added to supported_actions[]
3624    in the internal structure. Because of this, LZMA_SYNC_FLUSH could
3625    not be used with the Block encoder unless it was the next coder
3626    after something like stream_encoder() or stream_encoder_mt().
3627
3628 src/liblzma/common/block_encoder.c | 1 +
3629 1 file changed, 1 insertion(+)
3630
3631commit d0901645170b638c517f5c50866b6ef48f491c65
3632Author: Lasse Collin <lasse.collin@tukaani.org>
3633Date:   2022-11-24 01:02:50 +0200
3634
3635    liblzma: Add new API function lzma_filters_free().
3636
3637    This is small but convenient and should have been added
3638    a long time ago.
3639
3640 src/liblzma/api/lzma/filter.h      | 21 +++++++++++++++++++++
3641 src/liblzma/common/filter_common.c | 26 ++++++++++++++++++++++++++
3642 src/liblzma/liblzma_generic.map    |  1 +
3643 src/liblzma/liblzma_linux.map      |  1 +
3644 4 files changed, 49 insertions(+)
3645
3646commit ae1f8a723dcde2f2c5cf444bcbb5fc5026b3c3c5
3647Author: Lasse Collin <lasse.collin@tukaani.org>
3648Date:   2022-11-24 00:02:31 +0200
3649
3650    CMake: Don't use symbol versioning with static library.
3651
3652 CMakeLists.txt | 10 +++++++---
3653 1 file changed, 7 insertions(+), 3 deletions(-)
3654
3655commit 48c1b99dc537a27e1ca929d8837e778e5ba32191
3656Author: Lasse Collin <lasse.collin@tukaani.org>
3657Date:   2022-11-23 21:55:22 +0200
3658
3659    liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy().
3660
3661 src/liblzma/api/lzma/filter.h | 3 ++-
3662 1 file changed, 2 insertions(+), 1 deletion(-)
3663
3664commit 10430fbf3820dafd4eafd38ec8be161a6978ed2b
3665Author: Lasse Collin <lasse.collin@tukaani.org>
3666Date:   2022-11-23 21:26:21 +0200
3667
3668    liblzma: Fix invalid free() after memory allocation failure.
3669
3670    The bug was in the single-threaded .xz Stream encoder
3671    in the code that is used for both re-initialization and for
3672    lzma_filters_update(). To trigger it, an application had
3673    to either re-initialize an existing encoder instance with
3674    lzma_stream_encoder() or use lzma_filters_update(), and
3675    then one of the 1-4 tiny allocations in lzma_filters_copy()
3676    (called from stream_encoder_update()) must fail. An error
3677    was correctly reported but the encoder state was corrupted.
3678
3679    This is related to the recent fix in
3680    f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but
3681    it wasn't enough to fix the main problem in stream_encoder.c.
3682
3683 src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++--------
3684 1 file changed, 31 insertions(+), 8 deletions(-)
3685
3686commit cafd6dc397ca8b5b5f7775e8d6876b8fe70f8e70
3687Author: Lasse Collin <lasse.collin@tukaani.org>
3688Date:   2022-11-22 16:37:15 +0200
3689
3690    liblzma: Fix language in a comment.
3691
3692 src/liblzma/common/stream_encoder.c | 2 +-
3693 1 file changed, 1 insertion(+), 1 deletion(-)
3694
3695commit c392bf8ccba857baaf50399c4b460119befacd54
3696Author: Lasse Collin <lasse.collin@tukaani.org>
3697Date:   2022-11-22 11:20:17 +0200
3698
3699    liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB.
3700
3701    The encoder doesn't support dictionary sizes larger than 1536 MiB.
3702    This is validated, for example, when calculating the memory usage
3703    via lzma_raw_encoder_memusage(). It is also enforced by the LZ
3704    part of the encoder initialization. However, LZMA encoder with
3705    LZMA_MODE_NORMAL did an unsafe calculation with dict_size before
3706    such validation and that results in an infinite loop if dict_size
3707    was 2 << 30 or greater.
3708
3709 src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++----
3710 1 file changed, 15 insertions(+), 4 deletions(-)
3711
3712commit f50534c973a591ccf65485adfc827a8a7126ca6c
3713Author: Lasse Collin <lasse.collin@tukaani.org>
3714Date:   2022-11-21 13:02:33 +0200
3715
3716    liblzma: Fix two Doxygen commands in the API headers.
3717
3718    These were caught by clang -Wdocumentation.
3719
3720 src/liblzma/api/lzma/hardware.h   | 2 +-
3721 src/liblzma/api/lzma/index_hash.h | 2 +-
3722 2 files changed, 2 insertions(+), 2 deletions(-)
3723
3724commit 649d4872ed2f55196114a061d45b416fc4353569
3725Author: Lasse Collin <lasse.collin@tukaani.org>
3726Date:   2022-11-19 19:09:55 +0200
3727
3728    xz: Refactor duplicate code from hardware_memlimit_mtenc_get().
3729
3730 src/xz/hardware.c | 2 +-
3731 1 file changed, 1 insertion(+), 1 deletion(-)
3732
3733commit d327743bb547a53364e5951a16e5f1663fe4b9ff
3734Author: Lasse Collin <lasse.collin@tukaani.org>
3735Date:   2022-11-19 19:06:13 +0200
3736
3737    xz: Add support --threads=+N so that -T+1 gives threaded mode.
3738
3739 src/xz/args.c     | 18 +++++++++++++++---
3740 src/xz/hardware.c | 17 +++++++++++++++--
3741 src/xz/hardware.h |  1 +
3742 src/xz/xz.1       | 21 ++++++++++++++++++++-
3743 4 files changed, 51 insertions(+), 6 deletions(-)
3744
3745commit a11a2b8b5e830ba682c1d81aaa7078842b296995
3746Author: Jia Tan <jiat0218@gmail.com>
3747Date:   2022-11-19 23:18:04 +0800
3748
3749    CMake: Adds test_memlimit to CMake tests
3750
3751 CMakeLists.txt | 1 +
3752 1 file changed, 1 insertion(+)
3753
3754commit 2af8d9e9b3f44f62d19e7c39297ec63af2e8c64f
3755Author: Lasse Collin <lasse.collin@tukaani.org>
3756Date:   2022-11-15 19:10:21 +0200
3757
3758    Translations: Update the Korean translation.
3759
3760 po/ko.po | 652 ++++++++++++++++++++++++++++++++++++---------------------------
3761 1 file changed, 371 insertions(+), 281 deletions(-)
3762
3763commit 16ac05677292f7e21a4feaddcfb2ab062ea5f385
3764Author: Lasse Collin <lasse.collin@tukaani.org>
3765Date:   2022-11-15 19:09:28 +0200
3766
3767    Translations: Update the Turkish translation.
3768
3769 po/tr.po | 568 ++++++++++++++++++++++++++++++++++-----------------------------
3770 1 file changed, 310 insertions(+), 258 deletions(-)
3771
3772commit b9a67d9a5fa207062d4aa8a01639234609315d31
3773Author: Lasse Collin <lasse.collin@tukaani.org>
3774Date:   2022-11-15 10:58:39 +0200
3775
3776    Bump version number for 5.3.4alpha.
3777
3778 src/liblzma/api/lzma/version.h  | 2 +-
3779 src/liblzma/liblzma_generic.map | 2 +-
3780 src/liblzma/liblzma_linux.map   | 2 +-
3781 3 files changed, 3 insertions(+), 3 deletions(-)
3782
3783commit 5b999ba289b3280457b7386b9ac65dbbdf1575a5
3784Author: Lasse Collin <lasse.collin@tukaani.org>
3785Date:   2022-11-15 10:54:40 +0200
3786
3787    Add NEWS for 5.3.4alpha.
3788
3789 NEWS | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3790 1 file changed, 96 insertions(+)
3791
3792commit ce8db9e37da4f6c87691c5066f51f91f2411c44a
3793Author: Lasse Collin <lasse.collin@tukaani.org>
3794Date:   2022-11-15 10:54:08 +0200
3795
3796    Add NEWS for 5.2.8.
3797
3798 NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3799 1 file changed, 79 insertions(+)
3800
3801commit b56bc8251d2736224af6bdaaae734ceb8926a879
3802Author: Lasse Collin <lasse.collin@tukaani.org>
3803Date:   2022-11-14 23:19:57 +0200
3804
3805    Revert "liblzma: Simple/BCJ filters: Allow disabling generic BCJ options."
3806
3807    This reverts commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
3808    and also does equivalent change to arm64.c.
3809
3810    Now that ARM64 filter will use lzma_options_bcj, this change
3811    is not needed anymore.
3812
3813 src/liblzma/simple/arm.c            | 2 +-
3814 src/liblzma/simple/arm64.c          | 2 +-
3815 src/liblzma/simple/armthumb.c       | 2 +-
3816 src/liblzma/simple/ia64.c           | 2 +-
3817 src/liblzma/simple/powerpc.c        | 2 +-
3818 src/liblzma/simple/simple_coder.c   | 4 ++--
3819 src/liblzma/simple/simple_private.h | 2 +-
3820 src/liblzma/simple/sparc.c          | 2 +-
3821 src/liblzma/simple/x86.c            | 3 +--
3822 9 files changed, 10 insertions(+), 11 deletions(-)
3823
3824commit 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35
3825Author: Lasse Collin <lasse.collin@tukaani.org>
3826Date:   2022-11-14 23:14:41 +0200
3827
3828    Replace the experimental ARM64 filter with a new experimental version.
3829
3830    This is incompatible with the previous version.
3831
3832    This has space/tab fixes in filter_*.c and bcj.h too.
3833
3834 src/liblzma/api/lzma/bcj.h          |  41 +-----
3835 src/liblzma/common/filter_common.c  |  14 +-
3836 src/liblzma/common/filter_decoder.c |  12 +-
3837 src/liblzma/common/filter_encoder.c |  17 +--
3838 src/liblzma/simple/arm64.c          | 283 ++++++++++++++----------------------
3839 src/liblzma/simple/simple_decoder.h |   4 -
3840 src/liblzma/simple/simple_encoder.h |   2 -
3841 src/xz/args.c                       |   2 +-
3842 src/xz/message.c                    |  13 +-
3843 src/xz/options.c                    |  39 -----
3844 src/xz/options.h                    |   7 -
3845 11 files changed, 147 insertions(+), 287 deletions(-)
3846
3847commit f644473a211394447824ea00518d0a214ff3f7f2
3848Author: Lasse Collin <lasse.collin@tukaani.org>
3849Date:   2022-11-14 21:34:57 +0200
3850
3851    liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL.
3852
3853    It also works on E2K as it supports these intrinsics.
3854
3855    On x86-64 runtime detection is used so the code keeps working on
3856    older processors too. A CLMUL-only build can be done by using
3857    -msse4.1 -mpclmul in CFLAGS and this will reduce the library
3858    size since the generic implementation and its 8 KiB lookup table
3859    will be omitted.
3860
3861    On 32-bit x86 this isn't used by default for now because by default
3862    on 32-bit x86 the separate assembly file crc64_x86.S is used.
3863    If --disable-assembler is used then this new CLMUL code is used
3864    the same way as on 64-bit x86. However, a CLMUL-only build
3865    (-msse4.1 -mpclmul) won't omit the 8 KiB lookup table on
3866    32-bit x86 due to a currently-missing check for disabled
3867    assembler usage.
3868
3869    The configure.ac check should be such that the code won't be
3870    built if something in the toolchain doesn't support it but
3871    --disable-clmul-crc option can be used to unconditionally
3872    disable this feature.
3873
3874    CLMUL speeds up decompression of files that have compressed very
3875    well (assuming CRC64 is used as a check type). It is know that
3876    the CLMUL code is significantly slower than the generic code for
3877    tiny inputs (especially 1-8 bytes but up to 16 bytes). If that
3878    is a real-world problem then there is already a commented-out
3879    variant that uses the generic version for small inputs.
3880
3881    Thanks to Ilya Kurdyukov for the original patch which was
3882    derived from a white paper from Intel [1] (published in 2009)
3883    and public domain code from [2] (released in 2016).
3884
3885    [1] https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf
3886    [2] https://github.com/rawrunprotected/crc
3887
3888 CMakeLists.txt                  |  26 ++-
3889 INSTALL                         |  12 ++
3890 configure.ac                    |  59 +++++-
3891 src/liblzma/check/crc64_fast.c  | 449 +++++++++++++++++++++++++++++++++++++++-
3892 src/liblzma/check/crc64_table.c |  21 +-
3893 5 files changed, 554 insertions(+), 13 deletions(-)
3894
3895commit 3b466bc79672bb2b06d1245a500588e6026e0ba0
3896Author: Lasse Collin <lasse.collin@tukaani.org>
3897Date:   2022-11-14 20:14:34 +0200
3898
3899    Translations: Update the Swedish translation one more time.
3900
3901 po/sv.po | 6 +++---
3902 1 file changed, 3 insertions(+), 3 deletions(-)
3903
3904commit e963379a8622ebdff6ce78e76b803bcd1e1d16d6
3905Author: Lasse Collin <lasse.collin@tukaani.org>
3906Date:   2022-11-14 19:34:15 +0200
3907
3908    Translations: Update the Swedish translation again.
3909
3910 po/sv.po | 16 ++++++++--------
3911 1 file changed, 8 insertions(+), 8 deletions(-)
3912
3913commit a4bc689a823a2254f29ac9d233170add5121b307
3914Author: Lasse Collin <lasse.collin@tukaani.org>
3915Date:   2022-11-14 19:07:45 +0200
3916
3917    Translations: Update the Swedish translation.
3918
3919 po/sv.po | 671 ++++++++++++++++++++++++++++++++++++---------------------------
3920 1 file changed, 382 insertions(+), 289 deletions(-)
3921
3922commit bbf2073d824ab4ba33bed4b77f467435abd333a5
3923Author: Lasse Collin <lasse.collin@tukaani.org>
3924Date:   2022-11-14 18:58:09 +0200
3925
3926    Translations: Update the Ukrainian translation.
3927
3928 po/uk.po | 618 ++++++++++++++++++++++++++++++++++++---------------------------
3929 1 file changed, 354 insertions(+), 264 deletions(-)
3930
3931commit ac10b1b3622e70881595586edfb8a3ebdcd76bb6
3932Author: Lasse Collin <lasse.collin@tukaani.org>
3933Date:   2022-11-14 17:58:07 +0200
3934
3935    Build: Omit x86_64 from --enable-assembler.
3936
3937    It didn't do anything. There are only 32-bit x86 assembly files
3938    and it feels likely that new files won't be added as intrinsics
3939    in C are more portable across toolchains and OSes.
3940
3941 configure.ac | 6 ++----
3942 1 file changed, 2 insertions(+), 4 deletions(-)
3943
3944commit eb0f1450ad9f23dac03050d9c8375980240aee21
3945Author: Lasse Collin <lasse.collin@tukaani.org>
3946Date:   2022-11-14 16:00:52 +0200
3947
3948    liblzma: Use __attribute__((__constructor__)) if available.
3949
3950    This uses it for CRC table initializations when using --disable-small.
3951    It avoids mythread_once() overhead. It also means that then
3952    --disable-small --disable-threads is thread-safe if this attribute
3953    is supported.
3954
3955 CMakeLists.txt                  | 15 +++++++++++++++
3956 INSTALL                         |  4 +++-
3957 configure.ac                    | 31 ++++++++++++++++++++++++++++---
3958 src/liblzma/check/crc32_small.c |  7 +++++++
3959 src/liblzma/check/crc64_small.c |  5 +++++
3960 src/liblzma/lz/lz_encoder.c     |  2 +-
3961 6 files changed, 59 insertions(+), 5 deletions(-)
3962
3963commit 6553f49b11dafad35c73b05f12e14865ea1fd8a1
3964Author: Lasse Collin <lasse.collin@tukaani.org>
3965Date:   2022-11-12 21:19:52 +0200
3966
3967    Translations: Update the Romanian translation.
3968
3969 po/ro.po | 651 +++++++++++++++++++++++++++++++++++++--------------------------
3970 1 file changed, 380 insertions(+), 271 deletions(-)
3971
3972commit db97e69e12393becc29f8febd53133d0d36989bd
3973Author: Lasse Collin <lasse.collin@tukaani.org>
3974Date:   2022-11-12 21:17:45 +0200
3975
3976    Translations: Update the Hungarian translation.
3977
3978 po/hu.po | 625 ++++++++++++++++++++++++++++++++++++---------------------------
3979 1 file changed, 357 insertions(+), 268 deletions(-)
3980
3981commit 2bbb9c0f3829a8b121b36998d273a6c6f92000f4
3982Author: Lasse Collin <lasse.collin@tukaani.org>
3983Date:   2022-11-11 17:58:57 +0200
3984
3985    Translations: Update the Finnish translation.
3986
3987 po/fi.po | 610 ++++++++++++++++++++++++++++++++++++---------------------------
3988 1 file changed, 348 insertions(+), 262 deletions(-)
3989
3990commit 3c8cbb8137b6f8ed9416c1209d73cdbcb015251f
3991Author: Lasse Collin <lasse.collin@tukaani.org>
3992Date:   2022-11-11 17:58:18 +0200
3993
3994    Translations: Update the Croatian translation.
3995
3996 po/hr.po | 680 +++++++++++++++++++++++++++++++++++----------------------------
3997 1 file changed, 381 insertions(+), 299 deletions(-)
3998
3999commit 26c3359eac0988d6f3986735cd1363bec1678e8e
4000Author: Lasse Collin <lasse.collin@tukaani.org>
4001Date:   2022-11-11 17:57:18 +0200
4002
4003    Translations: Update the Polish translation.
4004
4005 po/pl.po | 569 ++++++++++++++++++++++++++++++++++-----------------------------
4006 1 file changed, 309 insertions(+), 260 deletions(-)
4007
4008commit 577e467b137c735afb8de6ae71ac7a73c2960cc4
4009Author: Lasse Collin <lasse.collin@tukaani.org>
4010Date:   2022-11-11 17:56:44 +0200
4011
4012    Translations: Update the Spanish translation.
4013
4014 po/es.po | 598 ++++++++++++++++++++++++++++++++++++---------------------------
4015 1 file changed, 344 insertions(+), 254 deletions(-)
4016
4017commit f9b4ff6e9a0f1678650775582d3e4fe782abce97
4018Author: Lasse Collin <lasse.collin@tukaani.org>
4019Date:   2022-11-11 17:16:03 +0200
4020
4021    Update THANKS.
4022
4023 THANKS | 1 +
4024 1 file changed, 1 insertion(+)
4025
4026commit a39961ef211e1bf030b17edeea3cff29fe263b67
4027Author: Lasse Collin <lasse.collin@tukaani.org>
4028Date:   2022-11-11 17:15:25 +0200
4029
4030    liblzma: Fix building with Intel ICC (the classic compiler).
4031
4032    It claims __GNUC__ >= 10 but doesn't support __symver__ attribute.
4033
4034    Thanks to Stephen Sachs.
4035
4036 src/liblzma/common/common.h | 2 +-
4037 1 file changed, 1 insertion(+), 1 deletion(-)
4038
4039commit c715f683dcb1a817d565da292cddfbceda643e12
4040Author: Lasse Collin <lasse.collin@tukaani.org>
4041Date:   2022-11-11 14:35:58 +0200
4042
4043    liblzma: Fix incorrect #ifdef for x86 SSE2 support.
4044
4045    __SSE2__ is the correct macro for SSE2 support with GCC, Clang,
4046    and ICC. __SSE2_MATH__ means doing floating point math with SSE2
4047    instead of 387. Often the latter macro is defined if the first
4048    one is but it was still a bug.
4049
4050 src/liblzma/common/memcmplen.h | 3 +--
4051 1 file changed, 1 insertion(+), 2 deletions(-)
4052
4053commit bd334ae56afe7f642ad4d0f1ac19e74e82daa1ce
4054Author: Lasse Collin <lasse.collin@tukaani.org>
4055Date:   2022-11-11 13:27:06 +0200
4056
4057    Add NEWS for 5.2.7 (forgotten cherry-pick from v5.2).
4058
4059 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4060 1 file changed, 74 insertions(+)
4061
4062commit 3c7860cf49de6f81046b3a4034a89f3a4803a576
4063Author: Lasse Collin <lasse.collin@tukaani.org>
4064Date:   2022-11-11 13:16:21 +0200
4065
4066    xzdiff: Add support for .lz files.
4067
4068    The other scripts don't need changes for .lz support because
4069    in those scripts it is enough that xz supports .lz.
4070
4071 src/scripts/xzdiff.in | 10 +++++-----
4072 1 file changed, 5 insertions(+), 5 deletions(-)
4073
4074commit d76c752a6d77052e5ad57ade555082585f7ac5d8
4075Author: Lasse Collin <lasse.collin@tukaani.org>
4076Date:   2022-11-11 12:23:58 +0200
4077
4078    Scripts: Ignore warnings from xz.
4079
4080    In practice this means making the scripts work when
4081    the input files have an unsupported check type which
4082    isn't a problem in practice unless support for
4083    some check types has been disabled at build time.
4084
4085 src/scripts/xzdiff.in | 5 +++--
4086 src/scripts/xzgrep.in | 2 +-
4087 src/scripts/xzless.in | 4 ++--
4088 src/scripts/xzmore.in | 4 ++--
4089 4 files changed, 8 insertions(+), 7 deletions(-)
4090
4091commit 6552535afd1fe29d726ab6e68cf14ce3624fd48c
4092Author: Lasse Collin <lasse.collin@tukaani.org>
4093Date:   2022-11-10 12:34:43 +0200
4094
4095    Translations: Rename poa4/fr_FR.po to po4a/fr.po.
4096
4097    That's how it is preferred at the Translation Project.
4098    On my system /usr/share/man/fr_FR doesn't contain any
4099    other man pages than XZ Utils while /usr/share/man/fr
4100    has quite a few, so this will fix that too.
4101
4102    Thanks to Benno Schulenberg from the Translation Project.
4103
4104 po4a/{fr_FR.po => fr.po} | 0
4105 po4a/po4a.conf           | 2 +-
4106 2 files changed, 1 insertion(+), 1 deletion(-)
4107
4108commit 0918159ce4c75bfb60aff0193b559f8a9f41d25a
4109Author: Lasse Collin <lasse.collin@tukaani.org>
4110Date:   2022-11-09 18:48:50 +0200
4111
4112    xz: Update the man page about BCJ filters, including upcoming --arm64.
4113
4114    The --arm64 isn't actually implemented yet in the form
4115    described in this commit.
4116
4117    Thanks to Jia Tan.
4118
4119 src/xz/xz.1 | 66 +++++++++++++++++++++++++++----------------------------------
4120 1 file changed, 29 insertions(+), 37 deletions(-)
4121
4122commit ba2ae3596f6be1587495f33b367488f6e00e56f1
4123Author: Lasse Collin <lasse.collin@tukaani.org>
4124Date:   2022-11-09 18:14:14 +0200
4125
4126    xz: Add --arm64 to --long-help and omit endianness from ARM(-Thumb).
4127
4128    Modern 32-bit ARM in big endian mode use little endian for
4129    instruction encoding still, so the filters work on such
4130    executables too. It's likely less confusing for users this way.
4131
4132    The --arm64 option hasn't been implemented yet (there is
4133    --experimental-arm64 but it's different). The --arm64 option
4134    is added now anyway because this is the likely result and the
4135    strings need to be ready for translators.
4136
4137    Thanks to Jia Tan.
4138
4139 src/xz/message.c | 5 +++--
4140 1 file changed, 3 insertions(+), 2 deletions(-)
4141
4142commit 802d57d9215d9c81dbee86edb43c9e93a7f7ec55
4143Author: Lasse Collin <lasse.collin@tukaani.org>
4144Date:   2022-11-09 15:12:13 +0200
4145
4146    Windows: Update the VS project files for ARM64 and .lz support.
4147
4148 windows/vs2013/config.h            | 9 +++++++++
4149 windows/vs2013/liblzma.vcxproj     | 5 ++++-
4150 windows/vs2013/liblzma_dll.vcxproj | 5 ++++-
4151 windows/vs2017/config.h            | 9 +++++++++
4152 windows/vs2017/liblzma.vcxproj     | 3 +++
4153 windows/vs2017/liblzma_dll.vcxproj | 3 +++
4154 windows/vs2019/config.h            | 9 +++++++++
4155 windows/vs2019/liblzma.vcxproj     | 5 ++++-
4156 windows/vs2019/liblzma_dll.vcxproj | 5 ++++-
4157 9 files changed, 49 insertions(+), 4 deletions(-)
4158
4159commit 5846aeda05972bc803c6094821ae836229ebe691
4160Author: Lasse Collin <lasse.collin@tukaani.org>
4161Date:   2022-11-09 14:57:48 +0200
4162
4163    DOS: Update Makefile and config.h to include ARM64 and .lz support.
4164
4165 dos/Makefile | 2 ++
4166 dos/config.h | 9 +++++++++
4167 2 files changed, 11 insertions(+)
4168
4169commit 781da8d6c44de6aa278c916375250668a0b107f2
4170Author: Lasse Collin <lasse.collin@tukaani.org>
4171Date:   2022-11-09 14:45:05 +0200
4172
4173    CMake: Add lzip decoder files and #define to the build.
4174
4175 CMakeLists.txt | 3 +++
4176 1 file changed, 3 insertions(+)
4177
4178commit df8ad4af65a9c4846b108550d0083770a69dee64
4179Author: Lasse Collin <lasse.collin@tukaani.org>
4180Date:   2022-11-09 14:41:56 +0200
4181
4182    Docs: Update INSTALL and also add new prohibited options to PACKAGERS.
4183
4184 INSTALL   | 49 +++++++++++++++++++++++++++++++++++++++++--------
4185 PACKAGERS |  2 ++
4186 2 files changed, 43 insertions(+), 8 deletions(-)
4187
4188commit c8ef089c149afaab413c3a51be827dd1d11afe0e
4189Author: Lasse Collin <lasse.collin@tukaani.org>
4190Date:   2022-10-20 17:39:06 +0300
4191
4192    Tests: Test the .lz files in test_files.sh.
4193
4194 tests/test_files.sh | 25 +++++++++++++++++++++++++
4195 1 file changed, 25 insertions(+)
4196
4197commit c8f70ebb4628ceb6cb29cc9195d9deadf69d2bd7
4198Author: Lasse Collin <lasse.collin@tukaani.org>
4199Date:   2022-10-20 15:35:59 +0300
4200
4201    Tests: Add .lz (lzip) test files.
4202
4203 tests/files/README                     | 109 +++++++++++++++++++++++++++++----
4204 tests/files/bad-1-v0-uncomp-size.lz    | Bin 0 -> 42 bytes
4205 tests/files/bad-1-v1-crc32.lz          | Bin 0 -> 50 bytes
4206 tests/files/bad-1-v1-dict-1.lz         | Bin 0 -> 50 bytes
4207 tests/files/bad-1-v1-dict-2.lz         | Bin 0 -> 50 bytes
4208 tests/files/bad-1-v1-magic-1.lz        | Bin 0 -> 50 bytes
4209 tests/files/bad-1-v1-magic-2.lz        | Bin 0 -> 50 bytes
4210 tests/files/bad-1-v1-member-size.lz    | Bin 0 -> 50 bytes
4211 tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes
4212 tests/files/bad-1-v1-uncomp-size.lz    | Bin 0 -> 50 bytes
4213 tests/files/good-1-v0-trailing-1.lz    | Bin 0 -> 59 bytes
4214 tests/files/good-1-v0.lz               | Bin 0 -> 42 bytes
4215 tests/files/good-1-v1-trailing-1.lz    | Bin 0 -> 67 bytes
4216 tests/files/good-1-v1-trailing-2.lz    | Bin 0 -> 70 bytes
4217 tests/files/good-1-v1.lz               | Bin 0 -> 50 bytes
4218 tests/files/good-2-v0-v1.lz            | Bin 0 -> 78 bytes
4219 tests/files/good-2-v1-v0.lz            | Bin 0 -> 78 bytes
4220 tests/files/good-2-v1-v1.lz            | Bin 0 -> 86 bytes
4221 tests/files/unsupported-1-v234.lz      | Bin 0 -> 50 bytes
4222 19 files changed, 98 insertions(+), 11 deletions(-)
4223
4224commit 731db13e6fa3ad3e3fc786c0ccf6eac4cce6865f
4225Author: Lasse Collin <lasse.collin@tukaani.org>
4226Date:   2022-10-19 22:32:51 +0300
4227
4228    xz: Remove the commented-out FORMAT_GZIP, gzip, .gz, and .tgz.
4229
4230 src/xz/args.c   | 2 --
4231 src/xz/coder.h  | 1 -
4232 src/xz/suffix.c | 9 ---------
4233 3 files changed, 12 deletions(-)
4234
4235commit 3176f992c55b8d788c4633809aaf9447376a5a12
4236Author: Lasse Collin <lasse.collin@tukaani.org>
4237Date:   2022-10-08 21:28:15 +0300
4238
4239    xz: Add .lz (lzip) decompression support.
4240
4241    If configured with --disable-lzip-decoder then --long-help will
4242    still list `lzip' in --format but I left it like that since
4243    due to translations it would be messy to have two help strings.
4244    Features are disabled only in special situations so wrong help
4245    in such a situation shouldn't matter much.
4246
4247    Thanks to Michał Górny for the original patch.
4248
4249 src/xz/args.c    |  9 ++++++++
4250 src/xz/coder.c   | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
4251 src/xz/coder.h   |  3 +++
4252 src/xz/message.c |  2 +-
4253 src/xz/suffix.c  | 26 ++++++++++++++++++----
4254 src/xz/xz.1      | 46 +++++++++++++++++++++++++++++++++-----
4255 6 files changed, 141 insertions(+), 13 deletions(-)
4256
4257commit 034086e1ae1459210837a24e04878435c86dc41b
4258Author: Lasse Collin <lasse.collin@tukaani.org>
4259Date:   2022-10-08 00:29:20 +0300
4260
4261    liblzma: Add .lz support to lzma_auto_decoder().
4262
4263    Thanks to Michał Górny for the original patch.
4264
4265 src/liblzma/api/lzma/container.h  | 10 ++++++----
4266 src/liblzma/common/Makefile.inc   |  3 ++-
4267 src/liblzma/common/auto_decoder.c | 23 +++++++++++++++++------
4268 src/liblzma/common/lzip_decoder.h | 22 ++++++++++++++++++++++
4269 4 files changed, 47 insertions(+), 11 deletions(-)
4270
4271commit 0538db038f3cdc352007dacb42454aa1806b8e40
4272Author: Lasse Collin <lasse.collin@tukaani.org>
4273Date:   2022-10-06 15:50:20 +0300
4274
4275    liblzma: Add .lz (lzip) decompression support (format versions 0 and 1).
4276
4277    Support for format version 0 was removed from lzip 1.18 for some
4278    reason. .lz format version 0 files are rare (and old) but some
4279    source packages were released in this format, and some people might
4280    have personal files in this format too. It's very little extra code
4281    to support it along side format version 1 so this commits adds
4282    support for both.
4283
4284    The Sync Flush marker extentension to the original .lz format
4285    version 1 isn't supported. It would require changes to the
4286    LZMA decoder itself. Such files are very rare anyway.
4287
4288    See the API doc for lzma_lzip_decoder() for more details about
4289    the .lz format support.
4290
4291    Thanks to Michał Górny for the original patch.
4292
4293 configure.ac                      |  21 ++
4294 src/liblzma/api/lzma/container.h  |  62 +++++-
4295 src/liblzma/common/Makefile.inc   |   5 +
4296 src/liblzma/common/lzip_decoder.c | 413 ++++++++++++++++++++++++++++++++++++++
4297 src/liblzma/liblzma_generic.map   |   1 +
4298 src/liblzma/liblzma_linux.map     |   1 +
4299 6 files changed, 501 insertions(+), 2 deletions(-)
4300
4301commit 633d48a075b9ce4b9c08a7a56a7eb4cabc18100c
4302Author: Lasse Collin <lasse.collin@tukaani.org>
4303Date:   2022-11-09 14:17:23 +0200
4304
4305    liblzma: Add the missing Makefile.inc change for --disable-microlzma.
4306
4307    This was forgotten from commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8.
4308
4309 src/liblzma/common/Makefile.inc | 12 ++++++++++--
4310 1 file changed, 10 insertions(+), 2 deletions(-)
4311
4312commit 724285dadbdc88765c8fb83eab9816575a260966
4313Author: Lasse Collin <lasse.collin@tukaani.org>
4314Date:   2022-11-09 14:10:52 +0200
4315
4316    xz: Add comments about stdin and src_st.st_size.
4317
4318    "xz -v < regular_file > out.xz" doesn't display the percentage
4319    and estimated remaining time because it doesn't even try to
4320    check the input file size when input is read from stdin.
4321    This could be improved but for now there's just a comment
4322    to remind about it.
4323
4324 src/xz/coder.c   | 9 +++++++++
4325 src/xz/file_io.c | 4 ++++
4326 2 files changed, 13 insertions(+)
4327
4328commit f723eec68b0e44234910f669a29119de33018967
4329Author: Lasse Collin <lasse.collin@tukaani.org>
4330Date:   2022-11-09 12:48:22 +0200
4331
4332    xz: Fix displaying of file sizes in progress indicator in passthru mode.
4333
4334    It worked for one input file since the counters are zero when
4335    xz starts but they weren't reset when starting a new file in
4336    passthru mode. For example, if files A, B, and C are one byte each,
4337    then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes
4338    instead of 1, 1, and 1 byte.
4339
4340 src/xz/coder.c | 6 +++++-
4341 1 file changed, 5 insertions(+), 1 deletion(-)
4342
4343commit 69265d0f223ddf1d66f799b8b047df22923e376f
4344Author: Lasse Collin <lasse.collin@tukaani.org>
4345Date:   2022-11-09 11:27:20 +0200
4346
4347    xz: Add a comment why --to-stdout is not in --help.
4348
4349    It is on the man page still.
4350
4351 src/xz/message.c | 3 +++
4352 1 file changed, 3 insertions(+)
4353
4354commit fe6b8852a3c6a0eb5a3c33512e0a69af257d3bc7
4355Author: Lasse Collin <lasse.collin@tukaani.org>
4356Date:   2022-11-08 23:05:37 +0200
4357
4358    xz: Make xz -lvv show that the upcoming --arm64 needs 5.4.0 to decompress.
4359
4360 src/xz/list.c | 20 +++++++++++++++-----
4361 1 file changed, 15 insertions(+), 5 deletions(-)
4362
4363commit fb3f05ac9f2b4b0e3643401960fbeab31997ac7a
4364Author: Lasse Collin <lasse.collin@tukaani.org>
4365Date:   2022-11-08 22:26:54 +0200
4366
4367    Docs: Update faq.txt a little.
4368
4369 doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++---------------------
4370 1 file changed, 43 insertions(+), 23 deletions(-)
4371
4372commit 05331f091ec3b68eccbfb2a9a7a576072768fb4b
4373Author: Lasse Collin <lasse.collin@tukaani.org>
4374Date:   2022-11-08 16:57:17 +0200
4375
4376    Translations: Update Turkish translation.
4377
4378 po/tr.po | 2 +-
4379 1 file changed, 1 insertion(+), 1 deletion(-)
4380
4381commit ed3a4822963b4940d84e6f44d47277c394fc046d
4382Author: Lasse Collin <lasse.collin@tukaani.org>
4383Date:   2022-11-08 14:55:32 +0200
4384
4385    Translations: Update Croatian translation.
4386
4387 po/hr.po | 190 ++++++++++++++++++++++++++++++++-------------------------------
4388 1 file changed, 96 insertions(+), 94 deletions(-)
4389
4390commit 4746f5ec721316bc4c6fec9905b2902e0360e0af
4391Author: Lasse Collin <lasse.collin@tukaani.org>
4392Date:   2022-11-08 14:13:03 +0200
4393
4394    liblzma: Update API docs about decoder flags.
4395
4396 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++----
4397 1 file changed, 17 insertions(+), 4 deletions(-)
4398
4399commit 8779a9db5d0cec00c9dc9e9965dd2dda04f9d80d
4400Author: Lasse Collin <lasse.collin@tukaani.org>
4401Date:   2022-11-08 14:01:50 +0200
4402
4403    liblzma: Use the return_if_error() macro in alone_decoder.c.
4404
4405 src/liblzma/common/alone_decoder.c | 6 ++----
4406 1 file changed, 2 insertions(+), 4 deletions(-)
4407
4408commit 3f4990b6822961e75cd9b4e2e82b1df63f6f8fcc
4409Author: Lasse Collin <lasse.collin@tukaani.org>
4410Date:   2022-11-08 14:00:58 +0200
4411
4412    liblzma: Fix a comment in auto_decoder.c.
4413
4414 src/liblzma/common/auto_decoder.c | 4 ++--
4415 1 file changed, 2 insertions(+), 2 deletions(-)
4416
4417commit 026a5897c72a2041ae08ceec54ce8b1cdeb51334
4418Author: Lasse Collin <lasse.collin@tukaani.org>
4419Date:   2022-11-08 13:43:19 +0200
4420
4421    xz: Initialize the pledge(2) sandbox at the very beginning of main().
4422
4423    It feels better that the initializations are sandboxed too.
4424    They don't do anything that the pledge() call wouldn't allow.
4425
4426 src/xz/main.c | 27 ++++++++++++++-------------
4427 1 file changed, 14 insertions(+), 13 deletions(-)
4428
4429commit 49a59f6ca001c3ce9affa2c162b437aad021b4d5
4430Author: Lasse Collin <lasse.collin@tukaani.org>
4431Date:   2022-11-07 22:51:16 +0200
4432
4433    xz: Extend --robot --info-memory output.
4434
4435    Now it includes everything that the human-readable --info-memory shows.
4436
4437 src/xz/hardware.c | 24 +++++++++++++++---------
4438 src/xz/xz.1       | 47 +++++++++++++++++++++++++++++++++++++++++------
4439 2 files changed, 56 insertions(+), 15 deletions(-)
4440
4441commit 5e2450c75cbac966c62cf2231c824f2cc91ddba8
4442Author: Lasse Collin <lasse.collin@tukaani.org>
4443Date:   2022-11-07 17:22:04 +0200
4444
4445    liblzma: Include cached memory in reported memusage in threaded decoder.
4446
4447    This affects lzma_memusage() and lzma_memlimit_set() when used
4448    with the threaded decompressor. Now all allocations are reported
4449    by lzma_memusage() (so it's not misleading) and lzma_memlimit_set()
4450    cannot lower the limit below that value.
4451
4452    The alternative would have been to allow lowering the limit if
4453    doing so is possible by freeing the cached memory but since
4454    the primary use case of lzma_memlimit_set() is to increase
4455    memlimit after LZMA_MEMLIMIT_ERROR this simple approach
4456    was selected.
4457
4458    The cached memory was always included when enforcing
4459    the memory usage limit while decoding.
4460
4461    Thanks to Jia Tan.
4462
4463 src/liblzma/common/stream_decoder_mt.c | 22 +++++++++++++++++++---
4464 1 file changed, 19 insertions(+), 3 deletions(-)
4465
4466commit 1fc6e7dd1fabdb60124d449b99273330ccab3ff1
4467Author: Jia Tan <jiat0218@gmail.com>
4468Date:   2022-11-07 16:24:14 +0200
4469
4470    xz: Avoid a compiler warning in progress_speed() in message.c.
4471
4472    This should be smaller too since it avoids the string constants.
4473
4474 src/xz/message.c | 9 +++------
4475 1 file changed, 3 insertions(+), 6 deletions(-)
4476
4477commit cf118c014683069b5dbe91898acdc40f2f0a1f5d
4478Author: Lasse Collin <lasse.collin@tukaani.org>
4479Date:   2022-10-31 16:26:05 +0200
4480
4481    Build: Clarify comment in configure.ac about SSE2.
4482
4483 configure.ac | 5 ++++-
4484 1 file changed, 4 insertions(+), 1 deletion(-)
4485
4486commit aad3c609ffb72f581a7a2b67be3ad70b2b327840
4487Author: Lasse Collin <lasse.collin@tukaani.org>
4488Date:   2022-10-31 16:16:37 +0200
4489
4490    Build: Remove obsolete commented-out lines from configure.ac.
4491
4492 configure.ac | 4 ----
4493 1 file changed, 4 deletions(-)
4494
4495commit e53e0e2186c6b8ce866bd19aec52f1c318ed31ba
4496Author: Lasse Collin <lasse.collin@tukaani.org>
4497Date:   2022-10-31 13:31:58 +0200
4498
4499    Windows: Fix mythread_once() macro with Vista threads.
4500
4501    Don't call InitOnceComplete() if initialization was already done.
4502
4503    So far mythread_once() has been needed only when building
4504    with --enable-small. windows/build.bash does this together
4505    with --disable-threads so the Vista-specific mythread_once()
4506    is never needed by those builds. VS project files or
4507    CMake-builds don't support HAVE_SMALL builds at all.
4508
4509 src/common/mythread.h | 7 ++++---
4510 1 file changed, 4 insertions(+), 3 deletions(-)
4511
4512commit 48dde3bab9dc04081acb5aa7cf7c5044b8a49f58
4513Author: Lasse Collin <lasse.collin@tukaani.org>
4514Date:   2022-10-31 11:54:44 +0200
4515
4516    liblzma: Silence -Wconversion warning from crc64_fast.c.
4517
4518 src/liblzma/check/crc64_fast.c | 5 +++--
4519 1 file changed, 3 insertions(+), 2 deletions(-)
4520
4521commit a243c617ff249d915ac123de4f536b80322c1fdb
4522Author: Lasse Collin <lasse.collin@tukaani.org>
4523Date:   2022-10-31 11:49:47 +0200
4524
4525    CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4.
4526
4527    This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43.
4528
4529 cmake/tuklib_cpucores.cmake | 5 +++++
4530 1 file changed, 5 insertions(+)
4531
4532commit 05c72de06fcaaedc78f8abba7d5ec568ddcf1e75
4533Author: Lasse Collin <lasse.collin@tukaani.org>
4534Date:   2022-10-27 15:49:18 +0300
4535
4536    Tests: test_files.sh: Make it not fail if features were disabled at build.
4537
4538    It now tries to test as many files as easily possible.
4539    The exit status indicates skipping if any of the files were
4540    skipped. This way it is easy to notice if something is being
4541    skipped when it isn't expected.
4542
4543 tests/test_files.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
4544 1 file changed, 46 insertions(+), 4 deletions(-)
4545
4546commit b3459327a51f4b8239d19e6c34b4e0c6bc2d81de
4547Author: Lasse Collin <lasse.collin@tukaani.org>
4548Date:   2022-10-27 15:30:13 +0300
4549
4550    Tests: test_files.sh: Suppress an expected warning from the log.
4551
4552    xz (but not xzdec) will normally warn about unsupported check
4553    but since we are testing specifically such a file, it's better
4554    to silence that warning so that it doesn't look suspicious in
4555    test_files.sh.log.
4556
4557    The use of -q and -Q in xzdec is just for consistency and
4558    doesn't affect the result at least for now.
4559
4560 tests/test_files.sh | 4 ++--
4561 1 file changed, 2 insertions(+), 2 deletions(-)
4562
4563commit 798c86e4231e0835ab76ccd0810c8ea30833b2ce
4564Author: Lasse Collin <lasse.collin@tukaani.org>
4565Date:   2022-10-27 15:27:50 +0300
4566
4567    Tests: test_files.sh: Print the reason for skipping if xz & xzdec missing.
4568
4569 tests/test_files.sh | 1 +
4570 1 file changed, 1 insertion(+)
4571
4572commit c1dd8524e1af07f16b790463899de06a6a5fcc08
4573Author: Lasse Collin <lasse.collin@tukaani.org>
4574Date:   2022-10-27 01:12:40 +0300
4575
4576    Tests: Keep test_compress_* working when some filters are unavailable.
4577
4578 tests/test_compress.sh | 34 ++++++++++++++++++++--------------
4579 1 file changed, 20 insertions(+), 14 deletions(-)
4580
4581commit ce30ada91951d0746879ae438da11f1ee8a90aa0
4582Author: Jia Tan <jiat0218@gmail.com>
4583Date:   2022-10-23 21:01:08 +0800
4584
4585    Tests: test_bcj_exact_size skips properly now if PowerPC filter disabled.
4586
4587 tests/test_bcj_exact_size.c | 3 +++
4588 1 file changed, 3 insertions(+)
4589
4590commit 89c5cfcacaca7130509fac836e2f30c46b824502
4591Author: Lasse Collin <lasse.collin@tukaani.org>
4592Date:   2022-10-26 00:05:57 +0300
4593
4594    Tests: Test also unsupported-*.xz.
4595
4596 tests/test_files.sh | 37 +++++++++++++++++++++++++++++++++++++
4597 1 file changed, 37 insertions(+)
4598
4599commit a4b214b93ac741edef9c41e55865b0b867ca2587
4600Author: Lasse Collin <lasse.collin@tukaani.org>
4601Date:   2022-10-25 23:45:03 +0300
4602
4603    Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER.
4604
4605    We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS.
4606
4607    There is a warning about AC_PROG_CC_C99 being obsolete but
4608    it cannot be removed because it is needed with Autoconf 2.69.
4609
4610 configure.ac | 2 +-
4611 1 file changed, 1 insertion(+), 1 deletion(-)
4612
4613commit 04f299b64e73f50afc188c2590ebebc6b73ed744
4614Author: Lasse Collin <lasse.collin@tukaani.org>
4615Date:   2022-10-25 23:31:44 +0300
4616
4617    Build: Update m4/ax_pthread.m4 from Autoconf Archive.
4618
4619 m4/ax_pthread.m4 | 29 ++++++++++++++++++++++-------
4620 1 file changed, 22 insertions(+), 7 deletions(-)
4621
4622commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8
4623Author: Lasse Collin <lasse.collin@tukaani.org>
4624Date:   2022-10-25 23:28:34 +0300
4625
4626    Build: Add configure option --disable-microlzma.
4627
4628    MicroLZMA was made for EROFS and used by erofs-utils.
4629    It might be used by something else in the future but
4630    those wanting a smaller build for specific situations
4631    can now disable this rarely-needed feature.
4632
4633 configure.ac | 22 ++++++++++++++++++++++
4634 1 file changed, 22 insertions(+)
4635
4636commit 054ccd6d14b2cc6eddc56897af280d3221414150
4637Author: Lasse Collin <lasse.collin@tukaani.org>
4638Date:   2022-10-25 23:09:11 +0300
4639
4640    xz: Fix --single-stream with an empty .xz Stream.
4641
4642    Example:
4643
4644        $ xz -dc --single-stream good-0-empty.xz
4645        xz: good-0-empty.xz: Internal error (bug)
4646
4647    The code, that is tries to catch some input file issues early,
4648    didn't anticipate LZMA_STREAM_END which is possible in that
4649    code only when --single-stream is used.
4650
4651 src/xz/coder.c | 9 +++++++++
4652 1 file changed, 9 insertions(+)
4653
4654commit 563288ea705e83ff5cb292adf794650c263bca1d
4655Author: Lasse Collin <lasse.collin@tukaani.org>
4656Date:   2022-10-25 21:11:58 +0300
4657
4658    xz: Add support for OpenBSD's pledge() sandbox.
4659
4660 configure.ac     | 12 +++++++++---
4661 src/xz/file_io.c | 11 +++++++++++
4662 src/xz/main.c    | 13 +++++++++++++
4663 src/xz/private.h |  2 +-
4664 4 files changed, 34 insertions(+), 4 deletions(-)
4665
4666commit f9913e8ee2ba0b1e4ff4d0aa4c001aae305ed944
4667Author: Lasse Collin <lasse.collin@tukaani.org>
4668Date:   2022-10-25 19:07:17 +0300
4669
4670    xz: Fix decompressor behavior if input uses an unsupported check type.
4671
4672    Now files with unsupported check will make xz display
4673    a warning, set the exit status to 2 (unless --no-warn is used),
4674    and then decompress the file normally. This is how it was
4675    supposed to work since the beginning but this was broken by
4676    the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is,
4677    a little before 5.0.0 was released. The buggy behavior displayed
4678    a message, set exit status 1 (error), and xz didn't attempt to
4679    to decompress the file.
4680
4681    This doesn't matter today except for special builds that disable
4682    CRC64 or SHA-256 at build time (but such builds should be used
4683    in special situations only). The bug matters if new check type
4684    is added in the future and an old xz version is used to decompress
4685    such a file; however, it's likely that such files would use a new
4686    filter too and an old xz wouldn't be able to decompress the file
4687    anyway.
4688
4689    The first hunk in the commit is the actual fix. The second hunk
4690    is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz.
4691
4692    There is a test file for unsupported check type but it wasn't
4693    used by test_files.sh, perhaps due to different behavior between
4694    xz and the simpler xzdec.
4695
4696 src/xz/coder.c | 19 +++++++++++++++----
4697 1 file changed, 15 insertions(+), 4 deletions(-)
4698
4699commit aa4fe145b9486adc454f44fd3e09be9add808a0f
4700Author: Lasse Collin <lasse.collin@tukaani.org>
4701Date:   2022-10-25 18:36:19 +0300
4702
4703    xz: Clarify the man page: input file isn't removed if an error occurs.
4704
4705 src/xz/xz.1 | 5 +++--
4706 1 file changed, 3 insertions(+), 2 deletions(-)
4707
4708commit 8b46ae8cdeddfd7dc01fec92971b8696e9a96c5d
4709Author: Lasse Collin <lasse.collin@tukaani.org>
4710Date:   2022-10-25 18:30:55 +0300
4711
4712    xz: Refactor to remove is_empty_filename().
4713
4714    Long ago it was used in list.c too but nowadays it's needed
4715    only in io_open_src() so it's nicer to avoid a separate function.
4716
4717 src/xz/file_io.c |  4 +++-
4718 src/xz/util.c    | 12 ------------
4719 src/xz/util.h    |  4 ----
4720 3 files changed, 3 insertions(+), 17 deletions(-)
4721
4722commit 85624015978b0de294cff3df79006df987c552b1
4723Author: Lasse Collin <lasse.collin@tukaani.org>
4724Date:   2022-10-25 18:23:54 +0300
4725
4726    xz: If input file cannot be removed, treat it as a warning, not error.
4727
4728    Treating it as a warning (message + exit status 2) matches gzip
4729    and it seems more logical as at that point the output file has
4730    already been successfully closed. When it's a warning it is
4731    possible to suppress it with --no-warn.
4732
4733 src/xz/file_io.c | 4 ++--
4734 1 file changed, 2 insertions(+), 2 deletions(-)
4735
4736commit fda9f85f52c546f7ca0313cf89481da4707fecb3
4737Author: Lasse Collin <lasse.collin@tukaani.org>
4738Date:   2022-10-24 16:25:09 +0300
4739
4740    liblzma: Threaded decoder: Stop the worker threads on errors.
4741
4742    It's waste of CPU time and electricity to leave the unfinished
4743    worker threads running when it is known that their output will
4744    get ignored.
4745
4746 src/liblzma/common/stream_decoder_mt.c | 33 ++++++++++++++++++++++++++-------
4747 1 file changed, 26 insertions(+), 7 deletions(-)
4748
4749commit 2611c4d90535652d3eb7ef4a026a6691276fab43
4750Author: Lasse Collin <lasse.collin@tukaani.org>
4751Date:   2022-10-20 20:22:50 +0300
4752
4753    tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD.
4754
4755    On OpenBSD the number of cores online is often less
4756    than what HW_NCPU would return because OpenBSD disables
4757    simultaneous multi-threading (SMT) by default.
4758
4759    Thanks to Christian Weisgerber.
4760
4761 m4/tuklib_cpucores.m4        | 5 +++++
4762 src/common/tuklib_cpucores.c | 9 +++++++++
4763 2 files changed, 14 insertions(+)
4764
4765commit 424ac91c7e0419393ff2bde4f62e21fa611c776d
4766Author: Lasse Collin <lasse.collin@tukaani.org>
4767Date:   2022-10-19 19:39:35 +0300
4768
4769    Tests: Skip tests in test_*.sh if encoders and/or decoders are disabled.
4770
4771    This isn't perfect as the scripts can still fail if only
4772    certain filters are disabled. This is still an improvement
4773    as now "make check" has better behavior when all encoders
4774    or decoders are disabled.
4775
4776    Grepping ../config.h is simple and fairly clean but it only
4777    works if config.h was created. CMake builds don't create
4778    config.h but they don't use these test scripts either.
4779
4780    Thanks to Sebastian Andrzej Siewior for reporting the problem.
4781    Thanks to Jia Tan for the original patch which grepped xz
4782    error messages instead of config.h.
4783
4784 tests/test_compress.sh | 12 ++++++++++++
4785 tests/test_files.sh    | 11 +++++++++++
4786 tests/test_scripts.sh  | 11 +++++++++++
4787 3 files changed, 34 insertions(+)
4788
4789commit ca8bf9d7c5a30be8ba1eeb106fd892f19e83ed09
4790Author: Lasse Collin <lasse.collin@tukaani.org>
4791Date:   2022-10-19 18:54:34 +0300
4792
4793    Test: Remove the (exit 1) lines.
4794
4795    I suspect that I used these in the original version because
4796    Autoconf's manual describes that such a trick is needed in
4797    some specific situations for portability reasons. None of those
4798    situations listed on Autoconf 2.71 manual apply to these test
4799    scripts though so this cleans them up.
4800
4801 tests/test_compress.sh | 10 ----------
4802 tests/test_files.sh    |  9 ---------
4803 tests/test_scripts.sh  |  6 ------
4804 3 files changed, 25 deletions(-)
4805
4806commit 82fcb7cfc17ce62f79ebc7ca2374e1daca5e4d5e
4807Author: Lasse Collin <lasse.collin@tukaani.org>
4808Date:   2022-10-19 17:14:57 +0300
4809
4810    Tests: Fix a warning in test_memlimit.c when decoders are disabled.
4811
4812 tests/test_memlimit.c | 3 +++
4813 1 file changed, 3 insertions(+)
4814
4815commit b5f8271b45b9b0e59485ffba3640ca3418835ec4
4816Author: Lasse Collin <lasse.collin@tukaani.org>
4817Date:   2022-10-19 17:11:46 +0300
4818
4819    Tests: Add test_memlimit to .gitignore.
4820
4821    Thanks to Jia Tan.
4822
4823 .gitignore | 1 +
4824 1 file changed, 1 insertion(+)
4825
4826commit 6a86e81cab202d0a812a7b2e9efacaf70c58ba38
4827Author: Jia Tan <jiat0218@gmail.com>
4828Date:   2022-10-06 21:53:09 +0300
4829
4830    Tests: Refactor test_stream_flags.c.
4831
4832    Converts test_stream_flags to tuktest. Also the test will now
4833    compile and skip properly if encoders or decoders are disabled.
4834
4835    Thanks to Sebastian Andrzej Siewior.
4836
4837 tests/test_stream_flags.c | 533 ++++++++++++++++++++++++++++++++++++----------
4838 1 file changed, 416 insertions(+), 117 deletions(-)
4839
4840commit 827ac5b4821491fd3afe0d0e1ddac326253aeb66
4841Author: Jia Tan <jiat0218@gmail.com>
4842Date:   2022-10-06 17:00:38 +0800
4843
4844    Tests: Refactor test_block_header.c.
4845
4846    test_block_header now achieves higher test coverage. Also the
4847    test will now compile and skip properly if encoders or decoders
4848    are disabled.
4849
4850    Thanks to Sebastian Andrzej Siewior.
4851
4852 tests/test_block_header.c | 486 +++++++++++++++++++++++++++++++++++-----------
4853 1 file changed, 370 insertions(+), 116 deletions(-)
4854
4855commit 84963318952064a93bfc52edd6b0ef70593384ee
4856Author: Jia Tan <jiat0218@gmail.com>
4857Date:   2022-10-05 23:54:12 +0800
4858
4859    Tests: Fix compilation issues.
4860
4861    test_bcj_exact_size, test_check, test_hardware, and test_index will
4862    all now compile and skip properly if encoders or decoders are disabled.
4863
4864    Also fixed a small typo (disabed -> disabled).
4865
4866    Thanks to Sebastian Andrzej Siewior.
4867
4868 tests/test_bcj_exact_size.c | 20 ++++++++++++++------
4869 tests/test_check.c          |  8 +++++++-
4870 tests/test_hardware.c       |  2 +-
4871 tests/test_index.c          |  6 ++++++
4872 tests/test_memlimit.c       | 16 +++++++++++++++-
4873 tests/test_vli.c            | 13 +++++++++++++
4874 6 files changed, 56 insertions(+), 9 deletions(-)
4875
4876commit 7dcabeec63d46b436fa5f043c3d1f09d0e15be16
4877Author: Lasse Collin <lasse.collin@tukaani.org>
4878Date:   2022-10-05 16:20:47 +0300
4879
4880    Tests: Include mythread.h in the tests that use MYTHREAD_ENABLED.
4881
4882 tests/test_check.c    | 1 +
4883 tests/test_hardware.c | 1 +
4884 tests/test_memlimit.c | 1 +
4885 3 files changed, 3 insertions(+)
4886
4887commit 14af758a770c7781af18fb66d6d21ee5b1c27f04
4888Author: Jia Tan <jiat0218@gmail.com>
4889Date:   2022-10-05 20:57:16 +0800
4890
4891    liblzma: Fix a compilation issue when encoders are disabled.
4892
4893    When encoders were disabled and threading enabled, outqueue.c and
4894    outqueue.h were not compiled. The multi threaded decoder required
4895    these files, so compilation failed.
4896
4897 src/liblzma/common/Makefile.inc | 7 ++++---
4898 1 file changed, 4 insertions(+), 3 deletions(-)
4899
4900commit 6ca5c354bd4620aa7f81da68870eef1b1f26288f
4901Author: Jia Tan <jiat0218@gmail.com>
4902Date:   2022-10-05 16:41:38 +0800
4903
4904    Tests: Fix compilation error when threading support has been disabled.
4905
4906    Now tests that require threading are skipped when threading
4907    support has been disabled.
4908
4909    Thanks to Sebastian Andrzej Siewior.
4910
4911 tests/test_check.c    | 4 ++++
4912 tests/test_hardware.c | 4 ++++
4913 tests/test_memlimit.c | 4 ++++
4914 3 files changed, 12 insertions(+)
4915
4916commit fae37ad2affd8fe8871f4ff93d5cab5ec14d5e58
4917Author: Lasse Collin <lasse.collin@tukaani.org>
4918Date:   2022-10-05 14:26:00 +0300
4919
4920    tuklib_integer: Add 64-bit endianness-converting reads and writes.
4921
4922    Also update the comment in liblzma's memcmplen.h.
4923
4924    Thanks to Michał Górny for the original patch for the reads.
4925
4926 m4/tuklib_integer.m4           |  8 ++++----
4927 src/common/tuklib_integer.h    | 46 ++++++++++++++++++++++++++++++++++++++++--
4928 src/liblzma/common/memcmplen.h |  9 +++------
4929 3 files changed, 51 insertions(+), 12 deletions(-)
4930
4931commit 508a44372c5b0dede8863fd0d358d4a9d8645c95
4932Author: Lasse Collin <lasse.collin@tukaani.org>
4933Date:   2022-09-30 12:06:13 +0300
4934
4935    liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug.
4936
4937    The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98.
4938
4939 src/liblzma/api/lzma/base.h | 11 +++++++++++
4940 1 file changed, 11 insertions(+)
4941
4942commit 8cc9874a7974cd575aee44f218836f7acdbeb0ed
4943Author: Jia Tan <jiat0218@gmail.com>
4944Date:   2022-09-21 16:15:50 +0800
4945
4946    liblzma: Add dest and src NULL checks to lzma_index_cat.
4947
4948    The documentation states LZMA_PROG_ERROR can be returned from
4949    lzma_index_cat. Previously, lzma_index_cat could not return
4950    LZMA_PROG_ERROR. Now, the validation is similar to
4951    lzma_index_append, which does a NULL check on the index
4952    parameter.
4953
4954 src/liblzma/common/index.c | 3 +++
4955 1 file changed, 3 insertions(+)
4956
4957commit afd5a8bf5374eba82804a999e1ea7af680784086
4958Author: Jia Tan <jiat0218@gmail.com>
4959Date:   2022-09-21 20:29:28 +0800
4960
4961    Tests: Create a test for the lzma_index_cat bug.
4962
4963 tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
4964 1 file changed, 42 insertions(+), 1 deletion(-)
4965
4966commit 3d5a99ca373a4e86faf671226ca6487febb9eeac
4967Author: Jia Tan <jiat0218@gmail.com>
4968Date:   2022-09-21 19:28:53 +0800
4969
4970    liblzma: Fix copying of check type statistics in lzma_index_cat().
4971
4972    The check type of the last Stream in dest was never copied to
4973    dest->checks (the code tried to copy it but it was done too late).
4974    This meant that the value returned by lzma_index_checks() would
4975    only include the check type of the last Stream when multiple
4976    lzma_indexes had been concatenated.
4977
4978    In xz --list this meant that the summary would only list the
4979    check type of the last Stream, so in this sense this was only
4980    a visual bug. However, it's possible that some applications
4981    use this information for purposes other than merely showing
4982    it to the users in an informational message. I'm not aware of
4983    such applications though and it's quite possible that such
4984    applications don't exist.
4985
4986    Regular streamed decompression in xz or any other application
4987    doesn't use lzma_index_cat() and so this bug cannot affect them.
4988
4989 src/liblzma/common/index.c | 7 ++++++-
4990 1 file changed, 6 insertions(+), 1 deletion(-)
4991
4992commit a61d32172789735350a941e23baf6b587c49e5d9
4993Author: Lasse Collin <lasse.collin@tukaani.org>
4994Date:   2022-09-28 12:20:41 +0300
4995
4996    tuklib_physmem: Fix Unicode builds on Windows.
4997
4998    Thanks to ArSaCiA Game.
4999
5000 src/common/tuklib_physmem.c | 2 +-
5001 1 file changed, 1 insertion(+), 1 deletion(-)
5002
5003commit 5a4d3548ab214fdca364d5c734baf1d1fab47308
5004Author: Lasse Collin <lasse.collin@tukaani.org>
5005Date:   2022-09-28 11:12:07 +0300
5006
5007    Tests: Add test_memlimit.c to test restarting after LZMA_MEMLIMIT_ERROR.
5008
5009 tests/Makefile.am     |   2 +
5010 tests/test_memlimit.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++
5011 2 files changed, 153 insertions(+)
5012
5013commit 660739f99ab211edec4071de98889fb32ed04e98
5014Author: Lasse Collin <lasse.collin@tukaani.org>
5015Date:   2022-09-28 11:05:15 +0300
5016
5017    liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR.
5018
5019    If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible
5020    to use lzma_memlimit_set() to increase the limit and continue
5021    decoding. This was supposed to work from the beginning but
5022    there was a bug. With other decoders (.lzma or threaded .xz)
5023    this already worked correctly.
5024
5025 src/liblzma/common/stream_decoder.c | 16 +++++++++++++---
5026 1 file changed, 13 insertions(+), 3 deletions(-)
5027
5028commit 7e68fda58c74ad9e5b876cc22fcbe80fc0e4747b
5029Author: Lasse Collin <lasse.collin@tukaani.org>
5030Date:   2022-09-28 11:00:23 +0300
5031
5032    liblzma: Stream decoder: Fix comments.
5033
5034 src/liblzma/common/stream_decoder.c | 12 +++++-------
5035 1 file changed, 5 insertions(+), 7 deletions(-)
5036
5037commit f664cb25841fc1c478b819034a224a558e2ac6e7
5038Author: Lasse Collin <lasse.collin@tukaani.org>
5039Date:   2022-09-20 16:58:22 +0300
5040
5041    liblzma: ARM64: Add comments.
5042
5043 src/liblzma/simple/arm64.c | 13 +++++++++++++
5044 1 file changed, 13 insertions(+)
5045
5046commit b557b4a0eea05470fae8ba5ef4ad5a6dfb36ac41
5047Author: Lasse Collin <lasse.collin@tukaani.org>
5048Date:   2022-09-20 16:27:50 +0300
5049
5050    liblzma: ARM64: Fix wrong comment in API doc.
5051
5052    Thanks to Jia Tan.
5053
5054 src/liblzma/api/lzma/bcj.h | 4 ++--
5055 1 file changed, 2 insertions(+), 2 deletions(-)
5056
5057commit d5b0906fa55157f48c200188a3951d80df9cb308
5058Author: Lasse Collin <lasse.collin@tukaani.org>
5059Date:   2022-09-19 20:24:26 +0300
5060
5061    xz: Add --experimental-arm64[=width=WIDTH].
5062
5063    It will be renamed to --arm64 once it is stable.
5064
5065    Man page or --long-help weren't updated yet.
5066
5067 src/xz/args.c    |  7 +++++++
5068 src/xz/message.c |  7 +++++++
5069 src/xz/options.c | 39 +++++++++++++++++++++++++++++++++++++++
5070 src/xz/options.h |  7 +++++++
5071 4 files changed, 60 insertions(+)
5072
5073commit ecb966de308c255bb4735a7307ef9901c643a9de
5074Author: Lasse Collin <lasse.collin@tukaani.org>
5075Date:   2022-09-19 19:34:56 +0300
5076
5077    liblzma: Add experimental ARM64 BCJ filter with a temporary Filter ID.
5078
5079    That is, the Filter ID will be changed once the design is final.
5080    The current version will be removed. So files created with the
5081    tempoary Filter ID won't be supported in the future.
5082
5083 CMakeLists.txt                      |   3 +
5084 configure.ac                        |   4 +-
5085 src/liblzma/api/lzma/bcj.h          |  35 +++++-
5086 src/liblzma/common/filter_common.c  |   9 ++
5087 src/liblzma/common/filter_decoder.c |   8 ++
5088 src/liblzma/common/filter_encoder.c |  11 ++
5089 src/liblzma/simple/Makefile.inc     |   4 +
5090 src/liblzma/simple/arm64.c          | 227 ++++++++++++++++++++++++++++++++++++
5091 src/liblzma/simple/simple_coder.h   |   9 ++
5092 src/liblzma/simple/simple_decoder.h |   4 +
5093 src/liblzma/simple/simple_encoder.h |   2 +
5094 11 files changed, 313 insertions(+), 3 deletions(-)
5095
5096commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
5097Author: Lasse Collin <lasse.collin@tukaani.org>
5098Date:   2022-09-17 22:42:18 +0300
5099
5100    liblzma: Simple/BCJ filters: Allow disabling generic BCJ options.
5101
5102    This will be needed for the ARM64 BCJ filter as it will use
5103    its own options struct.
5104
5105 src/liblzma/simple/arm.c            | 2 +-
5106 src/liblzma/simple/armthumb.c       | 2 +-
5107 src/liblzma/simple/ia64.c           | 2 +-
5108 src/liblzma/simple/powerpc.c        | 2 +-
5109 src/liblzma/simple/simple_coder.c   | 4 ++--
5110 src/liblzma/simple/simple_private.h | 2 +-
5111 src/liblzma/simple/sparc.c          | 2 +-
5112 src/liblzma/simple/x86.c            | 3 ++-
5113 8 files changed, 10 insertions(+), 9 deletions(-)
5114
5115commit c3592d0a55114144686ecf960cb516d6b31c98e9
5116Author: Lasse Collin <lasse.collin@tukaani.org>
5117Date:   2022-09-16 17:08:53 +0300
5118
5119    Tests: Add a test file for lzma_index_append() integer overflow bug.
5120
5121    This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136.
5122
5123    test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz
5124    because only then the previously-buggy code path gets tested.
5125    Normal decompression doesn't use lzma_index_append() at all.
5126    Instead, lzma_index_hash functions are used and those already
5127    did the overflow check.
5128
5129 tests/files/README                         |  10 ++++++++++
5130 tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes
5131 tests/test_files.sh                        |   8 ++++++++
5132 3 files changed, 18 insertions(+)
5133
5134commit 982b29f828079a2a26253a40e975127a40a7d2bd
5135Author: Lasse Collin <lasse.collin@tukaani.org>
5136Date:   2022-09-16 15:10:07 +0300
5137
5138    Translations: Add Turkish translation.
5139
5140 po/LINGUAS |   1 +
5141 po/tr.po   | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5142 2 files changed, 978 insertions(+)
5143
5144commit 1fc088d9f6d1697924aaeac8cd1fb9918d1532e2
5145Author: Lasse Collin <lasse.collin@tukaani.org>
5146Date:   2022-09-16 14:09:07 +0300
5147
5148    Update THANKS.
5149
5150 THANKS | 1 +
5151 1 file changed, 1 insertion(+)
5152
5153commit 097c7b67ce86ff16a7cef7631b39e5ca4ee3d420
5154Author: Lasse Collin <lasse.collin@tukaani.org>
5155Date:   2022-09-16 14:07:03 +0300
5156
5157    xzgrep: Fix compatibility with old shells.
5158
5159    Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15:
5160
5161        xzgrep: line 231: syntax error near unexpected token `;;'
5162
5163    On SCO OpenServer 5.0.7 with Korn Shell 93r:
5164
5165        syntax error at line 231 : `;;' unexpected
5166
5167    Turns out that some old shells don't like apostrophes (') inside
5168    command substitutions. For example, the following fails:
5169
5170        x=$(echo foo
5171        # asdf'zxcv
5172        echo bar)
5173        printf '%s\n' "$x"
5174
5175    The problem was introduced by commits
5176    69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29),
5177    bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and
5178    a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19).
5179    5.2.6 is the only stable release that included
5180    this problem.
5181
5182    Thanks to Kevin R. Bulgrien for reporting the problem
5183    on SCO OpenServer 5.0.7 and for providing the fix.
5184
5185 src/scripts/xzgrep.in | 6 +++---
5186 1 file changed, 3 insertions(+), 3 deletions(-)
5187
5188commit f2d084fe3f0d6d71488bfc6987f26542f67bfd99
5189Author: Lasse Collin <lasse.collin@tukaani.org>
5190Date:   2022-09-09 14:12:30 +0300
5191
5192    Tests: Silence warnings about unused functions from tuktest.h.
5193
5194    Warnings about unused tuktest_run_test conveniently tell which
5195    test programs haven't been converted to tuktest.h yet but I
5196    silenced that warning too for now anyway.
5197
5198    It is fine to use __attribute__((__unused__)) even when the
5199    function is actually used because the attribute only means
5200    that the function might be unused.
5201
5202 tests/tuktest.h | 10 ++++++++++
5203 1 file changed, 10 insertions(+)
5204
5205commit f8ee61e74eb40600445fdb601c374d582e1e9c8a
5206Author: Lasse Collin <lasse.collin@tukaani.org>
5207Date:   2022-09-09 13:51:57 +0300
5208
5209    liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs.
5210
5211    lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed
5212    this. Before this patch, failing lzma_filters_copy() could result
5213    in free(invalid_pointer) or invalid memory reads in stream_encoder.c
5214    or stream_encoder_mt.c.
5215
5216    To trigger this, allocating memory for a filter options structure
5217    has to fail. These are tiny allocations so in practice they very
5218    rarely fail.
5219
5220    Certain badness in the filter chain array could also make
5221    lzma_filters_copy() fail but both stream_encoder.c and
5222    stream_encoder_mt.c validate the filter chain before
5223    trying to copy it, so the crash cannot occur this way.
5224
5225 src/liblzma/api/lzma/filter.h      |  4 +++-
5226 src/liblzma/common/filter_common.c | 18 ++++++++++++------
5227 2 files changed, 15 insertions(+), 7 deletions(-)
5228
5229commit 18d7facd3802b55c287581405c4d49c98708c136
5230Author: Jia Tan <jiat0218@gmail.com>
5231Date:   2022-09-02 20:18:55 +0800
5232
5233    liblzma: lzma_index_append: Add missing integer overflow check.
5234
5235    The documentation in src/liblzma/api/lzma/index.h suggests that
5236    both the unpadded (compressed) size and the uncompressed size
5237    are checked for overflow, but only the unpadded size was checked.
5238    The uncompressed check is done first since that is more likely to
5239    occur than the unpadded or index field size overflows.
5240
5241 src/liblzma/common/index.c | 4 ++++
5242 1 file changed, 4 insertions(+)
5243
5244commit 9ac06cb5b85274d18f9f70d82cf2d8c9c1151bd4
5245Author: Lasse Collin <lasse.collin@tukaani.org>
5246Date:   2022-09-08 15:11:08 +0300
5247
5248    Update THANKS.
5249
5250 THANKS | 1 +
5251 1 file changed, 1 insertion(+)
5252
5253commit ba3e4ba2de034ae93a513f9c3a0823b80cdb66dc
5254Author: Jia Tan <jiat0218@gmail.com>
5255Date:   2022-09-08 15:07:00 +0300
5256
5257    CMake: Clarify a comment about Windows symlinks without file extension.
5258
5259 CMakeLists.txt | 7 +++----
5260 1 file changed, 3 insertions(+), 4 deletions(-)
5261
5262commit 17485e884ce5c74315f29a8a1507bc706cd5cd1d
5263Author: Lasse Collin <lasse.collin@tukaani.org>
5264Date:   2022-09-08 15:02:41 +0300
5265
5266    CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep.
5267
5268    The previous commit split liblzma.map into liblzma_linux.map and
5269    liblzma_generic.map. This commit updates the CMake build for those.
5270
5271    common_w32res.rc dependency was listed under Linux/FreeBSD while
5272    obviously it belongs to Windows when building a DLL.
5273
5274 CMakeLists.txt | 24 +++++++++++++++++++-----
5275 1 file changed, 19 insertions(+), 5 deletions(-)
5276
5277commit 913ddc5572b9455fa0cf299be2e35c708840e922
5278Author: Lasse Collin <lasse.collin@tukaani.org>
5279Date:   2022-09-04 23:23:00 +0300
5280
5281    liblzma: Vaccinate against an ill patch from RHEL/CentOS 7.
5282
5283    RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded
5284    encoder that is behind #ifdef LZMA_UNSTABLE in the API headers.
5285    In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map.
5286    API/ABI compatibility tracking isn't done between development
5287    releases so newer releases didn't have XZ_5.1.2alpha anymore.
5288
5289    Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep
5290    the exported symbols compatible with 5.1.2alpha. After checking
5291    the ABI changes it turned out that >= 5.2.0 ABI is backward
5292    compatible with the threaded encoder functions from 5.1.2alpha
5293    (but not vice versa as fixes and extensions to these functions
5294    were made between 5.1.2alpha and 5.2.0).
5295
5296    In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with
5297    xz-5.2.2-compat-libs.patch to modify liblzma.map:
5298
5299      - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and
5300        lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha.
5301
5302      - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was
5303        an error; the intention was to keep using XZ_5.2 (XZ_5.2.2
5304        has never been used in XZ Utils). So XZ_5.2.2 lists all
5305        symbols that were listed under XZ_5.2 before the patch.
5306        lzma_stream_encoder_mt and _mt_memusage are included too so
5307        they are listed both here and under XZ_5.1.2alpha.
5308
5309    The patch didn't add any __asm__(".symver ...") lines to the .c
5310    files. Thus the resulting liblzma.so exports the threaded encoder
5311    functions under XZ_5.1.2alpha only. Listing the two functions
5312    also under XZ_5.2.2 in liblzma.map has no effect without
5313    matching .symver lines.
5314
5315    The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked
5316    against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7.
5317    This is unfortunate but this alone isn't too bad as the problem
5318    is contained within RHEL/CentOS 7 and doesn't affect users
5319    of other distributions. It could also be fixed internally in
5320    RHEL/CentOS 7.
5321
5322    The second problem is more serious: In XZ Utils 5.2.2 the API
5323    headers don't have #ifdef LZMA_UNSTABLE for obvious reasons.
5324    This is true in RHEL/CentOS 7 version too. Thus now programs
5325    using new APIs can be compiled without an extra #define. However,
5326    the programs end up depending on symbol version XZ_5.1.2alpha
5327    (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would
5328    with an unpatched XZ Utils 5.2.2. This means that such binaries
5329    won't run on other distributions shipping XZ Utils >= 5.2.0 as
5330    they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide
5331    XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch
5332    luckily isn't included there anymore with XZ Utils 5.2.4.)
5333
5334    Binaries built by RHEL/CentOS 7 users get distributed and then
5335    people wonder why they don't run on some other distribution.
5336    Seems that people have found out about the patch and been copying
5337    it to some build scripts, seemingly curing the symptoms but
5338    actually spreading the illness further and outside RHEL/CentOS 7.
5339
5340    The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it
5341    had spread at least to EasyBuild. I heard about the events only
5342    recently. :-(
5343
5344    This commit splits liblzma.map into two versions: one for
5345    GNU/Linux and another for other OSes that can use symbol versioning
5346    (FreeBSD, Solaris, maybe others). The Linux-specific file and the
5347    matching additions to .c files add full compatibility with binaries
5348    that have been built against a RHEL/CentOS-patched liblzma. Builds
5349    for OSes other than GNU/Linux won't get the vaccine as they should
5350    be immune to the problem (I really hope that no build script uses
5351    the RHEL/CentOS 7 patch outside GNU/Linux).
5352
5353    The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2
5354    are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way
5355    if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building,
5356    the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2
5357    since XZ_5.2 {...} is the first one that lists that function.
5358    Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2
5359    will be missing but that's still a minor problem compared to
5360    only having lzma_stream_encoder_mt@@XZ_5.1.2alpha!
5361
5362    The "local: *;" line was moved to XZ_5.0 so that it doesn't need
5363    to be moved around. It doesn't matter where it is put.
5364
5365    Having two similar liblzma_*.map files is a bit silly as it is,
5366    at least for now, easily possible to generate the generic one
5367    from the Linux-specific file. But that adds extra steps and
5368    increases the risk of mistakes when supporting more than one
5369    build system. So I rather maintain two files in parallel and let
5370    validate_map.sh check that they are in sync when "make mydist"
5371    is run.
5372
5373    This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and
5374    lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these
5375    weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was
5376    for these two). I added these anyway because someone might
5377    misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2
5378    (@@XZ_5.2.2) versions were exported too.
5379
5380    At glance one could suggest using __typeof__ to copy the function
5381    prototypes when making aliases. However, this doesn't work trivially
5382    because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure)
5383    and it won't change symbol visibility from hidden to default (done
5384    by LZMA_API()). Attributes could be copied with __copy__ attribute
5385    but that needs GCC 9 and a fallback method would be needed anyway.
5386
5387    This uses __symver__ attribute with GCC >= 10 and
5388    __asm__(".symver ...") with everything else. The attribute method
5389    is required for LTO (-flto) support with GCC. Using -flto with
5390    GCC older than 10 is now broken on GNU/Linux and will not be fixed
5391    (can silently result in a broken liblzma build that has dangerously
5392    incorrect symbol versions). LTO builds with Clang seem to work
5393    with the traditional __asm__(".symver ...") method.
5394
5395    Thanks to Boud Roukema for reporting the problem and discussing
5396    the details and testing the fix.
5397
5398 configure.ac                                     |  23 +++-
5399 src/liblzma/Makefile.am                          |  10 +-
5400 src/liblzma/common/block_buffer_encoder.c        |  18 ++++
5401 src/liblzma/common/common.c                      |  14 +++
5402 src/liblzma/common/common.h                      |  28 +++++
5403 src/liblzma/common/hardware_cputhreads.c         |  12 +++
5404 src/liblzma/common/stream_encoder_mt.c           |  42 ++++++++
5405 src/liblzma/{liblzma.map => liblzma_generic.map} |   6 +-
5406 src/liblzma/liblzma_linux.map                    | 131 +++++++++++++++++++++++
5407 src/liblzma/validate_map.sh                      | 113 +++++++++++++++++--
5408 10 files changed, 382 insertions(+), 15 deletions(-)
5409
5410commit 80a1a8bb838842a2be343bd88ad1462c21c5e2c9
5411Author: Lasse Collin <lasse.collin@tukaani.org>
5412Date:   2022-08-31 16:42:04 +0300
5413
5414    CMake: Add xz symlinks.
5415
5416    These are a minor thing especially since the xz build has
5417    some real problems still like lack of large file support
5418    on 32-bit systems but I'll commit this since the code exists.
5419
5420    Thanks to Jia Tan.
5421
5422 CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++-
5423 1 file changed, 37 insertions(+), 1 deletion(-)
5424
5425commit a4193bb6d85d7765b1b87faeab3e50106d3ab2e9
5426Author: Lasse Collin <lasse.collin@tukaani.org>
5427Date:   2022-08-31 16:29:38 +0300
5428
5429    CMake: Put xz man page install under if(UNIX) like is for xzdec.
5430
5431    Thanks to Jia Tan.
5432
5433 CMakeLists.txt | 8 +++++---
5434 1 file changed, 5 insertions(+), 3 deletions(-)
5435
5436commit c1555b1a221a1427d4d650647531016d754bc4da
5437Author: Lasse Collin <lasse.collin@tukaani.org>
5438Date:   2022-08-22 18:16:40 +0300
5439
5440    Bump version number for 5.3.3alpha.
5441
5442 src/liblzma/api/lzma/version.h | 2 +-
5443 src/liblzma/liblzma.map        | 2 +-
5444 2 files changed, 2 insertions(+), 2 deletions(-)
5445
5446commit 44fedddc11c3f6ec2f7fe35a3e38f15ca93f90eb
5447Author: Lasse Collin <lasse.collin@tukaani.org>
5448Date:   2022-08-22 18:13:56 +0300
5449
5450    Add NEWS for 5.3.3alpha.
5451
5452 NEWS | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5453 1 file changed, 119 insertions(+)
5454
5455commit a93e235d7ca764cc19f8f9f9063b40ff361c3cfa
5456Author: Lasse Collin <lasse.collin@tukaani.org>
5457Date:   2022-07-12 17:59:41 +0300
5458
5459    Translations: Add Portuguese translation.
5460
5461    Jia Tan made white-space changes and also changed "Language: pt_BR\n"
5462    to pt. The translator wasn't reached so I'm hoping these changes
5463    are OK and will commit it without translator's approval.
5464
5465    Thanks to Pedro Albuquerque and Jia Tan.
5466
5467 po/LINGUAS |    1 +
5468 po/pt.po   | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5469 2 files changed, 1002 insertions(+)
5470
5471commit e7cf5a946f25e40d77f45e41f0dee7d42a04e9ae
5472Author: Lasse Collin <lasse.collin@tukaani.org>
5473Date:   2022-07-10 21:16:40 +0300
5474
5475    Translations: Add Serbian translation.
5476
5477    Quite a few white-space changes were made by Jia Tan to make
5478    this look good. Contacting the translator didn't succeed so
5479    I'm committing this without getting translator's approval.
5480
5481    Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan.
5482
5483 po/LINGUAS |   1 +
5484 po/sr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5485 2 files changed, 988 insertions(+)
5486
5487commit cc8617ab53b1f2a4da212fa76c92fe538269c5de
5488Author: Lasse Collin <lasse.collin@tukaani.org>
5489Date:   2022-07-04 23:51:36 +0300
5490
5491    Translations: Add Swedish translation.
5492
5493    Thanks to Sebastian Rasmussen and Jia Tan.
5494
5495 po/LINGUAS |   1 +
5496 po/sv.po   | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5497 2 files changed, 984 insertions(+)
5498
5499commit c613598c358b640682d0ca2aed38fa7df763e8c7
5500Author: Lasse Collin <lasse.collin@tukaani.org>
5501Date:   2022-07-04 23:40:27 +0300
5502
5503    Translations: Add Esperanto translation.
5504
5505    Thanks to Keith Bowes and Jia Tan.
5506
5507 po/LINGUAS |   1 +
5508 po/eo.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5509 2 files changed, 985 insertions(+)
5510
5511commit 659a587d678f21e98e91d2751c31d4ce050c081a
5512Author: Lasse Collin <lasse.collin@tukaani.org>
5513Date:   2022-07-01 00:22:33 +0300
5514
5515    Translations: Add Catalan translation.
5516
5517    Thanks to Jordi Mas and Jia Tan.
5518
5519 po/LINGUAS |    1 +
5520 po/ca.po   | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5521 2 files changed, 1077 insertions(+)
5522
5523commit 739fd8c9bdf1d85f57d56642aad87148d4779530
5524Author: Lasse Collin <lasse.collin@tukaani.org>
5525Date:   2022-06-30 17:47:08 +0300
5526
5527    Translations: Add Ukrainian translation.
5528
5529    Thanks to Yuri Chornoivan and Jia Tan.
5530
5531 po/LINGUAS |   1 +
5532 po/uk.po   | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5533 2 files changed, 997 insertions(+)
5534
5535commit 73280550b111930c62a667e56add8fd574f80bc8
5536Author: Lasse Collin <lasse.collin@tukaani.org>
5537Date:   2022-06-30 17:45:26 +0300
5538
5539    Translators: Add Romanian translation.
5540
5541    Thanks to Remus-Gabriel Chelu and Jia Tan.
5542
5543 po/LINGUAS |    1 +
5544 po/ro.po   | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5545 2 files changed, 1017 insertions(+)
5546
5547commit 2465f5b825152714b2c357d96c2422c31109d320
5548Author: Lasse Collin <lasse.collin@tukaani.org>
5549Date:   2022-06-29 18:33:32 +0300
5550
5551    Translations: Update Brazilian Portuguese translation.
5552
5553    One msgstr was changed. The diff is long due to changes
5554    in the source code line numbers in the comments.
5555
5556    Thanks to Rafael Fontenelle.
5557
5558 po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------
5559 1 file changed, 92 insertions(+), 94 deletions(-)
5560
5561commit 434e1ffd3e62719d509da10b646216f5ef53fe4d
5562Author: Lasse Collin <lasse.collin@tukaani.org>
5563Date:   2022-06-29 18:04:44 +0300
5564
5565    Translations: Add Croatian translation.
5566
5567    Thanks to Božidar Putanec and Jia Tan.
5568
5569 po/LINGUAS |   1 +
5570 po/hr.po   | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5571 2 files changed, 988 insertions(+)
5572
5573commit 0732d0f7065c9bd48bfe4f5983144ae970c4a499
5574Author: Lasse Collin <lasse.collin@tukaani.org>
5575Date:   2022-06-29 17:58:48 +0300
5576
5577    Translations: Add Spanish translation.
5578
5579    Thanks to Cristian Othón Martínez Vera and Jia Tan.
5580
5581 po/LINGUAS |   1 +
5582 po/es.po   | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5583 2 files changed, 985 insertions(+)
5584
5585commit 9899b0f82bc130998d1f1f618a6ab805b73f2696
5586Author: Lasse Collin <lasse.collin@tukaani.org>
5587Date:   2022-06-29 17:49:43 +0300
5588
5589    Translations: Add Korean translation.
5590
5591    Thanks to Seong-ho Cho and Jia Tan.
5592
5593 po/LINGUAS |   1 +
5594 po/ko.po   | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5595 2 files changed, 973 insertions(+)
5596
5597commit 65217eaf6bd195f3ef027d4ac55d57b7d133d69f
5598Author: Lasse Collin <lasse.collin@tukaani.org>
5599Date:   2020-03-16 21:57:21 +0200
5600
5601    Translations: Rebuild cs.po to avoid incorrect fuzzy strings.
5602
5603    "make dist" updates the .po files and the fuzzy strings would
5604    result in multiple very wrong translations.
5605
5606 po/cs.po | 592 ++++++++++++++++++++++++++++++++++-----------------------------
5607 1 file changed, 322 insertions(+), 270 deletions(-)
5608
5609commit e56ff423ee7af9e648e16b132f0d835d2cb4db26
5610Author: Lasse Collin <lasse.collin@tukaani.org>
5611Date:   2020-03-16 17:30:39 +0200
5612
5613    Translations: Add partial Danish translation.
5614
5615    I made a few minor white space changes without getting them
5616    approved by the Danish translation team.
5617
5618 po/LINGUAS |   1 +
5619 po/da.po   | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5620 2 files changed, 897 insertions(+)
5621
5622commit 43e09c62e77cb8807d932c81de4decbdb956e184
5623Author: Lasse Collin <lasse.collin@tukaani.org>
5624Date:   2020-03-11 22:37:54 +0200
5625
5626    Translations: Add hu, zh_CN, and zh_TW.
5627
5628    I made a few white space changes to these without getting them
5629    approved by the translation teams. (I tried to contact the hu and
5630    zh_TW teams but didn't succeed. I didn't contact the zh_CN team.)
5631
5632 po/LINGUAS  |   3 +
5633 po/hu.po    | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5634 po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5635 po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5636 4 files changed, 2907 insertions(+)
5637
5638commit 982b6b198ae1ffe6093236dd8a3d03d1415b912b
5639Author: Lasse Collin <lasse.collin@tukaani.org>
5640Date:   2020-03-11 14:33:30 +0200
5641
5642    Translations: Update vi.po to match the file from the TP.
5643
5644    The translated strings haven't been updated but word wrapping
5645    is different.
5646
5647 po/vi.po | 407 ++++++++++++++++++++++++++++-----------------------------------
5648 1 file changed, 179 insertions(+), 228 deletions(-)
5649
5650commit 801f39691fc4abc6dd33d7653d498781b593f3eb
5651Author: Lasse Collin <lasse.collin@tukaani.org>
5652Date:   2020-03-11 14:18:03 +0200
5653
5654    Translations: Add fi and pt_BR, and update de, fr, it, and pl.
5655
5656    The German translation isn't identical to the file in
5657    the Translation Project but the changes (white space changes
5658    only) were approved by the translator Mario Blättermann.
5659
5660 po/LINGUAS  |    2 +
5661 po/de.po    |  476 ++++++++++++++--------------
5662 po/fi.po    |  974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5663 po/fr.po    |  272 ++++++++--------
5664 po/it.po    |  479 ++++++++++++----------------
5665 po/pl.po    |  239 +++++++-------
5666 po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5667 7 files changed, 2697 insertions(+), 746 deletions(-)
5668
5669commit 311e4f85ede5d2f0bb71f3ad70b5b7db1b5adf33
5670Author: Lasse Collin <lasse.collin@tukaani.org>
5671Date:   2022-08-22 17:27:19 +0300
5672
5673    xz: Try to clarify --memlimit-mt-decompress vs. --memlimit-compress.
5674
5675 src/xz/xz.1 | 31 +++++++++++++++++++------------
5676 1 file changed, 19 insertions(+), 12 deletions(-)
5677
5678commit df23c31000283c00e5ef1ca32a0bc3bb757bd707
5679Author: Lasse Collin <lasse.collin@tukaani.org>
5680Date:   2022-08-22 16:46:18 +0300
5681
5682    CMake: Add liblzma tests.
5683
5684    Thanks to Jia Tan for the patch.
5685
5686 CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
5687 1 file changed, 52 insertions(+), 1 deletion(-)
5688
5689commit 02a777f9c422d3b5ec895078530bb1a2b6f7bdf5
5690Author: Lasse Collin <lasse.collin@tukaani.org>
5691Date:   2022-08-19 23:32:22 +0300
5692
5693    xz: Revise --info-memory output.
5694
5695    The strings could be more descriptive but it's good
5696    to have some version of this committed now.
5697
5698    --robot mode wasn't changed yet.
5699
5700 src/xz/hardware.c | 32 ++++++++++++++++++++++++++------
5701 src/xz/xz.1       |  1 +
5702 2 files changed, 27 insertions(+), 6 deletions(-)
5703
5704commit f864f6d42eab57ea8ed82cc2dd19a03b51377442
5705Author: Lasse Collin <lasse.collin@tukaani.org>
5706Date:   2022-08-19 23:12:02 +0300
5707
5708    xz: Update the man page for threaded decompression and memlimits.
5709
5710    This documents the changes made in commits
5711    6c6da57ae2aa962aabde6892442227063d87e88c,
5712    cad299008cf73ec566f0662a9cf2b94f86a99659, and
5713    898faa97287a756231c663a3ed5165672b417207.
5714
5715    The --info-memory bit hasn't been finished yet
5716    even though it's already mentioned in this commit
5717    under --memlimit-mt-decompress and --threads.
5718
5719 src/xz/xz.1 | 148 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
5720 1 file changed, 121 insertions(+), 27 deletions(-)
5721
5722commit d13bfcc0056617dd648f655a01653932fad7067f
5723Author: Lasse Collin <lasse.collin@tukaani.org>
5724Date:   2022-08-18 17:49:16 +0300
5725
5726    Build: Include the CMake files in the distribution.
5727
5728    This was supposed to be done in 2020 with 5.2.5 release
5729    already but it was noticed only today. 5.2.5 and 5.2.6
5730    even mention experiemental CMake support in the NEWS entries.
5731
5732    Thanks to Olivier B. for reporting the problem.
5733
5734 Makefile.am | 2 ++
5735 1 file changed, 2 insertions(+)
5736
5737commit e66787bcfefdb93f19c974f895f65969a77937b0
5738Author: Lasse Collin <lasse.collin@tukaani.org>
5739Date:   2022-08-18 17:38:05 +0300
5740
5741    Windows: Fix broken liblzma.dll build with Visual Studio project files.
5742
5743    The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616
5744    "Windows: Fix building of resource files when config.h isn't used."
5745
5746    That commit fixed liblzma.dll build with CMake while keeping it
5747    working with Autotools on Windows but the VS project files were
5748    forgotten.
5749
5750    I haven't tested these changes.
5751
5752    Thanks to Olivier B. for reporting the bug and for the initial patch.
5753
5754 windows/vs2013/liblzma_dll.vcxproj | 6 ++++++
5755 windows/vs2017/liblzma_dll.vcxproj | 6 ++++++
5756 windows/vs2019/liblzma_dll.vcxproj | 6 ++++++
5757 3 files changed, 18 insertions(+)
5758
5759commit c4e8e5fb311225b8b48d34157891a640b2535e0c
5760Author: Lasse Collin <lasse.collin@tukaani.org>
5761Date:   2022-08-18 17:16:49 +0300
5762
5763    liblzma: Threaded decoder: Improve LZMA_FAIL_FAST when LZMA_FINISH is used.
5764
5765    It will now return LZMA_DATA_ERROR (not LZMA_OK or LZMA_BUF_ERROR)
5766    if LZMA_FINISH is used and there isn't enough input to finish
5767    decoding the Block Header or the Block. The use of LZMA_DATA_ERROR
5768    is simpler and the less risky than LZMA_BUF_ERROR but this might
5769    be changed before 5.4.0.
5770
5771 src/liblzma/api/lzma/container.h       |  6 +++++
5772 src/liblzma/common/stream_decoder_mt.c | 42 ++++++++++++++++++++++++++++++++++
5773 2 files changed, 48 insertions(+)
5774
5775commit 6dcf606e7efa2b259f0262f9e2f61e00116842d3
5776Author: Lasse Collin <lasse.collin@tukaani.org>
5777Date:   2022-08-12 18:31:47 +0300
5778
5779    Add NEWS for 5.2.6.
5780
5781 NEWS | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5782 1 file changed, 121 insertions(+)
5783
5784commit 413b86fcf8934fae5a004f378a9483d37d8fcaab
5785Author: Lasse Collin <lasse.collin@tukaani.org>
5786Date:   2022-08-12 14:28:41 +0300
5787
5788    Add Jia Tan to AUTHORS.
5789
5790 AUTHORS | 2 +-
5791 1 file changed, 1 insertion(+), 1 deletion(-)
5792
5793commit 352672732c346c546ff3c26d0605bc0ed1c8b7c7
5794Author: Lasse Collin <lasse.collin@tukaani.org>
5795Date:   2022-07-25 19:28:26 +0300
5796
5797    Build: Start the generated ChangeLog from around 5.2.0 instead of 5.0.0.
5798
5799    This makes ChangeLog smaller.
5800
5801 Makefile.am | 2 +-
5802 1 file changed, 1 insertion(+), 1 deletion(-)
5803
5804commit 6f6d11225d6016be2bbb55d845b66f6b04d048df
5805Author: Lasse Collin <lasse.collin@tukaani.org>
5806Date:   2022-07-25 19:11:05 +0300
5807
5808    Translations: Change the copyright comment string to use with po4a.
5809
5810    This affects the second line in po4a/xz-man.pot. The man pages of
5811    xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+
5812    while the rest of the man pages are in the public domain.
5813
5814 po4a/update-po | 2 +-
5815 1 file changed, 1 insertion(+), 1 deletion(-)
5816
5817commit 61f8ec804abdb4c5dac01e8ae9b90c7be58a5c24
5818Author: Jia Tan <jiat0218@gmail.com>
5819Date:   2022-07-25 18:30:05 +0300
5820
5821    liblzma: Refactor lzma_mf_is_supported() to use a switch-statement.
5822
5823 src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------
5824 1 file changed, 14 insertions(+), 18 deletions(-)
5825
5826commit 4d80b463a1251aa22eabc87d2732fec13b1adda6
5827Author: Jia Tan <jiat0218@gmail.com>
5828Date:   2022-07-25 18:20:01 +0300
5829
5830    Build: Don't allow empty LIST in --enable-match-finders=LIST.
5831
5832    It's enforced only when a match finder is needed, that is,
5833    when LZMA1 or LZMA2 encoder is enabled.
5834
5835 configure.ac | 4 ++++
5836 1 file changed, 4 insertions(+)
5837
5838commit 9cc721af5436908f2d5a828aebbc4050a32a3487
5839Author: Lasse Collin <lasse.collin@tukaani.org>
5840Date:   2022-07-24 13:27:48 +0300
5841
5842    xz: Update the man page that change to --keep will be in 5.2.6.
5843
5844 src/xz/xz.1 | 4 ++--
5845 1 file changed, 2 insertions(+), 2 deletions(-)
5846
5847commit b81bf0c7d1873e52a4086a9abb494471d652cb55
5848Author: Lasse Collin <lasse.collin@tukaani.org>
5849Date:   2022-07-19 23:23:54 +0300
5850
5851    Update THANKS.
5852
5853 THANKS | 1 +
5854 1 file changed, 1 insertion(+)
5855
5856commit 340cf1ec3927767046b8293a49da3db4e393f426
5857Author: Nicholas Jackson <nickajacks1@gmail.com>
5858Date:   2022-07-17 17:39:23 -0700
5859
5860    CMake: Add missing source file to liblzma build
5861
5862 CMakeLists.txt | 1 +
5863 1 file changed, 1 insertion(+)
5864
5865commit d796b6d7fdb8b7238b277056cf9146cce25db604
5866Author: Lasse Collin <lasse.collin@tukaani.org>
5867Date:   2022-07-19 23:19:49 +0300
5868
5869    xzgrep man page: Document exit statuses.
5870
5871 src/scripts/xzgrep.1 | 15 ++++++++++++++-
5872 1 file changed, 14 insertions(+), 1 deletion(-)
5873
5874commit 923bf96b55e5216a6c8df9d8331934f54784390e
5875Author: Lasse Collin <lasse.collin@tukaani.org>
5876Date:   2022-07-19 23:13:24 +0300
5877
5878    xzgrep: Improve error handling, especially signals.
5879
5880    xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly
5881    should have. It's quite possible that it's not perfect still
5882    but at least it's much better.
5883
5884    If multiple exit statuses compete, now it tries to pick
5885    the largest of value.
5886
5887    Some comments were added.
5888
5889    The exit status handling of signals is still broken if the shell
5890    uses values larger than 255 in $? to indicate that a process
5891    died due to a signal ***and*** their "exit" command doesn't take
5892    this into account. This seems to work well with the ksh and yash
5893    versions I tried. However, there is a report in gzip/zgrep that
5894    OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating
5895    the argument to 8 bits:
5896
5897        https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25
5898
5899    Such a bug would break xzgrep but I didn't add a workaround
5900    at least for now. 5.11 is old and I don't know if the problem
5901    exists in modern descendants, or if the problem exists in other
5902    ksh implementations in use.
5903
5904 src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++--------------
5905 1 file changed, 53 insertions(+), 19 deletions(-)
5906
5907commit a648978b20495b7aa4a8b029c5a810b5ad9d08ff
5908Author: Lasse Collin <lasse.collin@tukaani.org>
5909Date:   2022-07-19 00:10:55 +0300
5910
5911    xzgrep: Make the fix for ZDI-CAN-16587 more robust.
5912
5913    I don't know if this can make a difference in the real world
5914    but it looked kind of suspicious (what happens with sed
5915    implementations that cannot process very long lines?).
5916    At least this commit shouldn't make it worse.
5917
5918 src/scripts/xzgrep.in | 5 ++++-
5919 1 file changed, 4 insertions(+), 1 deletion(-)
5920
5921commit bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5
5922Author: Lasse Collin <lasse.collin@tukaani.org>
5923Date:   2022-07-18 21:52:31 +0300
5924
5925    xzgrep: Use grep -H --label when available (GNU, *BSDs).
5926
5927    It avoids the use of sed for prefixing filenames to output lines.
5928    Using sed for that is slower and prone to security bugs so now
5929    the sed method is only used as a fallback.
5930
5931    This also fixes an actual bug: When grepping a binary file,
5932    GNU grep nowadays prints its diagnostics to stderr instead of
5933    stdout and thus the sed-method for prefixing the filename doesn't
5934    work. So with this commit grepping binary files gives reasonable
5935    output with GNU grep now.
5936
5937    This was inspired by zgrep but the implementation is different.
5938
5939 src/scripts/xzgrep.in | 21 +++++++++++++++++++++
5940 1 file changed, 21 insertions(+)
5941
5942commit b56729af9f1a596e57aeefd7570d8d7dce5c9f52
5943Author: Lasse Collin <lasse.collin@tukaani.org>
5944Date:   2022-07-18 21:10:25 +0300
5945
5946    xzgrep: Use -e to specify the pattern to grep.
5947
5948    Now we don't need the separate test for adding the -q option
5949    as it can be added directly in the two places where it's needed.
5950
5951 src/scripts/xzgrep.in | 12 ++++--------
5952 1 file changed, 4 insertions(+), 8 deletions(-)
5953
5954commit bad61b5997e6647911974022bfb72f3d4818a594
5955Author: Lasse Collin <lasse.collin@tukaani.org>
5956Date:   2022-07-18 19:18:48 +0300
5957
5958    Scripts: Use printf instead of echo in a few places.
5959
5960    It's a good habbit as echo has some portability corner cases
5961    when the string contents can be anything.
5962
5963 src/scripts/xzdiff.in | 6 +++---
5964 src/scripts/xzgrep.in | 4 ++--
5965 src/scripts/xzless.in | 4 ++--
5966 src/scripts/xzmore.in | 8 ++++----
5967 4 files changed, 11 insertions(+), 11 deletions(-)
5968
5969commit 6a4a4a7d2667837dc824c26fcb19ed6ca5aff645
5970Author: Lasse Collin <lasse.collin@tukaani.org>
5971Date:   2022-07-17 21:36:25 +0300
5972
5973    xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters.
5974
5975    Also replace one use of expr with printf.
5976
5977    The rationale for LC_ALL=C was already mentioned in
5978    69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security
5979    issue. However, unrelated uses weren't changed in that commit yet.
5980
5981    POSIX says that with sed and such tools one should use LC_ALL=C
5982    to ensure predictable behavior when strings contain byte sequences
5983    that aren't valid multibyte characters in the current locale. See
5984    under "Application usage" in here:
5985
5986    https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
5987
5988    With GNU sed invalid multibyte strings would work without this;
5989    it's documented in its Texinfo manual. Some other implementations
5990    aren't so forgiving.
5991
5992 src/scripts/xzgrep.in | 14 ++++++++------
5993 1 file changed, 8 insertions(+), 6 deletions(-)
5994
5995commit b48f9d615f2c2e8d2f6e253d0e48ee66d0652b68
5996Author: Lasse Collin <lasse.collin@tukaani.org>
5997Date:   2022-07-17 20:55:16 +0300
5998
5999    xzgrep: Fix parsing of certain options.
6000
6001    Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is
6002    an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename
6003    instead of as a pattern. This bug was fixed in zgrep in gzip in 2012.
6004
6005    Add -E, -F, -G, and -P to the "no argument required" list.
6006
6007    Add -X to "argument required" list. It is an
6008    intentionally-undocumented GNU grep option so this isn't
6009    an important option for xzgrep but it seems that other grep
6010    implementations (well, those that I checked) don't support -X
6011    so I hope this change is an improvement still.
6012
6013    grep -d (grep --directories=ACTION) requires an argument. In
6014    contrast to zgrep, I kept -d in the "no argument required" list
6015    because it's not supported in xzgrep (or zgrep). This way
6016    "xzgrep -d" gives an error about option being unsupported instead
6017    of telling that it requires an argument. Both zgrep and xzgrep
6018    tell that it's unsupported if an argument is specified.
6019
6020    Add comments.
6021
6022 src/scripts/xzgrep.in | 19 +++++++++++++++++--
6023 1 file changed, 17 insertions(+), 2 deletions(-)
6024
6025commit 2d2201bc6315deda4d43625aa510972467bd51d4
6026Author: Lasse Collin <lasse.collin@tukaani.org>
6027Date:   2022-07-14 20:33:05 +0300
6028
6029    Tests: Add the .lzma files to test_files.sh.
6030
6031 tests/test_files.sh | 20 ++++++++++++++++++++
6032 1 file changed, 20 insertions(+)
6033
6034commit ce5549a591bf126300618879f5b24023351baff6
6035Author: Lasse Collin <lasse.collin@tukaani.org>
6036Date:   2022-07-14 19:37:42 +0300
6037
6038    Tests: Add .lzma test files.
6039
6040 tests/files/README                                 |  63 ++++++++++++++++-----
6041 tests/files/bad-too_big_size-with_eopm.lzma        | Bin 0 -> 37 bytes
6042 tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes
6043 tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes
6044 tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes
6045 tests/files/bad-unknown_size-without_eopm.lzma     | Bin 0 -> 31 bytes
6046 tests/files/good-known_size-with_eopm.lzma         | Bin 0 -> 37 bytes
6047 tests/files/good-known_size-without_eopm.lzma      | Bin 0 -> 31 bytes
6048 tests/files/good-unknown_size-with_eopm.lzma       | Bin 0 -> 37 bytes
6049 9 files changed, 50 insertions(+), 13 deletions(-)
6050
6051commit 107c93ee5cad51a6ea0cee471209bfe8d76deaa3
6052Author: Lasse Collin <lasse.collin@tukaani.org>
6053Date:   2022-07-14 18:12:38 +0300
6054
6055    liblzma: Rename a variable and improve a comment.
6056
6057 src/liblzma/lzma/lzma_decoder.c | 13 +++++++++----
6058 1 file changed, 9 insertions(+), 4 deletions(-)
6059
6060commit 511feb5eadb988d641b025d597f4fac7502003b8
6061Author: Lasse Collin <lasse.collin@tukaani.org>
6062Date:   2022-07-13 22:24:41 +0300
6063
6064    Update THANKS.
6065
6066 THANKS | 1 +
6067 1 file changed, 1 insertion(+)
6068
6069commit 9595a3119b9faf0ce01375329cad8bbf85c35ea2
6070Author: Lasse Collin <lasse.collin@tukaani.org>
6071Date:   2022-07-13 22:24:07 +0300
6072
6073    liblzma: Add optional autodetection of LZMA end marker.
6074
6075    Turns out that this is needed for .lzma files as the spec in
6076    LZMA SDK says that end marker may be present even if the size
6077    is stored in the header. Such files are rare but exist in the
6078    real world. The code in liblzma is so old that the spec didn't
6079    exist in LZMA SDK back then and I had understood that such
6080    files weren't possible (the lzma tool in LZMA SDK didn't
6081    create such files).
6082
6083    This modifies the internal API so that LZMA decoder can be told
6084    if EOPM is allowed even when the uncompressed size is known.
6085    It's allowed with .lzma and not with other uses.
6086
6087    Thanks to Karl Beldan for reporting the problem.
6088
6089 doc/lzma-file-format.txt               | 11 +++-
6090 src/liblzma/common/alone_decoder.c     |  2 +-
6091 src/liblzma/common/microlzma_decoder.c |  2 +-
6092 src/liblzma/lz/lz_decoder.c            | 10 +++-
6093 src/liblzma/lz/lz_decoder.h            |  8 +--
6094 src/liblzma/lzma/lzma2_decoder.c       |  2 +-
6095 src/liblzma/lzma/lzma_decoder.c        | 99 ++++++++++++++++++++++++----------
6096 7 files changed, 95 insertions(+), 39 deletions(-)
6097
6098commit 0c0f8e9761eb6eaf199082cf144db7ac5f9d8cb2
6099Author: Lasse Collin <lasse.collin@tukaani.org>
6100Date:   2022-07-12 18:53:04 +0300
6101
6102    xz: Document the special memlimit case of 2000 MiB on MIPS32.
6103
6104    See commit fc3d3a7296ef58bb799a73943636b8bfd95339f7.
6105
6106 src/xz/xz.1 | 8 ++++++--
6107 1 file changed, 6 insertions(+), 2 deletions(-)
6108
6109commit d1bfa3dc703325ecd974167e864a8712fdfe936e
6110Author: Jia Tan <jiat0218@gmail.com>
6111Date:   2022-07-01 21:19:26 +0800
6112
6113    Created script to generate code coverage reports.
6114
6115    The script uses lcov and genhtml after running the tests
6116    to show the code coverage statistics. The script will create
6117    a coverage directory where it is run. It can be run both in
6118    and out of the source directory.
6119
6120 .gitignore             |  4 +++
6121 tests/code_coverage.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++
6122 2 files changed, 83 insertions(+)
6123
6124commit 86a30b0255d8064169fabfd213d907016d2f9f2a
6125Author: Jia Tan <jiat0218@gmail.com>
6126Date:   2022-06-16 17:32:19 +0300
6127
6128    Tests: Add more tests into test_check.
6129
6130 tests/test_check.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++--
6131 tests/tests.h      |  23 +++++
6132 2 files changed, 295 insertions(+), 7 deletions(-)
6133
6134commit 82e30fed66a89706388a8c15dc954d84e63f38fa
6135Author: Lasse Collin <lasse.collin@tukaani.org>
6136Date:   2022-06-16 15:02:57 +0300
6137
6138    Tests: Use char[][24] array for enum_strings_lzma_ret.
6139
6140    Array of pointers to short strings is a bit pointless here
6141    and now it's fully const.
6142
6143 tests/tests.h | 2 +-
6144 1 file changed, 1 insertion(+), 1 deletion(-)
6145
6146commit 5ba9459e6c4a29f6870ca78ce8ac6e519d59c41e
6147Author: Lasse Collin <lasse.collin@tukaani.org>
6148Date:   2022-06-16 14:12:14 +0300
6149
6150    Tests: tuktest.h: Add tuktest_error_impl to help with error conditions.
6151
6152 tests/tuktest.h | 72 +++++++++++++++++++++++++--------------------------------
6153 1 file changed, 32 insertions(+), 40 deletions(-)
6154
6155commit b339892668da20aea22a93668c82b87a38e4a97f
6156Author: Lasse Collin <lasse.collin@tukaani.org>
6157Date:   2022-06-16 13:29:59 +0300
6158
6159    Tests: tuktest.h: Rename file_from_* and use tuktest_malloc there.
6160
6161 tests/test_bcj_exact_size.c |  4 +---
6162 tests/tuktest.h             | 52 +++++++++++++++++++++------------------------
6163 2 files changed, 25 insertions(+), 31 deletions(-)
6164
6165commit d8b63a0ad68d1c461eb373466679ebc41fbc207d
6166Author: Lasse Collin <lasse.collin@tukaani.org>
6167Date:   2022-06-16 13:08:19 +0300
6168
6169    Tests: tuktest.h: Add malloc wrapper with automatic freeing.
6170
6171 tests/tuktest.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6172 1 file changed, 124 insertions(+)
6173
6174commit 1d51536a4b19a8fae768f8eb462fc2238cb36d53
6175Author: Lasse Collin <lasse.collin@tukaani.org>
6176Date:   2022-06-16 11:47:37 +0300
6177
6178    Tests: tuktest.h: Move a function.
6179
6180 tests/tuktest.h | 44 ++++++++++++++++++++++----------------------
6181 1 file changed, 22 insertions(+), 22 deletions(-)
6182
6183commit 70c7555f6403553ee35539e869de0025592d8564
6184Author: Lasse Collin <lasse.collin@tukaani.org>
6185Date:   2022-06-14 22:21:15 +0300
6186
6187    Tests: test_vli: Remove an invalid test-assertion.
6188
6189    lzma_vli is unsigned so trying a signed value results in
6190    a compiler warning from -Wsign-conversion. (lzma_vli)-1
6191    equals to LZMA_VLI_UNKNOWN anyway which is the next assertion.
6192
6193 tests/test_vli.c | 2 --
6194 1 file changed, 2 deletions(-)
6195
6196commit 154b73c5a1092c3f785e01666b564ad7ff1be555
6197Author: Lasse Collin <lasse.collin@tukaani.org>
6198Date:   2022-06-14 22:10:10 +0300
6199
6200    Tests: test_vli: Add const where appropriate.
6201
6202 tests/test_vli.c | 53 ++++++++++++++++++++++++++++-------------------------
6203 1 file changed, 28 insertions(+), 25 deletions(-)
6204
6205commit 0354d6cce3ff98ea6f927107baf216253f6ce2bb
6206Author: Jia Tan <jiat75@gmail.com>
6207Date:   2022-06-13 20:27:03 +0800
6208
6209    Added vli tests to .gitignore
6210
6211 .gitignore | 1 +
6212 1 file changed, 1 insertion(+)
6213
6214commit a08f5ccf6bdc20ef70e41f6f3321618ef146f96e
6215Author: Jia Tan <jiat0218@gmail.com>
6216Date:   2022-06-12 11:31:40 +0800
6217
6218    Created tests for all functions exported in vli.h
6219
6220    Achieved 100% code coverage vli_encoder.c, vli_decoder.c, and vli_size.c
6221
6222 tests/Makefile.am |   4 +-
6223 tests/test_vli.c  | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
6224 2 files changed, 311 insertions(+), 1 deletion(-)
6225
6226commit 1e3eb61815a91c0a1bfbb802e2d95593f523491f
6227Author: jiat75 <jiat0218@gmail.com>
6228Date:   2022-06-03 21:24:54 +0800
6229
6230    Added parallel test artifacts to .gitignore
6231
6232 .gitignore | 2 ++
6233 1 file changed, 2 insertions(+)
6234
6235commit 00e3613f1212eaa84e721585fdb4de6967cf2476
6236Author: Lasse Collin <lasse.collin@tukaani.org>
6237Date:   2022-06-14 21:29:21 +0300
6238
6239    Tests: Use good-1-empty-bcj-lzma2.xz in test_bcj_exact_size.
6240
6241    It's much nicer this way so that the test data isn't a hardcoded
6242    table inside the C file.
6243
6244 tests/test_bcj_exact_size.c | 19 +++++++------------
6245 1 file changed, 7 insertions(+), 12 deletions(-)
6246
6247commit 86bab755be252bfd3e0a9aee8e7b83a9bbb23ed0
6248Author: Lasse Collin <lasse.collin@tukaani.org>
6249Date:   2022-06-14 21:26:13 +0300
6250
6251    Tests: Add file reading helpers to tuktest.h.
6252
6253 tests/tuktest.h | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
6254 1 file changed, 176 insertions(+), 7 deletions(-)
6255
6256commit 83d2337b72dbf391c6f3b41889eea99e51679105
6257Author: Lasse Collin <lasse.collin@tukaani.org>
6258Date:   2022-06-14 18:21:57 +0300
6259
6260    Tests: tuktest.h: Move a printf from a macro to a helper function.
6261
6262 tests/tuktest.h | 26 ++++++++++++++++++--------
6263 1 file changed, 18 insertions(+), 8 deletions(-)
6264
6265commit f9e8176ea7d520797a2db2d49a5a632c285674a8
6266Author: Lasse Collin <lasse.collin@tukaani.org>
6267Date:   2022-06-14 17:20:49 +0300
6268
6269    Tests: Add test file good-1-empty-bcj-lzma2.xz.
6270
6271    This is from test_bcj_exact_size.c.
6272    It's good to have it as a standalone file.
6273
6274 tests/files/README                    |   5 +++++
6275 tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes
6276 2 files changed, 5 insertions(+)
6277
6278commit aa75c5563a760aea3aa23d997d519e702e82726b
6279Author: Jia Tan <jiat0218@gmail.com>
6280Date:   2022-06-10 21:35:18 +0800
6281
6282    Tests: Created tests for hardware functions.
6283
6284    Created tests for all API functions exported in
6285    src/liblzma/api/lzma/hardware.h. The tests are fairly trivial
6286    but are helpful because they will inform users if their machines
6287    cannot support these functions. They also improve the code
6288    coverage metrics.
6289
6290 .gitignore            |  1 +
6291 tests/Makefile.am     |  2 ++
6292 tests/test_hardware.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
6293 3 files changed, 48 insertions(+)
6294
6295commit 5c8ffdca20813939818843476fb212dfae8838a3
6296Author: Lasse Collin <lasse.collin@tukaani.org>
6297Date:   2022-06-02 21:01:45 +0300
6298
6299    Tests: Convert test_check to tuktest.
6300
6301    Thanks to Jia Tan for help with all the tests.
6302
6303 tests/test_check.c | 67 +++++++++++++++++++++++++++---------------------------
6304 1 file changed, 33 insertions(+), 34 deletions(-)
6305
6306commit faf5ff8899d539b4dcd2a7e5280cb820a4746c86
6307Author: Lasse Collin <lasse.collin@tukaani.org>
6308Date:   2022-06-02 20:31:03 +0300
6309
6310    Tests: Convert test_block_header to tuktest.
6311
6312 tests/test_block_header.c | 89 +++++++++++++++++++++++++++--------------------
6313 1 file changed, 52 insertions(+), 37 deletions(-)
6314
6315commit 754d39fbebee3782258d42f154a223d3c5770ec7
6316Author: Lasse Collin <lasse.collin@tukaani.org>
6317Date:   2022-06-02 20:28:23 +0300
6318
6319    Tests: Convert test_bcj_exact_size to tuktest.
6320
6321    The compress() and decompress() functions were merged because
6322    the later depends on the former so they need to be a single
6323    test case.
6324
6325 tests/test_bcj_exact_size.c | 75 +++++++++++++++++++++++++--------------------
6326 1 file changed, 41 insertions(+), 34 deletions(-)
6327
6328commit 96da21470f9570cd08286906a050a7c22631775b
6329Author: Lasse Collin <lasse.collin@tukaani.org>
6330Date:   2022-06-02 20:27:00 +0300
6331
6332    Tests: Include tuktest.h in tests.h.
6333
6334    This breaks -Werror because none of the tests so far use
6335    tuktest.h and thus there are warnings about unused variables
6336    and functions.
6337
6338 tests/tests.h | 47 +++++++++++++++++++++++------------------------
6339 1 file changed, 23 insertions(+), 24 deletions(-)
6340
6341commit df71ba1c991f60c3269aaadd398247e632714626
6342Author: Lasse Collin <lasse.collin@tukaani.org>
6343Date:   2022-06-02 20:25:21 +0300
6344
6345    Tests: Add tuktest.h mini-test-framework.
6346
6347 tests/Makefile.am |   1 +
6348 tests/tuktest.h   | 752 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
6349 2 files changed, 753 insertions(+)
6350
6351commit 4773608554d1b684a05ff9c1d879cf5c42266d33
6352Author: Lasse Collin <lasse.collin@tukaani.org>
6353Date:   2022-05-23 21:31:36 +0300
6354
6355    Build: Enable Automake's parallel test harness.
6356
6357    It has been the default for quite some time already and
6358    the old serial harness isn't discouraged. The downside is
6359    that with parallel tests one cannot print progress info or
6360    other diagnostics to the terminal; all output from the tests
6361    will be in the log files only. But now that the compression
6362    tests are separated the parallel tests will speed things up.
6363
6364 configure.ac | 2 +-
6365 1 file changed, 1 insertion(+), 1 deletion(-)
6366
6367commit 9a6dd6d46f7f256a5573e5d874c1052033ed7b05
6368Author: Lasse Collin <lasse.collin@tukaani.org>
6369Date:   2022-05-23 21:17:47 +0300
6370
6371    Tests: Split test_compress.sh into separate test unit for each file.
6372
6373    test_compress.sh now takes one command line argument:
6374    a filename to be tested. If it begins with "compress_generated_"
6375    the file will be created with create_compress_files.
6376
6377    This will allow parallel execution of the slow tests.
6378
6379 tests/Makefile.am                      | 11 +++-
6380 tests/test_compress.sh                 | 91 +++++++++++++++++++---------------
6381 tests/test_compress_generated_abc      |  3 ++
6382 tests/test_compress_generated_random   |  3 ++
6383 tests/test_compress_generated_text     |  3 ++
6384 tests/test_compress_prepared_bcj_sparc |  3 ++
6385 tests/test_compress_prepared_bcj_x86   |  3 ++
6386 7 files changed, 77 insertions(+), 40 deletions(-)
6387
6388commit c7758ac9c734707514dd34f254173ebac5eea7f8
6389Author: Lasse Collin <lasse.collin@tukaani.org>
6390Date:   2022-05-23 20:32:49 +0300
6391
6392    Test: Make create_compress_files.c a little more flexible.
6393
6394    If a command line argument is given, then only the test file
6395    of that type is created. It's quite dumb in sense that unknown
6396    names don't give an error but it's good enough here.
6397
6398    Also use EXIT_FAILURE instead of 1 as exit status for errors.
6399
6400 tests/create_compress_files.c | 25 +++++++++++++++----------
6401 1 file changed, 15 insertions(+), 10 deletions(-)
6402
6403commit 4a8e4a7b0ad4b03c0ac6862716c3457452cdaf8c
6404Author: Lasse Collin <lasse.collin@tukaani.org>
6405Date:   2022-05-23 20:17:42 +0300
6406
6407    Tests: Remove unneeded commented lines from test_compress.sh.
6408
6409 tests/test_compress.sh | 13 -------------
6410 1 file changed, 13 deletions(-)
6411
6412commit 2ee50d150ee009f36135540b459e6ff328549725
6413Author: Lasse Collin <lasse.collin@tukaani.org>
6414Date:   2022-05-23 20:16:00 +0300
6415
6416    Tests: Remove progress indicator from test_compress.sh.
6417
6418    It will be useless with Automake's parallel tests.
6419
6420 tests/test_compress.sh | 9 ---------
6421 1 file changed, 9 deletions(-)
6422
6423commit 2ce4f36f179a81d0c6e182a409f363df759d1ad0
6424Author: Lasse Collin <lasse.collin@tukaani.org>
6425Date:   2022-05-23 19:37:18 +0300
6426
6427    liblzma: Silence a warning.
6428
6429    The actual initialization is done via mythread_sync and seems
6430    that GCC doesn't necessarily see that it gets initialized there.
6431
6432 src/liblzma/common/stream_decoder_mt.c | 2 +-
6433 1 file changed, 1 insertion(+), 1 deletion(-)
6434
6435commit 5d8f3764ef43c35910e6d7003c0900a961ef6544
6436Author: Lasse Collin <lasse.collin@tukaani.org>
6437Date:   2022-04-14 20:53:16 +0300
6438
6439    xz: Fix build with --disable-threads.
6440
6441 src/xz/hardware.c | 4 ++++
6442 1 file changed, 4 insertions(+)
6443
6444commit 1d592897278b172d8549aa29c3a1f3a4f432a9b9
6445Author: Lasse Collin <lasse.collin@tukaani.org>
6446Date:   2022-04-14 14:50:17 +0300
6447
6448    xz: Change the cap of the default -T0 memlimit for 32-bit xz.
6449
6450    The SIZE_MAX / 3 was 1365 MiB. 1400 MiB gives little more room
6451    and it looks like a round (artificial) number in --info-memory
6452    once --info-memory is made to display it.
6453
6454    Also, using #if avoids useless code on 64-bit builds.
6455
6456 src/xz/hardware.c | 4 +++-
6457 1 file changed, 3 insertions(+), 1 deletion(-)
6458
6459commit c77fe55ddb7752ed0fec46967c5ec9a72632ea0c
6460Author: Lasse Collin <lasse.collin@tukaani.org>
6461Date:   2022-04-14 14:20:46 +0300
6462
6463    xz: Add a default soft memory usage limit for --threads=0.
6464
6465    This is a soft limit in sense that it only affects the number of
6466    threads. It never makes xz fail and it never makes xz change
6467    settings that would affect the compressed output.
6468
6469    The idea is to make -T0 have more reasonable behavior when
6470    the system has very many cores or when a memory-hungry
6471    compression options are used. This also helps with 32-bit xz,
6472    preventing it from running out of address space.
6473
6474    The downside of this commit is that now the number of threads
6475    might become too low compared to what the user expected. I
6476    hope this to be an acceptable compromise as the old behavior
6477    has been a source of well-argued complaints for a long time.
6478
6479 src/xz/coder.c    | 28 ++++++++++++++++++++++++++--
6480 src/xz/hardware.c | 38 +++++++++++++++++++++++++++++---------
6481 src/xz/hardware.h | 27 +++++++++++++++++++++++++++
6482 3 files changed, 82 insertions(+), 11 deletions(-)
6483
6484commit 0adc13bfe32c14f3e4c6ce9f2d4fdf4112ab53f4
6485Author: Lasse Collin <lasse.collin@tukaani.org>
6486Date:   2022-04-14 12:59:09 +0300
6487
6488    xz: Make -T0 use multithreaded mode on single-core systems.
6489
6490    The main problem withi the old behavior is that the compressed
6491    output is different on single-core systems vs. multicore systems.
6492    This commit fixes it by making -T0 one thread in multithreaded mode
6493    on single-core systems.
6494
6495    The downside of this is that it uses more memory. However, if
6496    --memlimit-compress is used, xz can (thanks to the previous commit)
6497    drop to the single-threaded mode still.
6498
6499 src/xz/coder.c    | 18 +++++++++---------
6500 src/xz/hardware.c | 14 ++++++++++++++
6501 src/xz/hardware.h |  4 ++++
6502 3 files changed, 27 insertions(+), 9 deletions(-)
6503
6504commit 898faa97287a756231c663a3ed5165672b417207
6505Author: Lasse Collin <lasse.collin@tukaani.org>
6506Date:   2022-04-14 12:38:00 +0300
6507
6508    xz: Changes to --memlimit-compress and --no-adjust.
6509
6510    In single-threaded mode, --memlimit-compress can make xz scale down
6511    the LZMA2 dictionary size to meet the memory usage limit. This
6512    obviously affects the compressed output. However, if xz was in
6513    threaded mode, --memlimit-compress could make xz reduce the number
6514    of threads but it wouldn't make xz switch from multithreaded mode
6515    to single-threaded mode or scale down the LZMA2 dictionary size.
6516    This seemed illogical and there was even a "FIXME?" about it.
6517
6518    Now --memlimit-compress can make xz switch to single-threaded
6519    mode if one thread in multithreaded mode uses too much memory.
6520    If memory usage is still too high, then the LZMA2 dictionary
6521    size can be scaled down too.
6522
6523    The option --no-adjust was also changed so that it no longer
6524    prevents xz from scaling down the number of threads as that
6525    doesn't affect compressed output (only performance). After
6526    this commit --no-adjust only prevents adjustments that affect
6527    compressed output, that is, with --no-adjust xz won't switch
6528    from multithreaded mode to single-threaded mode and won't
6529    scale down the LZMA2 dictionary size.
6530
6531    The man page wasn't updated yet.
6532
6533 src/xz/coder.c | 63 +++++++++++++++++++++++++++++++++++++++-------------------
6534 1 file changed, 43 insertions(+), 20 deletions(-)
6535
6536commit cad299008cf73ec566f0662a9cf2b94f86a99659
6537Author: Lasse Collin <lasse.collin@tukaani.org>
6538Date:   2022-04-11 22:20:49 +0300
6539
6540    xz: Add --memlimit-mt-decompress along with a default limit value.
6541
6542    --memlimit-mt-decompress allows specifying the limit for
6543    multithreaded decompression. This matches memlimit_threading in
6544    liblzma. This limit can only affect the number of threads being
6545    used; it will never prevent xz from decompressing a file. The
6546    old --memlimit-decompress option is still used at the same time.
6547
6548    If the value of --memlimit-decompress (the default value or
6549    one specified by the user) is less than the value of
6550    --memlimit-mt-decompress , then --memlimit-mt-decompress is
6551    reduced to match --memlimit-decompress.
6552
6553    Man page wasn't updated yet.
6554
6555 src/xz/args.c     | 24 +++++++++++++++-------
6556 src/xz/coder.c    | 34 ++++++++++---------------------
6557 src/xz/hardware.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
6558 src/xz/hardware.h | 17 ++++++++++------
6559 src/xz/message.c  |  4 +++-
6560 5 files changed, 97 insertions(+), 42 deletions(-)
6561
6562commit fe87b4cd5364f5bbb6a75a0299f1500c852d7c9a
6563Author: Lasse Collin <lasse.collin@tukaani.org>
6564Date:   2022-04-06 23:11:59 +0300
6565
6566    liblzma: Threaded decoder: Improve setting of pending_error.
6567
6568    It doesn't need to be done conditionally. The comments try
6569    to explain it.
6570
6571 src/liblzma/common/stream_decoder_mt.c | 51 +++++++++++++++++++++++-----------
6572 1 file changed, 35 insertions(+), 16 deletions(-)
6573
6574commit 90621da7f6e1bfd6d91d60415eae04b2bca274c2
6575Author: Lasse Collin <lasse.collin@tukaani.org>
6576Date:   2022-04-06 12:39:49 +0300
6577
6578    liblzma: Add a new flag LZMA_FAIL_FAST for threaded decoder.
6579
6580    In most cases if the input file is corrupt the application won't
6581    care about the uncompressed content at all. With this new flag
6582    the threaded decoder will return an error as soon as any thread
6583    has detected an error; it won't wait to copy out the data before
6584    the location of the error.
6585
6586    I don't plan to use this in xz to keep the behavior consistent
6587    between single-threaded and multi-threaded modes.
6588
6589 src/liblzma/api/lzma/container.h       | 25 ++++++++++++++++-
6590 src/liblzma/common/common.h            |  7 +++--
6591 src/liblzma/common/stream_decoder_mt.c | 50 +++++++++++++++++++---------------
6592 3 files changed, 56 insertions(+), 26 deletions(-)
6593
6594commit 64b6d496dc815a176d8307f418f6834a26783484
6595Author: Lasse Collin <lasse.collin@tukaani.org>
6596Date:   2022-04-05 12:24:57 +0300
6597
6598    liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used.
6599
6600    This makes the behavior consistent with the single-threaded
6601    decoder when handling truncated .xz files.
6602
6603    Thanks to Jia Tan for finding this issue.
6604
6605 src/liblzma/common/stream_decoder_mt.c | 26 ++++++++++++++++++++++++--
6606 1 file changed, 24 insertions(+), 2 deletions(-)
6607
6608commit e671bc8828b9c0c5406c3a22c541301d0eb54518
6609Author: Lasse Collin <lasse.collin@tukaani.org>
6610Date:   2022-04-02 21:49:59 +0300
6611
6612    liblzma: Threaded decoder: Support zpipe.c-style decoding loop.
6613
6614    This makes it possible to call lzma_code() in a loop that only
6615    reads new input when lzma_code() didn't fill the output buffer
6616    completely. That isn't the calling style suggested by the
6617    liblzma example program 02_decompress.c so perhaps the usefulness
6618    of this feature is limited.
6619
6620    Also, it is possible to write such a loop so that it works
6621    with the single-threaded decoder but not with the threaded
6622    decoder even after this commit, or so that it works only if
6623    lzma_mt.timeout = 0.
6624
6625    The zlib tutorial <https://zlib.net/zlib_how.html> is a well-known
6626    example of a loop where more input is read only when output isn't
6627    full. Porting this as is to liblzma would work with the
6628    single-threaded decoder (if LZMA_CONCATENATED isn't used) but it
6629    wouldn't work with threaded decoder even after this commit because
6630    the loop assumes that no more output is possible when it cannot
6631    read more input ("if (strm.avail_in == 0) break;"). This cannot
6632    be fixed at liblzma side; the loop has to be modified at least
6633    a little.
6634
6635    I'm adding this in any case because the actual code is simple
6636    and short and should have no harmful side-effects in other
6637    situations.
6638
6639 src/liblzma/common/stream_decoder_mt.c | 77 +++++++++++++++++++++++++++++-----
6640 1 file changed, 67 insertions(+), 10 deletions(-)
6641
6642commit 2ba8173e27be4793edb46497e499ac2ae753a316
6643Author: Lasse Collin <lasse.collin@tukaani.org>
6644Date:   2022-03-31 00:05:07 +0300
6645
6646    Update THANKS.
6647
6648 THANKS | 1 +
6649 1 file changed, 1 insertion(+)
6650
6651commit 69d1b3fc29677af8ade8dc15dba83f0589cb63d6
6652Author: Lasse Collin <lasse.collin@tukaani.org>
6653Date:   2022-03-29 19:19:12 +0300
6654
6655    xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587).
6656
6657    Malicious filenames can make xzgrep to write to arbitrary files
6658    or (with a GNU sed extension) lead to arbitrary code execution.
6659
6660    xzgrep from XZ Utils versions up to and including 5.2.5 are
6661    affected. 5.3.1alpha and 5.3.2alpha are affected as well.
6662    This patch works for all of them.
6663
6664    This bug was inherited from gzip's zgrep. gzip 1.12 includes
6665    a fix for zgrep.
6666
6667    The issue with the old sed script is that with multiple newlines,
6668    the N-command will read the second line of input, then the
6669    s-commands will be skipped because it's not the end of the
6670    file yet, then a new sed cycle starts and the pattern space
6671    is printed and emptied. So only the last line or two get escaped.
6672
6673    One way to fix this would be to read all lines into the pattern
6674    space first. However, the included fix is even simpler: All lines
6675    except the last line get a backslash appended at the end. To ensure
6676    that shell command substitution doesn't eat a possible trailing
6677    newline, a colon is appended to the filename before escaping.
6678    The colon is later used to separate the filename from the grep
6679    output so it is fine to add it here instead of a few lines later.
6680
6681    The old code also wasn't POSIX compliant as it used \n in the
6682    replacement section of the s-command. Using \<newline> is the
6683    POSIX compatible method.
6684
6685    LC_ALL=C was added to the two critical sed commands. POSIX sed
6686    manual recommends it when using sed to manipulate pathnames
6687    because in other locales invalid multibyte sequences might
6688    cause issues with some sed implementations. In case of GNU sed,
6689    these particular sed scripts wouldn't have such problems but some
6690    other scripts could have, see:
6691
6692        info '(sed)Locale Considerations'
6693
6694    This vulnerability was discovered by:
6695    cleemy desu wayo working with Trend Micro Zero Day Initiative
6696
6697    Thanks to Jim Meyering and Paul Eggert discussing the different
6698    ways to fix this and for coordinating the patch release schedule
6699    with gzip.
6700
6701 src/scripts/xzgrep.in | 20 ++++++++++++--------
6702 1 file changed, 12 insertions(+), 8 deletions(-)
6703
6704commit bd93b776c1bd15e90661033c918cdeb354dbcc38
6705Author: Lasse Collin <lasse.collin@tukaani.org>
6706Date:   2022-03-26 01:02:44 +0200
6707
6708    liblzma: Fix a deadlock in threaded decoder.
6709
6710    If a worker thread has consumed all input so far and it's
6711    waiting on thr->cond and then the main thread enables
6712    partial update for that thread, the code used to deadlock.
6713    This commit allows one dummy decoding pass to occur in this
6714    situation which then also does the partial update.
6715
6716    As part of the fix, this moves thr->progress_* updates to
6717    avoid the second thr->mutex locking.
6718
6719    Thanks to Jia Tan for finding, debugging, and reporting the bug.
6720
6721 src/liblzma/common/stream_decoder_mt.c | 71 +++++++++++++++++++++++++---------
6722 1 file changed, 52 insertions(+), 19 deletions(-)
6723
6724commit e0394e94230f208682ac1e1f4c41f22f9ad79916
6725Author: Lasse Collin <lasse.collin@tukaani.org>
6726Date:   2022-03-23 16:34:00 +0200
6727
6728    Update THANKS.
6729
6730 THANKS | 1 +
6731 1 file changed, 1 insertion(+)
6732
6733commit 487c77d48760564b1949c5067630b675b87be4de
6734Author: Lasse Collin <lasse.collin@tukaani.org>
6735Date:   2022-03-23 16:28:55 +0200
6736
6737    liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT.
6738
6739    LZMA_TIMED_OUT is not an error and thus stopping threads on
6740    LZMA_TIMED_OUT breaks the decoder badly.
6741
6742    Thanks to Jia Tan for finding the bug and for the patch.
6743
6744 src/liblzma/common/stream_decoder_mt.c | 2 +-
6745 1 file changed, 1 insertion(+), 1 deletion(-)
6746
6747commit 6c6da57ae2aa962aabde6892442227063d87e88c
6748Author: Lasse Collin <lasse.collin@tukaani.org>
6749Date:   2022-03-07 00:36:16 +0200
6750
6751    xz: Add initial support for threaded decompression.
6752
6753    If threading support is enabled at build time, this will
6754    use lzma_stream_decoder_mt() even for single-threaded mode.
6755    With memlimit_threading=0 the behavior should be identical.
6756
6757    This needs some work like adding --memlimit-threading=LIMIT.
6758
6759    The original patch from Sebastian Andrzej Siewior included
6760    a method to get currently available RAM on Linux. It might
6761    be one way to go but as it is Linux-only, the available-RAM
6762    approach needs work for portability or using a fallback method
6763    on other OSes.
6764
6765    The man page wasn't updated yet.
6766
6767 src/xz/coder.c | 36 +++++++++++++++++++++++++++++++++++-
6768 1 file changed, 35 insertions(+), 1 deletion(-)
6769
6770commit 4cce3e27f529af33e0e7749a8cbcec59954946b5
6771Author: Lasse Collin <lasse.collin@tukaani.org>
6772Date:   2022-03-06 23:36:20 +0200
6773
6774    liblzma: Add threaded .xz decompressor.
6775
6776    I realize that this is about a decade late.
6777
6778    Big thanks to Sebastian Andrzej Siewior for the original patch.
6779    I made a bunch of smaller changes but after a while quite a few
6780    things got rewritten. So any bugs in the commit were created by me.
6781
6782 src/liblzma/api/lzma/container.h       |   90 +-
6783 src/liblzma/common/Makefile.inc        |    5 +
6784 src/liblzma/common/common.h            |    4 +
6785 src/liblzma/common/stream_decoder_mt.c | 1814 ++++++++++++++++++++++++++++++++
6786 src/liblzma/liblzma.map                |    1 +
6787 5 files changed, 1907 insertions(+), 7 deletions(-)
6788
6789commit 717631b9788dc9c100ee0c87d3c14a2782638ff4
6790Author: Lasse Collin <lasse.collin@tukaani.org>
6791Date:   2022-03-06 16:54:23 +0200
6792
6793    liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK.
6794
6795    If Check is unsupported, it will be silently ignored.
6796    It's the caller's job to handle it.
6797
6798 src/liblzma/api/lzma/block.h | 3 ---
6799 1 file changed, 3 deletions(-)
6800
6801commit 1a4bb97a00936535e30ac61945aeee38882b5d1a
6802Author: Lasse Collin <lasse.collin@tukaani.org>
6803Date:   2022-03-06 16:41:19 +0200
6804
6805    liblzma: Add new output queue (lzma_outq) features.
6806
6807    Add lzma_outq_clear_cache2() which may leave one buffer allocated
6808    in the cache.
6809
6810    Add lzma_outq_outbuf_memusage() to get the memory needed for
6811    a single lzma_outbuf. This is now used internally in outqueue.c too.
6812
6813    Track both the total amount of memory allocated and the amount of
6814    memory that is in active use (not in cache).
6815
6816    In lzma_outbuf, allow storing the current input position that
6817    matches the current output position. This way the main thread
6818    can notice when no more output is possible without first providing
6819    more input.
6820
6821    Allow specifying return code for lzma_outq_read() in a finished
6822    lzma_outbuf.
6823
6824 src/liblzma/common/outqueue.c | 43 +++++++++++++++++++++++++++++++++++-------
6825 src/liblzma/common/outqueue.h | 44 ++++++++++++++++++++++++++++++++++++++++++-
6826 2 files changed, 79 insertions(+), 8 deletions(-)
6827
6828commit ddbc6f58c2de388eed24cd7ea91b523d397da5f4
6829Author: Lasse Collin <lasse.collin@tukaani.org>
6830Date:   2022-03-06 15:18:58 +0200
6831
6832    liblzma: Index hash: Change return value type of hash_append() to void.
6833
6834 src/liblzma/common/index_hash.c | 11 +++++------
6835 1 file changed, 5 insertions(+), 6 deletions(-)
6836
6837commit 20e7a33e2d59c6a814447d3991f21e2702174b20
6838Author: Lasse Collin <lasse.collin@tukaani.org>
6839Date:   2022-02-22 03:42:57 +0200
6840
6841    liblzma: Minor addition to lzma_vli_size() API doc.
6842
6843    Thanks to Jia Tan.
6844
6845 src/liblzma/api/lzma/vli.h | 2 ++
6846 1 file changed, 2 insertions(+)
6847
6848commit 4f78f5fcf63592f2d77e921cfe0d5de300867374
6849Author: Lasse Collin <lasse.collin@tukaani.org>
6850Date:   2022-02-22 02:04:18 +0200
6851
6852    liblzma: Check the return value of lzma_index_append() in threaded encoder.
6853
6854    If lzma_index_append() failed (most likely memory allocation failure)
6855    it could have gone unnoticed and the resulting .xz file would have
6856    an incorrect Index. Decompressing such a file would produce the
6857    correct uncompressed data but then an error would occur when
6858    verifying the Index field.
6859
6860 src/liblzma/common/stream_encoder_mt.c | 7 +++++--
6861 1 file changed, 5 insertions(+), 2 deletions(-)
6862
6863commit 5313ad66b40aab822ddca3e9905254cb99a4080d
6864Author: Lasse Collin <lasse.collin@tukaani.org>
6865Date:   2022-02-22 01:37:39 +0200
6866
6867    Update THANKS.
6868
6869 THANKS | 1 +
6870 1 file changed, 1 insertion(+)
6871
6872commit 865e0a3689a25a7ee8eecae1a34c1775e3aa676e
6873Author: Ed Maste <emaste@FreeBSD.org>
6874Date:   2022-02-11 15:25:46 +0000
6875
6876    liblzma: Use non-executable stack on FreeBSD as on Linux
6877
6878 src/liblzma/check/crc32_x86.S | 4 ++--
6879 src/liblzma/check/crc64_x86.S | 4 ++--
6880 2 files changed, 4 insertions(+), 4 deletions(-)
6881
6882commit 1c9a5786d206b4abc8e427326651c8174baea753
6883Author: Lasse Collin <lasse.collin@tukaani.org>
6884Date:   2022-02-20 20:36:27 +0200
6885
6886    liblzma: Make Block decoder catch certain types of errors better.
6887
6888    Now it limits the input and output buffer sizes that are
6889    passed to a raw decoder. This way there's no need to check
6890    if the sizes can grow too big or overflow when updating
6891    Compressed Size and Uncompressed Size counts. This also means
6892    that a corrupt file cannot cause the raw decoder to process
6893    useless extra input or output that would exceed the size info
6894    in Block Header (and thus cause LZMA_DATA_ERROR anyway).
6895
6896    More importantly, now the size information is verified more
6897    carefully in case raw decoder returns LZMA_OK. This doesn't
6898    really matter with the current single-threaded .xz decoder
6899    as the errors would be detected slightly later anyway. But
6900    this helps avoiding corner cases in the upcoming threaded
6901    decompressor, and it might help other Block decoder uses
6902    outside liblzma too.
6903
6904    The test files bad-1-lzma2-{9,10,11}.xz test these conditions.
6905    With the single-threaded .xz decoder the only difference is
6906    that LZMA_DATA_ERROR is detected in a difference place now.
6907
6908 src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------
6909 1 file changed, 54 insertions(+), 25 deletions(-)
6910
6911commit 555de11873eb00c9b94a8be70645db502e5a9dbd
6912Author: Lasse Collin <lasse.collin@tukaani.org>
6913Date:   2022-02-20 19:38:55 +0200
6914
6915    Tests: Add bad-1-lzma2-11.xz.
6916
6917 tests/files/README            |   5 +++++
6918 tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes
6919 2 files changed, 5 insertions(+)
6920
6921commit f0da507f22e7f4e3edb75b45b74d344244ca03fb
6922Author: Lasse Collin <lasse.collin@tukaani.org>
6923Date:   2022-02-18 18:51:10 +0200
6924
6925    Translations: Fix po4a failure with the French man page translations.
6926
6927    Thanks to Mario Blättermann for the patch.
6928
6929 po4a/fr_FR.po | 6 ++++--
6930 1 file changed, 4 insertions(+), 2 deletions(-)
6931
6932commit f7711d228c3c32395460c82498c60a9f730d0239
6933Author: Lasse Collin <lasse.collin@tukaani.org>
6934Date:   2022-02-07 01:14:37 +0200
6935
6936    Translations: Add French translation of man pages.
6937
6938    This matches xz-utils 5.2.5-2 in Debian.
6939
6940    The translation was done by "bubu", proofread by the debian-l10n-french
6941    mailing list contributors, and submitted to me on the xz-devel mailing
6942    list by Jean-Pierre Giraud. Thanks to everyone!
6943
6944 po4a/fr_FR.po  | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6945 po4a/po4a.conf |    2 +-
6946 2 files changed, 3542 insertions(+), 1 deletion(-)
6947
6948commit 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4
6949Author: jiat75 <jiat0218@gmail.com>
6950Date:   2022-01-28 20:47:55 +0800
6951
6952    liblzma: Add NULL checks to LZMA and LZMA2 properties encoders.
6953
6954    Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode()
6955    assumed that the options pointers must be non-NULL because the
6956    with these filters the API says it must never be NULL. It is
6957    good to do these checks anyway.
6958
6959 src/liblzma/lzma/lzma2_encoder.c | 3 +++
6960 src/liblzma/lzma/lzma_encoder.c  | 3 +++
6961 2 files changed, 6 insertions(+)
6962
6963commit 2523c30705f49eabd27b854aa656ae87cc224808
6964Author: Lasse Collin <lasse.collin@tukaani.org>
6965Date:   2022-02-06 23:19:32 +0200
6966
6967    liblzma: Fix uint64_t vs. size_t confusion.
6968
6969    This broke 32-bit builds due to a pointer type mismatch.
6970
6971    This bug was introduced with the output-size-limited encoding
6972    in 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
6973
6974    Thanks to huangqinjin for the bug report.
6975
6976 src/liblzma/rangecoder/range_encoder.h | 11 +++++++----
6977 1 file changed, 7 insertions(+), 4 deletions(-)
6978
6979commit 2bd36c91d03e03b31a4f12fd0afc100ae32d66e2
6980Author: huangqinjin <huangqinjin@gmail.com>
6981Date:   2021-12-13 20:49:21 +0800
6982
6983    CMake: Keep compatible with Windows 95 for 32-bit build.
6984
6985 CMakeLists.txt | 12 +++++++++++-
6986 1 file changed, 11 insertions(+), 1 deletion(-)
6987
6988commit 2024fbf2794885277d05378d40b2b8015a7c3b40
6989Author: Lasse Collin <lasse.collin@tukaani.org>
6990Date:   2021-11-13 21:04:05 +0200
6991
6992    xzgrep: Update man page timestamp.
6993
6994 src/scripts/xzgrep.1 | 2 +-
6995 1 file changed, 1 insertion(+), 1 deletion(-)
6996
6997commit 400e7a239a53282cedaad927a41f3463d7f542e5
6998Author: Lasse Collin <lasse.collin@tukaani.org>
6999Date:   2021-11-13 18:23:24 +0200
7000
7001    Update THANKS.
7002
7003 THANKS | 1 +
7004 1 file changed, 1 insertion(+)
7005
7006commit 3a512c7787b2642ca946f4adc6e9a0a5d9b0d5a0
7007Author: Ville Skyttä <ville.skytta@iki.fi>
7008Date:   2021-11-13 10:11:57 +0200
7009
7010    xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep`
7011
7012    `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in
7013    current post 3.7 Git they have been made to emit obsolescence warnings:
7014    https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1
7015
7016 src/scripts/xzgrep.1  | 8 ++++----
7017 src/scripts/xzgrep.in | 4 ++--
7018 2 files changed, 6 insertions(+), 6 deletions(-)
7019
7020commit edf525e2b1840dcaf377df472c67d8f11f8ace1b
7021Author: Lasse Collin <lasse.collin@tukaani.org>
7022Date:   2021-10-28 23:02:11 +0300
7023
7024    Bump the version number for 5.3.2alpha.
7025
7026 src/liblzma/api/lzma/version.h | 2 +-
7027 src/liblzma/liblzma.map        | 2 +-
7028 2 files changed, 2 insertions(+), 2 deletions(-)
7029
7030commit ea8c948655a86290524efe59cff067e06a886709
7031Author: Lasse Collin <lasse.collin@tukaani.org>
7032Date:   2021-10-28 22:59:52 +0300
7033
7034    Add NEWS for 5.3.2alpha.
7035
7036 NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7037 1 file changed, 86 insertions(+)
7038
7039commit 52435f302f4724157ec50b4210cbe42b285c3cbc
7040Author: Lasse Collin <lasse.collin@tukaani.org>
7041Date:   2021-10-27 23:27:48 +0300
7042
7043    Update THANKS.
7044
7045 THANKS | 1 +
7046 1 file changed, 1 insertion(+)
7047
7048commit f2aea1d5a504b2021bf47a238390e4f12bdd518d
7049Author: Lasse Collin <lasse.collin@tukaani.org>
7050Date:   2021-10-27 23:23:11 +0300
7051
7052    xz: Change the coding style of the previous commit.
7053
7054    It isn't any better now but it's consistent with
7055    the rest of the code base.
7056
7057 src/xz/file_io.c | 11 ++++++-----
7058 1 file changed, 6 insertions(+), 5 deletions(-)
7059
7060commit 892b16cc282f5b4e1c49871b326f4db25c5b4d81
7061Author: Alexander Bluhm <alexander.bluhm@gmx.net>
7062Date:   2021-10-05 23:33:16 +0200
7063
7064    xz: Avoid fchown(2) failure.
7065
7066    OpenBSD does not allow to change the group of a file if the user
7067    does not belong to this group.  In contrast to Linux, OpenBSD also
7068    fails if the new group is the same as the old one.  Do not call
7069    fchown(2) in this case, it would change nothing anyway.
7070
7071    This fixes an issue with Perl Alien::Build module.
7072    https://github.com/PerlAlien/Alien-Build/issues/62
7073
7074 src/xz/file_io.c | 8 +++++++-
7075 1 file changed, 7 insertions(+), 1 deletion(-)
7076
7077commit 2b509c868cae3988bf21cd693fbf9021cdc85628
7078Author: Lasse Collin <lasse.collin@tukaani.org>
7079Date:   2021-09-17 17:31:11 +0300
7080
7081    liblzma: Fix liblzma.map for the lzma_microlzma_* symbols.
7082
7083    This should have been part of d267d109c370a40b502e73f8664b154b15e4f253.
7084
7085    Thanks to Gao Xiang.
7086
7087 src/liblzma/liblzma.map | 4 ++--
7088 1 file changed, 2 insertions(+), 2 deletions(-)
7089
7090commit cacb06a954b58255dfc084a0bc9708f43a0fd6d6
7091Author: Lasse Collin <lasse.collin@tukaani.org>
7092Date:   2021-09-09 22:21:07 +0300
7093
7094    Update THANKS.
7095
7096 THANKS | 1 +
7097 1 file changed, 1 insertion(+)
7098
7099commit 6928aac9da6ba612780b9f72ba1d6ecbe1e8b54e
7100Author: Lasse Collin <lasse.collin@tukaani.org>
7101Date:   2021-09-09 21:41:51 +0300
7102
7103    liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC.
7104
7105    By default, MSVC always sets __cplusplus to 199711L. The real
7106    C++ standard version is available in _MSVC_LANG (or one could
7107    use /Zc:__cplusplus to set __cplusplus correctly).
7108
7109    Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>.
7110
7111    Thanks to Dan Weiss.
7112
7113 src/liblzma/api/lzma.h | 3 ++-
7114 1 file changed, 2 insertions(+), 1 deletion(-)
7115
7116commit d267d109c370a40b502e73f8664b154b15e4f253
7117Author: Lasse Collin <lasse.collin@tukaani.org>
7118Date:   2021-09-05 20:38:12 +0300
7119
7120    liblzma: Rename EROFS LZMA to MicroLZMA.
7121
7122    It still exists primarily for EROFS but MicroLZMA is
7123    a more generic name (that hopefully doesn't clash with
7124    something that already exists).
7125
7126 src/liblzma/api/lzma/container.h                   | 33 +++++++++++++---------
7127 src/liblzma/common/Makefile.inc                    |  4 +--
7128 .../{erofs_decoder.c => microlzma_decoder.c}       | 32 ++++++++++-----------
7129 .../{erofs_encoder.c => microlzma_encoder.c}       | 30 ++++++++++----------
7130 4 files changed, 52 insertions(+), 47 deletions(-)
7131
7132commit 3247e95115acb95bc27f41e8cf4501db5b0b4309
7133Author: Lasse Collin <lasse.collin@tukaani.org>
7134Date:   2021-06-04 19:02:38 +0300
7135
7136    xzdiff: Update the man page about the exit status.
7137
7138    This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca.
7139
7140 src/scripts/xzdiff.1 | 4 ++--
7141 1 file changed, 2 insertions(+), 2 deletions(-)
7142
7143commit 96f5a28a46fc93ac4e296808ac0f8631d05498bc
7144Author: Lasse Collin <lasse.collin@tukaani.org>
7145Date:   2021-06-04 18:52:48 +0300
7146
7147    xzless: Fix less(1) version detection when it contains a dot.
7148
7149    Sometimes the version number from "less -V" contains a dot,
7150    sometimes not. xzless failed detect the version number when
7151    it does contain a dot. This fixes it.
7152
7153    Thanks to nick87720z for reporting this. Apparently it had been
7154    reported here <https://bugs.gentoo.org/489362> in 2013.
7155
7156 src/scripts/xzless.in | 2 +-
7157 1 file changed, 1 insertion(+), 1 deletion(-)
7158
7159commit 5fb5212d816addbc523d0798cb482fdd0484f8fa
7160Author: Lasse Collin <lasse.collin@tukaani.org>
7161Date:   2021-04-11 19:58:10 +0300
7162
7163    Update THANKS.
7164
7165 THANKS | 2 ++
7166 1 file changed, 2 insertions(+)
7167
7168commit fc3d3a7296ef58bb799a73943636b8bfd95339f7
7169Author: Ivan A. Melnikov <iv@altlinux.org>
7170Date:   2021-04-09 11:45:10 +0300
7171
7172    Reduce maximum possible memory limit on MIPS32
7173
7174    Due to architectural limitations, address space available to a single
7175    userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems
7176    that have more physical RAM -- e.g. 64-bit systems with 32-bit
7177    userspace, or systems that use XPA (an extension similar to x86's PAE).
7178
7179    So, for MIPS32, we have to impose stronger memory limits. I've chosen
7180    2000MiB to give the process some headroom.
7181
7182 src/xz/hardware.c | 6 ++++++
7183 1 file changed, 6 insertions(+)
7184
7185commit e7da44d5151e21f153925781ad29334ae0786101
7186Author: Lasse Collin <lasse.collin@tukaani.org>
7187Date:   2021-02-13 23:31:27 +0200
7188
7189    CMake: Use interface library for better FindLibLZMA compatibility.
7190
7191    https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html
7192
7193    Thanks to Markus Rickert.
7194
7195 CMakeLists.txt | 11 +++++++++--
7196 1 file changed, 9 insertions(+), 2 deletions(-)
7197
7198commit a61dd82ada39030f41b4ffca9ea551714908bedc
7199Author: Lasse Collin <lasse.collin@tukaani.org>
7200Date:   2021-01-30 18:36:04 +0200
7201
7202    CMake: Try to improve compatibility with the FindLibLZMA module.
7203
7204    The naming conflict with FindLibLZMA module gets worse.
7205    Not avoiding it in the first place was stupid.
7206
7207    Normally find_package(LibLZMA) will use the module and
7208    find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config
7209    file even with a case insensitive file system. However, if
7210    CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system
7211    is case insensitive, find_package(LibLZMA) will find our liblzma
7212    config file instead of using FindLibLZMA module.
7213
7214    One big problem with this is that FindLibLZMA uses
7215    LibLZMA::LibLZMA and we use liblzma::liblzma as the target
7216    name. With target names CMake happens to be case sensitive.
7217    To workaround this, this commit adds
7218
7219        add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma)
7220
7221    to the config file. Then both spellings work.
7222
7223    To make the behavior consistent between case sensitive and
7224    insensitive file systems, the config and related files are
7225    renamed from liblzmaConfig.cmake to liblzma-config.cmake style.
7226    With this style CMake looks for lowercase version of the package
7227    name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work
7228    to find our config file.
7229
7230    There are other differences between our config file and
7231    FindLibLZMA so it's still possible that things break for
7232    reasons other than the spelling of the target name. Hopefully
7233    those situations aren't too common.
7234
7235    When the config file is available, it should always give as good or
7236    better results as FindLibLZMA so this commit doesn't affect the
7237    recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG)
7238    which explicitly avoids FindLibLZMA.
7239
7240    Thanks to Markus Rickert.
7241
7242 CMakeLists.txt | 21 +++++++++++++--------
7243 1 file changed, 13 insertions(+), 8 deletions(-)
7244
7245commit 5b7bc1b8ae766a76710ca1b99f909cf52c697f05
7246Author: Lasse Collin <lasse.collin@tukaani.org>
7247Date:   2021-01-29 21:19:43 +0200
7248
7249    Update THANKS.
7250
7251 THANKS | 1 +
7252 1 file changed, 1 insertion(+)
7253
7254commit 6c6f0db340dcb8bb424411cedba713405d55f6b8
7255Author: Lasse Collin <lasse.collin@tukaani.org>
7256Date:   2021-01-29 21:19:08 +0200
7257
7258    liblzma: Fix unitialized variable.
7259
7260    This was introduced two weeks ago in the commit
7261    625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
7262
7263    Thanks to Nathan Moinvaziri.
7264
7265 src/liblzma/lzma/lzma_encoder.c | 1 +
7266 1 file changed, 1 insertion(+)
7267
7268commit bb1d5c1fdd30550d4221ecd336e0be1206132a5c
7269Author: Lasse Collin <lasse.collin@tukaani.org>
7270Date:   2021-01-24 22:32:41 +0200
7271
7272    Tests: Add bad-1-lzma2-10.xz and also modify -9.xz.
7273
7274 tests/files/README            |  11 +++++++++--
7275 tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes
7276 tests/files/bad-1-lzma2-9.xz  | Bin 72 -> 72 bytes
7277 3 files changed, 9 insertions(+), 2 deletions(-)
7278
7279commit 6b8abc84a5469792e0355d0bfc0784d41cfdfef7
7280Author: Lasse Collin <lasse.collin@tukaani.org>
7281Date:   2021-01-24 19:22:35 +0200
7282
7283    liblzma: Fix a wrong comment in stream_encoder_mt.c.
7284
7285 src/liblzma/common/stream_encoder_mt.c | 10 +++++++---
7286 1 file changed, 7 insertions(+), 3 deletions(-)
7287
7288commit 939fc5ed654aac25fe0c8684b2df8dbeadb2de1e
7289Author: Lasse Collin <lasse.collin@tukaani.org>
7290Date:   2021-01-24 18:51:51 +0200
7291
7292    Tests: Add bad-1-lzma2-9.xz.
7293
7294 tests/files/README           |   4 ++++
7295 tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes
7296 2 files changed, 4 insertions(+)
7297
7298commit fdd30032f8531ac89519b48c21d810ecf06825f6
7299Author: Lasse Collin <lasse.collin@tukaani.org>
7300Date:   2021-01-24 17:02:00 +0200
7301
7302    Tests: Add bad-1-check-crc32-2.xz.
7303
7304 tests/files/README                 |   7 +++++++
7305 tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes
7306 2 files changed, 7 insertions(+)
7307
7308commit db465419ae26ec7fb9b9472183911ff521620c77
7309Author: Lasse Collin <lasse.collin@tukaani.org>
7310Date:   2021-01-17 19:20:50 +0200
7311
7312    liblzma: In EROFS LZMA decoder, verify that comp_size matches at the end.
7313
7314    When the uncompressed size is known to be exact, after decompressing
7315    the stream exactly comp_size bytes of input must have been consumed.
7316    This is a minor improvement to error detection.
7317
7318 src/liblzma/common/erofs_decoder.c | 7 ++++++-
7319 1 file changed, 6 insertions(+), 1 deletion(-)
7320
7321commit 774cc0118ba2496581cb2621505a04bb6598cc75
7322Author: Lasse Collin <lasse.collin@tukaani.org>
7323Date:   2021-01-17 18:53:34 +0200
7324
7325    liblzma: Make EROFS LZMA decoder work when exact uncomp_size isn't known.
7326
7327    The caller must still not specify an uncompressed size bigger
7328    than the actual uncompressed size.
7329
7330    As a downside, this now needs the exact compressed size.
7331
7332 src/liblzma/api/lzma/container.h   | 23 ++++++++---
7333 src/liblzma/common/erofs_decoder.c | 80 ++++++++++++++++++++++++++++++++++----
7334 2 files changed, 91 insertions(+), 12 deletions(-)
7335
7336commit 421b0aa352da244075db10205cf33712f91b9835
7337Author: Lasse Collin <lasse.collin@tukaani.org>
7338Date:   2021-01-14 20:57:11 +0200
7339
7340    liblzma: Fix missing normalization in rc_encode_dummy().
7341
7342    Without this fix it could attempt to create too much output.
7343
7344 src/liblzma/rangecoder/range_encoder.h | 7 ++++++-
7345 1 file changed, 6 insertions(+), 1 deletion(-)
7346
7347commit 601ec0311e769fc704daaaa7dac0ca840aff080e
7348Author: Lasse Collin <lasse.collin@tukaani.org>
7349Date:   2021-01-14 20:07:01 +0200
7350
7351    liblzma: Add EROFS LZMA encoder and decoder.
7352
7353    Right now this is just a planned extra-compact format for use
7354    in the EROFS file system in Linux. At this point it's possible
7355    that the format will either change or be abandoned and removed
7356    completely.
7357
7358    The special thing about the encoder is that it uses the
7359    output-size-limited encoding added in the previous commit.
7360    EROFS uses fixed-sized blocks (e.g. 4 KiB) to hold compressed
7361    data so the compressors must be able to create valid streams
7362    that fill the given block size.
7363
7364 src/liblzma/api/lzma/container.h   |  76 +++++++++++++++++++
7365 src/liblzma/common/Makefile.inc    |   2 +
7366 src/liblzma/common/erofs_decoder.c | 148 +++++++++++++++++++++++++++++++++++++
7367 src/liblzma/common/erofs_encoder.c | 139 ++++++++++++++++++++++++++++++++++
7368 src/liblzma/liblzma.map            |   2 +
7369 5 files changed, 367 insertions(+)
7370
7371commit 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c
7372Author: Lasse Collin <lasse.collin@tukaani.org>
7373Date:   2021-01-13 19:16:32 +0200
7374
7375    liblzma: Add rough support for output-size-limited encoding in LZMA1.
7376
7377    With this it is possible to encode LZMA1 data without EOPM so that
7378    the encoder will encode as much input as it can without exceeding
7379    the specified output size limit. The resulting LZMA1 stream will
7380    be a normal LZMA1 stream without EOPM. The actual uncompressed size
7381    will be available to the caller via the uncomp_size pointer.
7382
7383    One missing thing is that the LZMA layer doesn't inform the LZ layer
7384    when the encoding is finished and thus the LZ may read more input
7385    when it won't be used. However, this doesn't matter if encoding is
7386    done with a single call (which is the planned use case for now).
7387    For proper multi-call encoding this should be improved.
7388
7389    This commit only adds the functionality for internal use.
7390    Nothing uses it yet.
7391
7392 src/liblzma/common/common.h             |  11 +++
7393 src/liblzma/lz/lz_encoder.c             |  16 ++++
7394 src/liblzma/lz/lz_encoder.h             |   4 +
7395 src/liblzma/lzma/lzma_encoder.c         | 127 +++++++++++++++++++++++---------
7396 src/liblzma/lzma/lzma_encoder_private.h |  12 +++
7397 src/liblzma/rangecoder/range_encoder.h  | 111 ++++++++++++++++++++++++++++
7398 6 files changed, 246 insertions(+), 35 deletions(-)
7399
7400commit 9cdabbeea891e8f1e7741b076f7db6ac05ae392a
7401Author: Lasse Collin <lasse.collin@tukaani.org>
7402Date:   2021-01-11 23:57:11 +0200
7403
7404    Scripts: Add zstd support to xzdiff.
7405
7406 src/scripts/xzdiff.1  |  6 ++++--
7407 src/scripts/xzdiff.in | 16 +++++++++++-----
7408 2 files changed, 15 insertions(+), 7 deletions(-)
7409
7410commit d9ec3add97cf4c999a7f594c6529680227b6c274
7411Author: Lasse Collin <lasse.collin@tukaani.org>
7412Date:   2021-01-11 23:41:30 +0200
7413
7414    Update THANKS.
7415
7416 THANKS | 2 ++
7417 1 file changed, 2 insertions(+)
7418
7419commit 074259f4f3966aeac6edb205fecbc1a8d2b58bb2
7420Author: Lasse Collin <lasse.collin@tukaani.org>
7421Date:   2021-01-11 23:41:16 +0200
7422
7423    xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky.
7424
7425    Previously this required using --force but that has other
7426    effects too which might be undesirable. Changing the behavior
7427    of --keep has a small risk of breaking existing scripts but
7428    since this is a fairly special corner case I expect the
7429    likehood of breakage to be low enough.
7430
7431    I think the new behavior is more logical. The only reason for
7432    the old behavior was to be consistent with gzip and bzip2.
7433
7434    Thanks to Vincent Lefevre and Sebastian Andrzej Siewior.
7435
7436 src/xz/file_io.c |  9 +++++----
7437 src/xz/xz.1      | 16 +++++++++++++++-
7438 2 files changed, 20 insertions(+), 5 deletions(-)
7439
7440commit 73c555b3077c19dda29b6f4592ced2af876f8333
7441Author: Lasse Collin <lasse.collin@tukaani.org>
7442Date:   2021-01-11 23:28:52 +0200
7443
7444    Scripts: Fix exit status of xzgrep.
7445
7446    Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't
7447    matter. With gzip it's important because -q makes gzip replace SIGPIPE
7448    with exit status 2. With bzip2 it's important because with -q bzip2
7449    is completely silent if input is corrupt while other decompressors
7450    still give an error message.
7451
7452    Avoiding exit status 2 from gzip is important because bzip2 uses
7453    exit status 2 to indicate corrupt input. Before this commit xzgrep
7454    didn't recognize corrupt .bz2 files because xzgrep was treating
7455    exit status 2 as SIGPIPE for gzip compatibility.
7456
7457    zstd still needs -q because otherwise it is noisy in normal
7458    operation.
7459
7460    The code to detect real SIGPIPE didn't check if the exit status
7461    was due to a signal (>= 128) and so could ignore some other exit
7462    status too.
7463
7464 src/scripts/xzgrep.in | 20 +++++++++++++-------
7465 1 file changed, 13 insertions(+), 7 deletions(-)
7466
7467commit 194029ffaf74282a81f0c299c07f73caca3232ca
7468Author: Lasse Collin <lasse.collin@tukaani.org>
7469Date:   2021-01-11 22:01:51 +0200
7470
7471    Scripts: Fix exit status of xzdiff/xzcmp.
7472
7473    This is a minor fix since this affects only the situation when
7474    the files differ and the exit status is something else than 0.
7475    In such case there could be SIGPIPE from a decompression tool
7476    and that would result in exit status of 2 from xzdiff/xzcmp
7477    while the correct behavior would be to return 1 or whatever
7478    else diff or cmp may have returned.
7479
7480    This commit omits the -q option from xz/gzip/bzip2/lzop arguments.
7481    I'm not sure why the -q was used in the first place, perhaps it
7482    hides warnings in some situation that I cannot see at the moment.
7483    Hopefully the removal won't introduce a new bug.
7484
7485    With gzip the -q option was harmful because it made gzip return 2
7486    instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning
7487    from gzip) isn't practical because bzip2 uses exit status 2 to
7488    indicate corrupt input file. It's better if SIGPIPE results in
7489    exit status >= 128.
7490
7491    With bzip2 the removal of -q seems to be good because with -q
7492    it prints nothing if input is corrupt. The other tools aren't
7493    silent in this situation even with -q. On the other hand, if
7494    zstd support is added, it will need -q since otherwise it's
7495    noisy in normal situations.
7496
7497    Thanks to Étienne Mollier and Sebastian Andrzej Siewior.
7498
7499 src/scripts/xzdiff.in | 35 +++++++++++++++++++++--------------
7500 1 file changed, 21 insertions(+), 14 deletions(-)
7501
7502commit f7fa309e1f7178d04c7bedc03b73077639371e97
7503Author: Lasse Collin <lasse.collin@tukaani.org>
7504Date:   2021-01-09 21:14:36 +0200
7505
7506    liblzma: Make lzma_outq usable for threaded decompression too.
7507
7508    Before this commit all output queue buffers were allocated as
7509    a single big allocation. Now each buffer is allocated separately
7510    when needed. Used buffers are cached to avoid reallocation
7511    overhead but the cache will keep only one buffer size at a time.
7512    This should make things work OK in the decompression where most
7513    of the time the buffer sizes will be the same but with some less
7514    common files the buffer sizes may vary.
7515
7516    While this should work fine, it's still a bit preliminary
7517    and may even get reverted if it turns out to be useless for
7518    decompression.
7519
7520 src/liblzma/common/outqueue.c          | 268 +++++++++++++++++++++------------
7521 src/liblzma/common/outqueue.h          | 138 ++++++++++++-----
7522 src/liblzma/common/stream_encoder_mt.c |  52 ++++---
7523 3 files changed, 301 insertions(+), 157 deletions(-)
7524
7525commit a35a69d693ce37d4ba7c1855bda7d9cfa13d1778
7526Author: Lasse Collin <lasse.collin@tukaani.org>
7527Date:   2020-12-23 17:15:49 +0200
7528
7529    Update THANKS.
7530
7531 THANKS | 1 +
7532 1 file changed, 1 insertion(+)
7533
7534commit 4fd79b90c52396d70e0b1206ceb1a873a0ad2589
7535Author: H.J. Lu <hjl.tools@gmail.com>
7536Date:   2020-12-23 06:49:04 -0800
7537
7538    liblzma: Enable Intel CET in x86 CRC assembly codes
7539
7540    When Intel CET is enabled, we need to include <cet.h> in assembly codes
7541    to mark Intel CET support and add _CET_ENDBR to indirect jump targets.
7542
7543    Tested on Intel Tiger Lake under CET enabled Linux.
7544
7545 src/liblzma/check/crc32_x86.S | 9 +++++++++
7546 src/liblzma/check/crc64_x86.S | 9 +++++++++
7547 2 files changed, 18 insertions(+)
7548
7549commit bb3b8c6a23e25db79f862b1de325c56052e0354b
7550Author: Lasse Collin <lasse.collin@tukaani.org>
7551Date:   2020-12-16 18:33:29 +0200
7552
7553    Update THANKS.
7554
7555 THANKS | 1 +
7556 1 file changed, 1 insertion(+)
7557
7558commit 21588ca34af98738954fc12ded1b89d7294ef646
7559Author: Lasse Collin <lasse.collin@tukaani.org>
7560Date:   2020-12-16 18:30:14 +0200
7561
7562    Build: Don't build bundles on Apple OSes.
7563
7564    Thanks to Daniel Packard.
7565
7566 CMakeLists.txt | 3 +++
7567 1 file changed, 3 insertions(+)
7568
7569commit d05b0c42dd8b38d8c6b8193c8af50e9bd3d16f28
7570Author: Lasse Collin <lasse.collin@tukaani.org>
7571Date:   2020-12-05 22:44:03 +0200
7572
7573    Update THANKS.
7574
7575 THANKS | 1 +
7576 1 file changed, 1 insertion(+)
7577
7578commit 1890351f3423627ba5c4c495402f32d7e9ed90b7
7579Author: Adam Borowski <kilobyte@angband.pl>
7580Date:   2020-09-25 03:35:18 +0200
7581
7582    Scripts: Add zstd support to xzgrep.
7583
7584    Thanks to Adam Borowski.
7585
7586 src/scripts/xzgrep.1  | 9 ++++++---
7587 src/scripts/xzgrep.in | 1 +
7588 2 files changed, 7 insertions(+), 3 deletions(-)
7589
7590commit 2f108abb3d82e4e2313b438dae9c0c7c7a6366f2
7591Author: Lasse Collin <lasse.collin@tukaani.org>
7592Date:   2020-11-17 20:51:48 +0200
7593
7594    CMake: Fix compatibility with CMake 3.13.
7595
7596    The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14.
7597    In some other places the code treats the cache variables
7598    like normal variables already (${FOO} or if(FOO) is used,
7599    not ${CACHE{FOO}).
7600
7601    Thanks to ygrek for reporting the bug on IRC.
7602
7603 CMakeLists.txt              | 2 +-
7604 cmake/tuklib_cpucores.cmake | 4 ++--
7605 cmake/tuklib_physmem.cmake  | 4 ++--
7606 3 files changed, 5 insertions(+), 5 deletions(-)
7607
7608commit 5af726a79273fafa5de5745b117e567f21c90e49
7609Author: Lasse Collin <lasse.collin@tukaani.org>
7610Date:   2020-11-01 22:56:43 +0200
7611
7612    Update THANKS.
7613
7614 THANKS | 4 +++-
7615 1 file changed, 3 insertions(+), 1 deletion(-)
7616
7617commit 4575d9d365c756ec189899f9f743e0b3515ce72d
7618Author: Lasse Collin <lasse.collin@tukaani.org>
7619Date:   2020-11-01 22:34:25 +0200
7620
7621    xz: Avoid unneeded \f escapes on the man page.
7622
7623    I don't want to use \c in macro arguments but groff_man(7)
7624    suggests that \f has better portability. \f would be needed
7625    for the .TP strings for portability reasons anyway.
7626
7627    Thanks to Bjarni Ingi Gislason.
7628
7629 src/xz/xz.1 | 31 ++++++++++++++++++++++---------
7630 1 file changed, 22 insertions(+), 9 deletions(-)
7631
7632commit 620b32f5339f86710cb4435e01ecdac972ccac73
7633Author: Lasse Collin <lasse.collin@tukaani.org>
7634Date:   2020-11-01 19:09:53 +0200
7635
7636    xz: Use non-breaking spaces when intentionally using more than one space.
7637
7638    This silences some style checker warnings. Seems that spaces
7639    in the beginning of a line don't need this treatment.
7640
7641    Thanks to Bjarni Ingi Gislason.
7642
7643 src/xz/xz.1 | 2 +-
7644 1 file changed, 1 insertion(+), 1 deletion(-)
7645
7646commit cb1f34988c8a4130485091b2f8b641303d8f701b
7647Author: Lasse Collin <lasse.collin@tukaani.org>
7648Date:   2020-11-01 18:49:37 +0200
7649
7650    xz: Protect the ellipsis (...) on the man page with \&.
7651
7652    This does it only when ... appears outside macro calls.
7653
7654    Thanks to Bjarni Ingi Gislason.
7655
7656 src/xz/xz.1 | 4 ++--
7657 1 file changed, 2 insertions(+), 2 deletions(-)
7658
7659commit 5d224da3da87400f2fab313abbd7c710e7169ef9
7660Author: Lasse Collin <lasse.collin@tukaani.org>
7661Date:   2020-11-01 18:41:21 +0200
7662
7663    xz: Avoid the abbreviation "e.g." on the man page.
7664
7665    A few are simply omitted, most are converted to "for example"
7666    and surrounded with commas. Sounds like that this is better
7667    style, for example, man-pages(7) recommends avoiding such
7668    abbreviations except in parenthesis.
7669
7670    Thanks to Bjarni Ingi Gislason.
7671
7672 src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++-------------------------------
7673 1 file changed, 33 insertions(+), 33 deletions(-)
7674
7675commit 90457dbe3e5717660f5b81f8c604860fc5137c0c
7676Author: Lasse Collin <lasse.collin@tukaani.org>
7677Date:   2020-07-12 23:10:03 +0300
7678
7679    xz man page: Change \- (minus) to \(en (en-dash) for a numeric range.
7680
7681    Docs of ancient troff/nroff mention \(em (em-dash) but not \(en
7682    and \- was used for both minus and en-dash. I don't know how
7683    portable \(en is nowadays but it can be changed back if someone
7684    complains. At least GNU groff and OpenBSD's mandoc support it.
7685
7686    Thanks to Bjarni Ingi Gislason for the patch.
7687
7688 src/xz/xz.1 | 16 ++++++++--------
7689 1 file changed, 8 insertions(+), 8 deletions(-)
7690
7691commit 352ba2d69af2136bc814aa1df1a132559d445616
7692Author: Lasse Collin <lasse.collin@tukaani.org>
7693Date:   2020-07-12 20:46:24 +0300
7694
7695    Windows: Fix building of resource files when config.h isn't used.
7696
7697    Now CMake + Visual Studio works for building liblzma.dll.
7698
7699    Thanks to Markus Rickert.
7700
7701 src/common/common_w32res.rc | 4 +++-
7702 1 file changed, 3 insertions(+), 1 deletion(-)
7703
7704commit a9e2a87f1d61dcf684d809bf08c8ebea93f8a480
7705Author: Lasse Collin <lasse.collin@tukaani.org>
7706Date:   2020-04-06 19:31:50 +0300
7707
7708    src/scripts/xzgrep.1: Filenames to xzgrep are optional.
7709
7710    xzgrep --help was correct already.
7711
7712 src/scripts/xzgrep.1 | 2 +-
7713 1 file changed, 1 insertion(+), 1 deletion(-)
7714
7715commit a7ba275d9b855d186abb29eb7a4f4cb6d9ca6fe0
7716Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
7717Date:   2020-03-26 22:17:31 +0000
7718
7719    src/script/xzgrep.1: Remove superfluous '.RB'
7720
7721    Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
7722
7723      [ "test-groff" is a developmental version of "groff" ]
7724
7725    Input file is ./src/scripts/xzgrep.1
7726
7727    <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected
7728    <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected
7729    <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected
7730    <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected
7731    <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected
7732
7733     "abc..." does not mean the same as "abc ...".
7734
7735      The output from nroff and troff is unchanged except for the space
7736    between "file" and "...".
7737
7738    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
7739
7740 src/scripts/xzgrep.1 | 12 ++++++------
7741 1 file changed, 6 insertions(+), 6 deletions(-)
7742
7743commit 133d498db0f4b14f066d192d64dbcade45deae6b
7744Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
7745Date:   2020-03-30 21:56:36 +0000
7746
7747    xzgrep.1: Delete superfluous '.PP'
7748
7749    Summary:
7750
7751    mandoc -T lint xzgrep.1 :
7752    mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty
7753
7754      There is no change in the output of "nroff" and "troff".
7755
7756    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
7757
7758 src/scripts/xzgrep.1 | 1 -
7759 1 file changed, 1 deletion(-)
7760
7761commit 057839ca982f886387b66746bffe749cb14fd8cd
7762Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
7763Date:   2020-03-26 21:16:18 +0000
7764
7765    src/xz/xz.1: Correct misused two-fonts macros
7766
7767    Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
7768
7769      [ "test-groff" is a developmental version of "groff" ]
7770
7771    Input file is ./src/xz/xz.1
7772
7773    <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected
7774    <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected
7775    <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected
7776    <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected
7777    <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected
7778
7779      Output from nroff and troff is unchanged, except for a font change of a
7780    full stop (.).
7781
7782    Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
7783
7784 src/xz/xz.1 | 10 +++++-----
7785 1 file changed, 5 insertions(+), 5 deletions(-)
7786
7787commit b8e12f5ab4c9fd3cb09a4330b2861f6b979ababd
7788Author: Lasse Collin <lasse.collin@tukaani.org>
7789Date:   2020-03-23 18:07:50 +0200
7790
7791    Typo fixes from fossies.org.
7792
7793    https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html
7794
7795 Makefile.am                     | 2 +-
7796 doc/examples/01_compress_easy.c | 2 +-
7797 src/liblzma/api/lzma/base.h     | 2 +-
7798 src/liblzma/check/crc32_x86.S   | 2 +-
7799 src/liblzma/common/index.c      | 2 +-
7800 src/xz/xz.1                     | 4 ++--
7801 6 files changed, 7 insertions(+), 7 deletions(-)
7802
7803commit 869b9d1b4edd6df07f819d360d306251f8147353
7804Author: Lasse Collin <lasse.collin@tukaani.org>
7805Date:   2020-03-17 16:24:28 +0200
7806
7807    Update NEWS for 5.2.5.
7808
7809 NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7810 1 file changed, 105 insertions(+)
7811
7812commit a048e3a92d238c65f050a765174d9c75417231d4
7813Author: Lasse Collin <lasse.collin@tukaani.org>
7814Date:   2020-03-16 20:01:37 +0200
7815
7816    README: Update outdated sections.
7817
7818 README | 21 +++++++++++----------
7819 1 file changed, 11 insertions(+), 10 deletions(-)
7820
7821commit 29aed815ad4f98f3e4d355faa76a244ecd8ce716
7822Author: Lasse Collin <lasse.collin@tukaani.org>
7823Date:   2020-03-16 19:39:45 +0200
7824
7825    README: Mention that man pages can be translated.
7826
7827 README | 7 ++++---
7828 1 file changed, 4 insertions(+), 3 deletions(-)
7829
7830commit 7fa7653940cc9dcfcbce2fbc5166ea343ad4e3c1
7831Author: Lasse Collin <lasse.collin@tukaani.org>
7832Date:   2020-03-16 16:43:29 +0200
7833
7834    Update INSTALL.generic from Automake 1.16.1.
7835
7836 INSTALL.generic | 321 ++++++++++++++++++++++++++++----------------------------
7837 1 file changed, 162 insertions(+), 159 deletions(-)
7838
7839commit 9bd317ef03ab9b3e6a927c27c2e9c4ac041182f0
7840Author: Lasse Collin <lasse.collin@tukaani.org>
7841Date:   2020-03-15 15:27:22 +0200
7842
7843    Update INSTALL for Windows and DOS and add preliminary info for z/OS.
7844
7845 INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++----------
7846 1 file changed, 41 insertions(+), 10 deletions(-)
7847
7848commit a3148c0446dc7fa96363752df414d22539c9007b
7849Author: Lasse Collin <lasse.collin@tukaani.org>
7850Date:   2020-03-15 15:26:20 +0200
7851
7852    Build: Update m4/ax_pthread.m4 from Autoconf Archive (again).
7853
7854 m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++--------------------------
7855 1 file changed, 117 insertions(+), 102 deletions(-)
7856
7857commit 7812002dd3ed319e42a14662a8531802cca8ca67
7858Author: Lasse Collin <lasse.collin@tukaani.org>
7859Date:   2020-03-11 21:15:35 +0200
7860
7861    xz: Never use thousand separators in DJGPP builds.
7862
7863    DJGPP 2.05 added support for thousands separators but it's
7864    broken at least under WinXP with Finnish locale that uses
7865    a non-breaking space as the thousands separator. Workaround
7866    by disabling thousands separators for DJGPP builds.
7867
7868 src/xz/util.c | 14 ++++++++++++--
7869 1 file changed, 12 insertions(+), 2 deletions(-)
7870
7871commit 7c8f688bf7fccd65d396e0130cbf4ea5dff5c56f
7872Author: Lasse Collin <lasse.collin@tukaani.org>
7873Date:   2020-03-11 19:38:08 +0200
7874
7875    DOS: Update dos/Makefile for DJGPP 2.05.
7876
7877    It doesn't need -fgnu89-inline like 2.04beta did.
7878
7879 dos/Makefile | 4 +---
7880 1 file changed, 1 insertion(+), 3 deletions(-)
7881
7882commit 319ca928d73de87940c54e30bffe69f9fa65efdf
7883Author: Lasse Collin <lasse.collin@tukaani.org>
7884Date:   2020-03-11 19:36:07 +0200
7885
7886    DOS: Update instructions in dos/INSTALL.txt.
7887
7888 dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++-----------------------------
7889 1 file changed, 29 insertions(+), 30 deletions(-)
7890
7891commit cb6b227ce39932824812ccd8a0647bd968de27d2
7892Author: Lasse Collin <lasse.collin@tukaani.org>
7893Date:   2020-03-11 17:58:51 +0200
7894
7895    DOS: Update config.h.
7896
7897    The added defines assume GCC >= 4.8.
7898
7899 dos/config.h | 8 ++++++++
7900 1 file changed, 8 insertions(+)
7901
7902commit 4572d53e16e87eee375bc5624de2fd59bb0ae9cd
7903Author: Lasse Collin <lasse.collin@tukaani.org>
7904Date:   2020-03-02 13:54:33 +0200
7905
7906    liblzma: Fix a comment and RC_SYMBOLS_MAX.
7907
7908    The comment didn't match the value of RC_SYMBOLS_MAX and the value
7909    itself was slightly larger than actually needed. The only harm
7910    about this was that memory usage was a few bytes larger.
7911
7912 src/liblzma/rangecoder/range_encoder.h | 4 ++--
7913 1 file changed, 2 insertions(+), 2 deletions(-)
7914
7915commit 265daa873c0d871f5f23f9b56e133a6f20045a0a
7916Author: Lasse Collin <lasse.collin@tukaani.org>
7917Date:   2020-02-27 20:58:52 +0200
7918
7919    Build: Make CMake build fail if tuklib_cpucores or tuklib_physmem fails.
7920
7921 CMakeLists.txt | 18 ++++++++++++++++++
7922 1 file changed, 18 insertions(+)
7923
7924commit 7c8b904527cdbe61248c80edcc2e20d840c4fef9
7925Author: Lasse Collin <lasse.collin@tukaani.org>
7926Date:   2020-02-27 20:24:27 +0200
7927
7928    Build: Add support for --no-po4a option to autogen.sh.
7929
7930    Normally, if po4a isn't available, autogen.sh will return
7931    with non-zero exit status. The option --no-po4a can be useful
7932    when one knows that po4a isn't available but wants autogen.sh
7933    to still return with zero exit status.
7934
7935 autogen.sh | 11 ++++++++++-
7936 1 file changed, 10 insertions(+), 1 deletion(-)
7937
7938commit 292a5c0f9c9b3a66f5a5c652dc46381836d4537f
7939Author: Lasse Collin <lasse.collin@tukaani.org>
7940Date:   2020-02-25 21:35:14 +0200
7941
7942    Update THANKS.
7943
7944 THANKS | 1 +
7945 1 file changed, 1 insertion(+)
7946
7947commit 474320e9908786ba2021035f9013191e16cde08a
7948Author: Lasse Collin <lasse.collin@tukaani.org>
7949Date:   2020-02-25 20:42:31 +0200
7950
7951    Build: Fix bugs in the CMake files.
7952
7953    Seems that the phrase "add more quotes" from sh/bash scripting
7954    applies to CMake as well. E.g. passing an unquoted list ${FOO}
7955    to a function that expects one argument results in only the
7956    first element of the list being passed as an argument and
7957    the rest get ignored. Adding quotes helps ("${FOO}").
7958
7959    list(INSERT ...) is weird. Inserting an empty string to an empty
7960    variable results in empty list, but inserting it to a non-empty
7961    variable does insert an empty element to the list.
7962
7963    Since INSERT requires at least one element,
7964    "${CMAKE_THREAD_LIBS_INIT}" needs to be quoted in CMakeLists.txt.
7965    It might result in an empty element in the list. It seems to not
7966    matter as empty elements consistently get ignored in that variable.
7967    In fact, calling cmake_check_push_state() and cmake_check_pop_state()
7968    will strip the empty elements from CMAKE_REQUIRED_LIBRARIES!
7969
7970    In addition to quoting fixes, this fixes checks for the cache
7971    variables in tuklib_cpucores.cmake and tuklib_physmem.cmake.
7972
7973    Thanks to Martin Matuška for testing and reporting the problems.
7974    These fixes aren't tested yet but hopefully they soon will be.
7975
7976 CMakeLists.txt              | 52 ++++++++++++++++++++++-----------------------
7977 cmake/tuklib_common.cmake   |  8 ++++---
7978 cmake/tuklib_cpucores.cmake | 30 ++++++++++++++------------
7979 cmake/tuklib_integer.cmake  | 34 +++++++++++++++--------------
7980 cmake/tuklib_mbstr.cmake    |  6 +++---
7981 cmake/tuklib_physmem.cmake  | 29 +++++++++++++------------
7982 cmake/tuklib_progname.cmake |  4 ++--
7983 7 files changed, 85 insertions(+), 78 deletions(-)
7984
7985commit 7e3493d40eac0c3fa3d5124097745a70e15c41f6
7986Author: Lasse Collin <lasse.collin@tukaani.org>
7987Date:   2020-02-24 23:38:16 +0200
7988
7989    Build: Add very limited experimental CMake support.
7990
7991    This does *NOT* replace the Autotools-based build system in
7992    the foreseeable future. See the comment in the beginning
7993    of CMakeLists.txt.
7994
7995    So far this has been tested only on GNU/Linux but I commit
7996    it anyway to make it easier for others to test. Since I
7997    haven't played much with CMake before, it's likely that
7998    there are things that have been done in a silly or wrong
7999    way and need to be fixed.
8000
8001 CMakeLists.txt              | 643 ++++++++++++++++++++++++++++++++++++++++++++
8002 cmake/tuklib_common.cmake   |  47 ++++
8003 cmake/tuklib_cpucores.cmake | 173 ++++++++++++
8004 cmake/tuklib_integer.cmake  | 100 +++++++
8005 cmake/tuklib_mbstr.cmake    |  20 ++
8006 cmake/tuklib_physmem.cmake  | 149 ++++++++++
8007 cmake/tuklib_progname.cmake |  19 ++
8008 7 files changed, 1151 insertions(+)
8009
8010commit 21bd4701fca3e9002ce78bc135debca369ed8545
8011Author: Lasse Collin <lasse.collin@tukaani.org>
8012Date:   2020-02-24 23:37:07 +0200
8013
8014    Update m4/.gitignore.
8015
8016 m4/.gitignore | 1 +
8017 1 file changed, 1 insertion(+)
8018
8019commit e094d1d0f196a91ec703e8d0055948feef349ae8
8020Author: Lasse Collin <lasse.collin@tukaani.org>
8021Date:   2020-02-24 23:29:35 +0200
8022
8023    tuklib: Omit an unneeded <sys/types.h> from a tests.
8024
8025    tuklib_cpucores.c and tuklib_physmem.c don't include <sys/types.h>
8026    even via other files in this package, so clearly that header isn't
8027    needed in the tests either (no one has reported build problems due
8028    to a missing header in a .c file).
8029
8030 m4/tuklib_cpucores.m4 | 1 -
8031 m4/tuklib_physmem.m4  | 1 -
8032 2 files changed, 2 deletions(-)
8033
8034commit b3ed19a55fe99a45bd77614e149d39d18498075c
8035Author: Lasse Collin <lasse.collin@tukaani.org>
8036Date:   2020-02-24 23:01:00 +0200
8037
8038    liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c.
8039
8040    This file only generates fastpos_table.c.
8041    It isn't built as a part of liblzma.
8042
8043 src/liblzma/lzma/fastpos_tablegen.c | 1 -
8044 1 file changed, 1 deletion(-)
8045
8046commit 7b8982b29179b3c586e0456dc9ecbd4f58dcea59
8047Author: Lasse Collin <lasse.collin@tukaani.org>
8048Date:   2020-02-22 14:15:07 +0200
8049
8050    Use defined(__GNUC__) before __GNUC__ in preprocessor lines.
8051
8052    This should silence the equivalent of -Wundef in compilers that
8053    don't define __GNUC__.
8054
8055 src/common/sysdefs.h   | 3 ++-
8056 src/liblzma/api/lzma.h | 5 +++--
8057 2 files changed, 5 insertions(+), 3 deletions(-)
8058
8059commit 43dfe04e6209c691cf4fbe3072d4ee91271748f1
8060Author: Lasse Collin <lasse.collin@tukaani.org>
8061Date:   2020-02-21 17:40:02 +0200
8062
8063    liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA.
8064
8065    This gives a tiny encoder speed improvement. This could have been done
8066    in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but
8067    it was forgotten.
8068
8069 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------
8070 1 file changed, 10 insertions(+), 6 deletions(-)
8071
8072commit 59e6eb4840b9f52fa3a61544974017279b448216
8073Author: Lasse Collin <lasse.collin@tukaani.org>
8074Date:   2020-02-21 17:01:15 +0200
8075
8076    Build: Add visibility.m4 from gnulib.
8077
8078    Appears that this file used to get included as a side effect of
8079    gettext. After the change to gettext version requirements this file
8080    no longer got copied to the package and so the build was broken.
8081
8082 m4/.gitignore    |  1 -
8083 m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8084 2 files changed, 77 insertions(+), 1 deletion(-)
8085
8086commit 7fe3ef2eaa53d439cec043727ea1998f4ff0e22a
8087Author: Lasse Collin <lasse.collin@tukaani.org>
8088Date:   2020-02-21 16:10:44 +0200
8089
8090    xz: Silence a warning when sig_atomic_t is long int.
8091
8092    It can be true at least on z/OS.
8093
8094 src/xz/signals.c | 2 +-
8095 1 file changed, 1 insertion(+), 1 deletion(-)
8096
8097commit b0a2a77d10940c42b449d47a005bfc2e50ab5db8
8098Author: Lasse Collin <lasse.collin@tukaani.org>
8099Date:   2020-02-21 15:59:26 +0200
8100
8101    xz: Avoid unneeded access of a volatile variable.
8102
8103 src/xz/signals.c | 2 +-
8104 1 file changed, 1 insertion(+), 1 deletion(-)
8105
8106commit 524c2f12c762032b819757aeda8af7c47c4cabce
8107Author: Lasse Collin <lasse.collin@tukaani.org>
8108Date:   2020-02-21 01:24:18 +0200
8109
8110    tuklib_integer.m4: Optimize the check order.
8111
8112    The __builtin byteswapping is the preferred one so check for it first.
8113
8114 m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++-------------------------
8115 1 file changed, 29 insertions(+), 27 deletions(-)
8116
8117commit 57360bb4fd79b358b36d2877db26ac828d1fdfcb
8118Author: Lasse Collin <lasse.collin@tukaani.org>
8119Date:   2020-02-20 18:54:04 +0200
8120
8121    tuklib_exit: Add missing header.
8122
8123    strerror() needs <string.h> which happened to be included via
8124    tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H
8125    was defined. This wasn't tested without config.h before so it
8126    had worked fine.
8127
8128 src/common/tuklib_exit.c | 1 +
8129 1 file changed, 1 insertion(+)
8130
8131commit fddd31175e74a538997a939d930462fde17d2dd4
8132Author: Lasse Collin <lasse.collin@tukaani.org>
8133Date:   2020-02-18 19:12:35 +0200
8134
8135    Revert the previous commit and add a comment.
8136
8137    The previous commit broke crc32_tablegen.c.
8138
8139    If the whole package is built without config.h (with defines
8140    set on the compiler command line) this should still work fine
8141    as long as these headers conform to C99 well enough.
8142
8143 src/common/tuklib_config.h | 17 ++++++++++-------
8144 1 file changed, 10 insertions(+), 7 deletions(-)
8145
8146commit 4e4e9fbb7e66d45319525ac224bff48fbdd0cf6e
8147Author: Lasse Collin <lasse.collin@tukaani.org>
8148Date:   2020-02-17 23:37:20 +0200
8149
8150    Do not check for HAVE_CONFIG_H in tuklib_config.h.
8151
8152    In XZ Utils sysdefs.h takes care of it and the required headers.
8153
8154 src/common/tuklib_config.h | 15 +++++++--------
8155 1 file changed, 7 insertions(+), 8 deletions(-)
8156
8157commit 2d4cef954feba82073951358466a1d614141cf33
8158Author: Lasse Collin <lasse.collin@tukaani.org>
8159Date:   2020-02-16 11:18:28 +0200
8160
8161    sysdefs.h: Omit the conditionals around string.h and limits.h.
8162
8163    string.h is used unconditionally elsewhere in the project and
8164    configure has always stopped if limits.h is missing, so these
8165    headers must have been always available even on the weirdest
8166    systems.
8167
8168 src/common/sysdefs.h | 8 ++------
8169 1 file changed, 2 insertions(+), 6 deletions(-)
8170
8171commit feb9c1969bc3eb33d4ecb72cfa897f92dae84939
8172Author: Lasse Collin <lasse.collin@tukaani.org>
8173Date:   2020-02-15 15:07:11 +0200
8174
8175    Build: Bump Autoconf and Libtool version requirements.
8176
8177    There is no specific reason for this other than blocking
8178    the most ancient versions. These are still old:
8179
8180    Autoconf 2.69 (2012)
8181    Automake 1.12 (2012)
8182    gettext 0.19.6 (2015)
8183    Libtool 2.4 (2010)
8184
8185 configure.ac | 4 ++--
8186 1 file changed, 2 insertions(+), 2 deletions(-)
8187
8188commit 3d576cf92158d62790017ad7f2dd6dc1dd6b42bb
8189Author: Lasse Collin <lasse.collin@tukaani.org>
8190Date:   2020-02-15 03:08:32 +0200
8191
8192    Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6.
8193
8194    This bumps the version requirement from 0.19 (from 2014) to
8195    0.19.6 (2015).
8196
8197    Using only the old AM_GNU_GETTEXT_VERSION results in old
8198    gettext infrastructure being placed in the package. By using
8199    both macros we get the latest gettext files while the other
8200    programs in the Autotools family can still see the old macro.
8201
8202 configure.ac | 6 +++++-
8203 1 file changed, 5 insertions(+), 1 deletion(-)
8204
8205commit fa792b8befaf7cb3960b655e0a9410da866d756f
8206Author: Lasse Collin <lasse.collin@tukaani.org>
8207Date:   2020-02-14 20:42:06 +0200
8208
8209    Translations: Add German translation of the man pages.
8210
8211    Thanks to Mario Blättermann.
8212
8213 po4a/de.po     | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8214 po4a/po4a.conf |    2 +-
8215 2 files changed, 5533 insertions(+), 1 deletion(-)
8216
8217commit 6f7211b6bb47a895b47f533282dba9ee9a1b0c8b
8218Author: Lasse Collin <lasse.collin@tukaani.org>
8219Date:   2020-02-07 15:32:21 +0200
8220
8221    Build: Add support for translated man pages using po4a.
8222
8223    The dependency on po4a is optional. It's never required to install
8224    the translated man pages when xz is built from a release tarball.
8225    If po4a is missing when building from xz.git, the translated man
8226    pages won't be generated but otherwise the build will work normally.
8227
8228    The translations are only updated automatically by autogen.sh and
8229    by "make mydist". This makes it easy to keep po4a as an optional
8230    dependency and ensures that I won't forget to put updated
8231    translations to a release tarball.
8232
8233    The translated man pages aren't installed if --disable-nls is used.
8234
8235    The installation of translated man pages abuses Automake internals
8236    by calling "install-man" with redefined dist_man_MANS and man_MANS.
8237    This makes the hairy script code slightly less hairy. If it breaks
8238    some day, this code needs to be fixed; don't blame Automake developers.
8239
8240    Also, this adds more quotes to the existing shell script code in
8241    the Makefile.am "-hook"s.
8242
8243 Makefile.am             |  4 ++++
8244 autogen.sh              |  8 ++++---
8245 po4a/.gitignore         |  2 ++
8246 po4a/po4a.conf          | 14 +++++++++++
8247 po4a/update-po          | 45 ++++++++++++++++++++++++++++++++++
8248 src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------
8249 src/xz/Makefile.am      | 50 +++++++++++++++++++++++++++-----------
8250 src/xzdec/Makefile.am   | 55 ++++++++++++++++++++++++++++++++----------
8251 8 files changed, 197 insertions(+), 45 deletions(-)
8252
8253commit 426f9e5819ff7710a5ff573a96c02940be65d52f
8254Author: Lasse Collin <lasse.collin@tukaani.org>
8255Date:   2020-02-06 17:31:38 +0200
8256
8257    Update THANKS.
8258
8259 THANKS | 1 +
8260 1 file changed, 1 insertion(+)
8261
8262commit e3a4481d020e4de89efa037f335cf50f3ca55592
8263Author: Lasse Collin <lasse.collin@tukaani.org>
8264Date:   2020-02-05 22:35:06 +0200
8265
8266    Update tests/.gitignore.
8267
8268 .gitignore | 4 ++++
8269 1 file changed, 4 insertions(+)
8270
8271commit 07208de92f2d5bca764f6d0ebe9d9866051dc4ef
8272Author: Lasse Collin <lasse.collin@tukaani.org>
8273Date:   2020-02-05 22:28:51 +0200
8274
8275    Update m4/.gitignore.
8276
8277 m4/.gitignore | 1 +
8278 1 file changed, 1 insertion(+)
8279
8280commit c91fbf223db46c3b3cb9df769863a1a60cd9c908
8281Author: Lasse Collin <lasse.collin@tukaani.org>
8282Date:   2020-02-05 20:47:38 +0200
8283
8284    Update THANKS.
8285
8286 THANKS | 1 +
8287 1 file changed, 1 insertion(+)
8288
8289commit 15a133b6d1a3eab4faf6eb52a71fdc56bd65846f
8290Author: Lasse Collin <lasse.collin@tukaani.org>
8291Date:   2020-02-05 20:40:14 +0200
8292
8293    xz: Make it a fatal error if enabling the sandbox fails.
8294
8295    Perhaps it's too drastic but on the other hand it will let me
8296    learn about possible problems if people report the errors.
8297    This won't be backported to the v5.2 branch.
8298
8299 src/xz/file_io.c | 2 +-
8300 1 file changed, 1 insertion(+), 1 deletion(-)
8301
8302commit af0fb386ef55db66654ae39e2deec6e04190c4ff
8303Author: Lasse Collin <lasse.collin@tukaani.org>
8304Date:   2020-02-05 20:33:50 +0200
8305
8306    xz: Comment out annoying sandboxing messages.
8307
8308 src/xz/file_io.c | 10 +++++++---
8309 1 file changed, 7 insertions(+), 3 deletions(-)
8310
8311commit 986d8c9b52b824474088e5bb3b6940651660f0e2
8312Author: Lasse Collin <lasse.collin@tukaani.org>
8313Date:   2020-02-05 19:33:37 +0200
8314
8315    Build: Workaround a POSIX shell detection problem on Solaris.
8316
8317    I don't know if the problem is in gnulib's gl_POSIX_SHELL macro
8318    or if xzgrep does something that isn't in POSIX. The workaround
8319    adds a special case for Solaris: if /usr/xpg4/bin/sh exists and
8320    gl_cv_posix_shell wasn't overriden on the configure command line,
8321    use that shell for xzgrep and other scripts. That shell is known
8322    to work and exists on most Solaris systems.
8323
8324 configure.ac | 10 ++++++++++
8325 1 file changed, 10 insertions(+)
8326
8327commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad
8328Author: Lasse Collin <lasse.collin@tukaani.org>
8329Date:   2020-02-03 22:03:50 +0200
8330
8331    Build: Update m4/ax_pthread.m4 from Autoconf Archive.
8332
8333 m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++-----------------
8334 1 file changed, 279 insertions(+), 119 deletions(-)
8335
8336commit 353970510895f6a80adfe60cf71b70a95adfa8bc
8337Author: Lasse Collin <lasse.collin@tukaani.org>
8338Date:   2020-02-01 19:56:18 +0200
8339
8340    xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz.
8341
8342    See the code comment for reasoning. It's far from perfect but
8343    hopefully good enough for certain cases while hopefully doing
8344    nothing bad in other situations.
8345
8346    At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference
8347    on how xz scales down the number of threads.
8348
8349    The limit has to be a few MiB below 4096 MiB because otherwise
8350    things like "xz --lzma2=dict=500MiB" won't scale down the dict
8351    size enough and xz cannot allocate enough memory. With
8352    "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had
8353    to be no more than 4085 MiB. Some safety margin is good though.
8354
8355    This is hack but it should be useful when running 32-bit xz on
8356    a 64-bit kernel that gives full 4 GiB address space to xz.
8357    Hopefully this is enough to solve this:
8358
8359    https://bugzilla.redhat.com/show_bug.cgi?id=1196786
8360
8361    FreeBSD has a patch that limits the result in tuklib_physmem()
8362    to SIZE_MAX on 32-bit systems. While I think it's not the way
8363    to do it, the results on --memlimit-compress have been good. This
8364    commit should achieve practically identical results for compression
8365    while leaving decompression and tuklib_physmem() and thus
8366    lzma_physmem() unaffected.
8367
8368 src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++-
8369 src/xz/xz.1       | 21 ++++++++++++++++++++-
8370 2 files changed, 51 insertions(+), 2 deletions(-)
8371
8372commit ba76d67585f88677af9f48b48e7bdc3bb7687def
8373Author: Lasse Collin <lasse.collin@tukaani.org>
8374Date:   2020-01-26 20:53:25 +0200
8375
8376    xz: Set the --flush-timeout deadline when the first input byte arrives.
8377
8378    xz --flush-timeout=2000, old version:
8379
8380      1. xz is started. The next flush will happen after two seconds.
8381      2. No input for one second.
8382      3. A burst of a few kilobytes of input.
8383      4. No input for one second.
8384      5. Two seconds have passed and flushing starts.
8385
8386    The first second counted towards the flush-timeout even though
8387    there was no pending data. This can cause flushing to occur more
8388    often than needed.
8389
8390    xz --flush-timeout=2000, after this commit:
8391
8392      1. xz is started.
8393      2. No input for one second.
8394      3. A burst of a few kilobytes of input. The next flush will
8395         happen after two seconds counted from the time when the
8396         first bytes of the burst were read.
8397      4. No input for one second.
8398      5. No input for another second.
8399      6. Two seconds have passed and flushing starts.
8400
8401 src/xz/coder.c   | 6 +-----
8402 src/xz/file_io.c | 6 +++++-
8403 src/xz/mytime.c  | 1 -
8404 3 files changed, 6 insertions(+), 7 deletions(-)
8405
8406commit fd47fd62bbb1bfd13ab63869137971d8b390025f
8407Author: Lasse Collin <lasse.collin@tukaani.org>
8408Date:   2020-01-26 20:19:19 +0200
8409
8410    xz: Move flush_needed from mytime.h to file_pair struct in file_io.h.
8411
8412 src/xz/coder.c   | 3 ++-
8413 src/xz/file_io.c | 3 ++-
8414 src/xz/file_io.h | 3 +++
8415 src/xz/mytime.c  | 3 ---
8416 src/xz/mytime.h  | 4 ----
8417 5 files changed, 7 insertions(+), 9 deletions(-)
8418
8419commit 815035681063d5774d3640fc20b8ede783dd574e
8420Author: Lasse Collin <lasse.collin@tukaani.org>
8421Date:   2020-01-26 14:49:22 +0200
8422
8423    xz: coder.c: Make writing output a separate function.
8424
8425    The same code sequence repeats so it's nicer as a separate function.
8426    Note that in one case there was no test for opt_mode != MODE_TEST,
8427    but that was only because that condition would always be true, so
8428    this commit doesn't change the behavior there.
8429
8430 src/xz/coder.c | 30 +++++++++++++++++-------------
8431 1 file changed, 17 insertions(+), 13 deletions(-)
8432
8433commit 5a49e081a098455bcdbd95cefb90e9b18780fe58
8434Author: Lasse Collin <lasse.collin@tukaani.org>
8435Date:   2020-01-26 14:13:42 +0200
8436
8437    xz: Fix semi-busy-waiting in xz --flush-timeout.
8438
8439    When input blocked, xz --flush-timeout=1 would wake up every
8440    millisecond and initiate flushing which would have nothing to
8441    flush and thus would just waste CPU time. The fix disables the
8442    timeout when no input has been seen since the previous flush.
8443
8444 src/xz/coder.c   |  4 ++++
8445 src/xz/file_io.c | 15 +++++++++++----
8446 src/xz/file_io.h |  4 ++++
8447 3 files changed, 19 insertions(+), 4 deletions(-)
8448
8449commit dcca70fe9fa3c4bec56cf9c79e966166c9a9cf6a
8450Author: Lasse Collin <lasse.collin@tukaani.org>
8451Date:   2020-01-26 13:47:31 +0200
8452
8453    xz: Refactor io_read() a bit.
8454
8455 src/xz/file_io.c | 17 ++++++++---------
8456 1 file changed, 8 insertions(+), 9 deletions(-)
8457
8458commit 4ae9ab70cd3214395756435d13d8d000368ca2cb
8459Author: Lasse Collin <lasse.collin@tukaani.org>
8460Date:   2020-01-26 13:37:08 +0200
8461
8462    xz: Update a comment in file_io.h.
8463
8464 src/xz/file_io.h | 5 ++++-
8465 1 file changed, 4 insertions(+), 1 deletion(-)
8466
8467commit 3333ba4a6795a55cf0375329ba08152bd7fcbd46
8468Author: Lasse Collin <lasse.collin@tukaani.org>
8469Date:   2020-01-26 13:27:51 +0200
8470
8471    xz: Move the setting of flush_needed in file_io.c to a nicer location.
8472
8473 src/xz/file_io.c | 6 ++----
8474 1 file changed, 2 insertions(+), 4 deletions(-)
8475
8476commit cf2df0f05ac98c1158c6e48145900b773223605d
8477Author: Lasse Collin <lasse.collin@tukaani.org>
8478Date:   2020-01-19 21:54:33 +0200
8479
8480    Use $(LIB_FUZZING_ENGINE) in tests/ossfuzz/Makefile.
8481
8482    https://github.com/google/oss-fuzz/pull/3219#issuecomment-573751048
8483
8484    Thanks to Bhargava Shastry for sending the patch.
8485
8486 tests/ossfuzz/Makefile | 2 +-
8487 1 file changed, 1 insertion(+), 1 deletion(-)
8488
8489commit 7136f1735c60ac6967c4b8e277fcde53d485234f
8490Author: Lasse Collin <lasse.collin@tukaani.org>
8491Date:   2019-12-31 00:41:28 +0200
8492
8493    Rename unaligned_read32ne to read32ne, and similarly for the others.
8494
8495 src/common/tuklib_integer.h               | 64 +++++++++++++++----------------
8496 src/liblzma/common/alone_encoder.c        |  2 +-
8497 src/liblzma/common/block_header_decoder.c |  2 +-
8498 src/liblzma/common/block_header_encoder.c |  2 +-
8499 src/liblzma/common/memcmplen.h            |  9 ++---
8500 src/liblzma/common/stream_flags_decoder.c |  6 +--
8501 src/liblzma/common/stream_flags_encoder.c |  8 ++--
8502 src/liblzma/lz/lz_encoder_hash.h          |  2 +-
8503 src/liblzma/lzma/lzma_decoder.c           |  2 +-
8504 src/liblzma/lzma/lzma_encoder.c           |  2 +-
8505 src/liblzma/lzma/lzma_encoder_private.h   |  3 +-
8506 src/liblzma/simple/simple_decoder.c       |  2 +-
8507 src/liblzma/simple/simple_encoder.c       |  2 +-
8508 tests/test_block_header.c                 |  4 +-
8509 tests/test_stream_flags.c                 |  6 +--
8510 15 files changed, 54 insertions(+), 62 deletions(-)
8511
8512commit 5e78fcbf2eb21936022c9c5c3625d4da76f4b241
8513Author: Lasse Collin <lasse.collin@tukaani.org>
8514Date:   2019-12-31 00:29:48 +0200
8515
8516    Rename read32ne to aligned_read32ne, and similarly for the others.
8517
8518    Using the aligned methods requires more care to ensure that
8519    the address really is aligned, so it's nicer if the aligned
8520    methods are prefixed. The next commit will remove the unaligned_
8521    prefix from the unaligned methods which in liblzma are used in
8522    more places than the aligned ones.
8523
8524 src/common/tuklib_integer.h    | 56 +++++++++++++++++++++---------------------
8525 src/liblzma/check/crc32_fast.c |  4 +--
8526 src/liblzma/check/crc64_fast.c |  4 +--
8527 3 files changed, 32 insertions(+), 32 deletions(-)
8528
8529commit 77bc5bc6dd67056cfd5888520ac930cfc57b4516
8530Author: Lasse Collin <lasse.collin@tukaani.org>
8531Date:   2019-12-31 00:18:24 +0200
8532
8533    Revise tuklib_integer.h and .m4.
8534
8535    Add a configure option --enable-unsafe-type-punning to get the
8536    old non-conforming memory access methods. It can be useful with
8537    old compilers or in some other less typical situations but
8538    shouldn't normally be used.
8539
8540    Omit the packed struct trick for unaligned access. While it's
8541    best in some cases, this is simpler. If the memcpy trick doesn't
8542    work, one can request unsafe type punning from configure.
8543
8544    Because CRC32/CRC64 code needs fast aligned reads, if no very
8545    safe way to do it is found, type punning is used as a fallback.
8546    This sucks but since it currently works in practice, it seems to
8547    be the least bad option. It's never needed with GCC >= 4.7 or
8548    Clang >= 3.6 since these support __builtin_assume_aligned and
8549    thus fast aligned access can be done with the memcpy trick.
8550
8551    Other things:
8552      - Support GCC/Clang __builtin_bswapXX
8553      - Cleaner bswap fallback macros
8554      - Minor cleanups
8555
8556 m4/tuklib_integer.m4        |  46 ++++-
8557 src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++--------------------
8558 2 files changed, 316 insertions(+), 218 deletions(-)
8559
8560commit 8b72950a6b2e2a36c2d8fdc8857564b57191b088
8561Author: Lasse Collin <lasse.collin@tukaani.org>
8562Date:   2019-12-29 22:51:58 +0200
8563
8564    Tests: Hopefully fix test_check.c to work on EBCDIC systems.
8565
8566    Thanks to Daniel Richard G.
8567
8568 tests/test_check.c | 9 +++++++--
8569 1 file changed, 7 insertions(+), 2 deletions(-)
8570
8571commit 43ce4ea7c762238d3df9717b34126d3e0d7cd51c
8572Author: Lasse Collin <lasse.collin@tukaani.org>
8573Date:   2019-09-24 23:02:40 +0300
8574
8575    Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris.
8576
8577    This adds a configure option --enable-path-for-scripts=PREFIX
8578    which defaults to empty except on Solaris it is /usr/xpg4/bin
8579    to make POSIX grep and others available. The Solaris case had
8580    been documented in INSTALL with a manual fix but it's better
8581    to do this automatically since it is needed on most Solaris
8582    systems anyway.
8583
8584    Thanks to Daniel Richard G.
8585
8586 INSTALL               | 43 +++++++++++++++++++++++++++++++++++--------
8587 configure.ac          | 26 ++++++++++++++++++++++++++
8588 src/scripts/xzdiff.in |  1 +
8589 src/scripts/xzgrep.in |  1 +
8590 src/scripts/xzless.in |  1 +
8591 src/scripts/xzmore.in |  1 +
8592 6 files changed, 65 insertions(+), 8 deletions(-)
8593
8594commit 6a89e656ebedd53a10cd1a063a32a9e4ade0da1f
8595Author: Lasse Collin <lasse.collin@tukaani.org>
8596Date:   2019-07-12 18:57:43 +0300
8597
8598    Fix comment typos in tuklib_mbstr* files.
8599
8600 src/common/tuklib_mbstr.h       | 2 +-
8601 src/common/tuklib_mbstr_fw.c    | 2 +-
8602 src/common/tuklib_mbstr_width.c | 2 +-
8603 3 files changed, 3 insertions(+), 3 deletions(-)
8604
8605commit ac0b4212656a48ef0c187c0c941d40ac9489ae36
8606Author: Lasse Collin <lasse.collin@tukaani.org>
8607Date:   2019-07-12 18:30:46 +0300
8608
8609    Add missing include to tuklib_mbstr_width.c.
8610
8611    It didn't matter in XZ Utils because sysdefs.h
8612    includes string.h anyway.
8613
8614 src/common/tuklib_mbstr_width.c | 1 +
8615 1 file changed, 1 insertion(+)
8616
8617commit 72a443281fb0b91aebf8cdff2ab1f7c07b081240
8618Author: Lasse Collin <lasse.collin@tukaani.org>
8619Date:   2019-07-12 18:10:57 +0300
8620
8621    Update tuklib base headers to include stdbool.h.
8622
8623 src/common/tuklib_common.h | 2 +-
8624 src/common/tuklib_config.h | 1 +
8625 2 files changed, 2 insertions(+), 1 deletion(-)
8626
8627commit de1f47b2b40e960b7bc3acba754f66dd19705921
8628Author: Lasse Collin <lasse.collin@tukaani.org>
8629Date:   2019-06-28 00:54:31 +0300
8630
8631    xz: Automatically align the strings in --info-memory.
8632
8633    This makes it easier to translate the strings.
8634
8635    Also, the string for amount of RAM was shortened.
8636
8637 src/xz/hardware.c | 45 ++++++++++++++++++++++++++++++++++-----------
8638 1 file changed, 34 insertions(+), 11 deletions(-)
8639
8640commit 8ce679125dbd0e2058d8f886e738d7f19a45cab5
8641Author: Lasse Collin <lasse.collin@tukaani.org>
8642Date:   2019-06-25 23:15:21 +0300
8643
8644    liblzma: Fix a buggy comment.
8645
8646 src/liblzma/lz/lz_encoder_mf.c | 2 +-
8647 1 file changed, 1 insertion(+), 1 deletion(-)
8648
8649commit fc77929e92e869f6869bf88931066103fd75f376
8650Author: Lasse Collin <lasse.collin@tukaani.org>
8651Date:   2019-06-25 00:16:06 +0300
8652
8653    configure.ac: Fix a typo in a comment.
8654
8655 configure.ac | 2 +-
8656 1 file changed, 1 insertion(+), 1 deletion(-)
8657
8658commit e873902641794210ad7db59743f98e3e1cd6139f
8659Author: Lasse Collin <lasse.collin@tukaani.org>
8660Date:   2019-06-25 00:08:13 +0300
8661
8662    Tests: Silence warnings from clang -Wassign-enum.
8663
8664    Also changed 999 to 99 so it fits even if lzma_check happened
8665    to be 8 bits wide.
8666
8667 tests/test_block_header.c | 3 ++-
8668 tests/test_stream_flags.c | 2 +-
8669 2 files changed, 3 insertions(+), 2 deletions(-)
8670
8671commit d499e467d99efeaae688564eedc4548837c1416a
8672Author: Lasse Collin <lasse.collin@tukaani.org>
8673Date:   2019-06-24 23:52:17 +0300
8674
8675    liblzma: Add a comment.
8676
8677 src/liblzma/common/stream_encoder_mt.c | 2 +-
8678 1 file changed, 1 insertion(+), 1 deletion(-)
8679
8680commit a12b13c5f0d54c684fa8446f93fdac08ab2a716b
8681Author: Lasse Collin <lasse.collin@tukaani.org>
8682Date:   2019-06-24 23:45:21 +0300
8683
8684    liblzma: Silence clang -Wmissing-variable-declarations.
8685
8686 src/liblzma/check/crc32_table.c | 3 +++
8687 src/liblzma/check/crc64_table.c | 3 +++
8688 2 files changed, 6 insertions(+)
8689
8690commit 1b4675cebf7471f7cc9b7072c950e3de97147063
8691Author: Lasse Collin <lasse.collin@tukaani.org>
8692Date:   2019-06-24 23:25:41 +0300
8693
8694    Add LZMA_RET_INTERNAL1..8 to lzma_ret and use one for LZMA_TIMED_OUT.
8695
8696    LZMA_TIMED_OUT is *internally* used as a value for lzma_ret
8697    enumeration. Previously it was #defined to 32 and cast to lzma_ret.
8698    That way it wasn't visible in the public API, but this was hackish.
8699
8700    Now the public API has eight LZMA_RET_INTERNALx members and
8701    LZMA_TIMED_OUT is #defined to LZMA_RET_INTERNAL1. This way
8702    the code is cleaner overall although the public API has a few
8703    extra mysterious enum members.
8704
8705 src/liblzma/api/lzma/base.h | 15 ++++++++++++++-
8706 src/liblzma/common/common.c |  4 +---
8707 src/liblzma/common/common.h |  5 ++---
8708 src/xz/message.c            |  8 ++++++++
8709 4 files changed, 25 insertions(+), 7 deletions(-)
8710
8711commit 159c43875eb25deea626ed651274464bae3e32ef
8712Author: Lasse Collin <lasse.collin@tukaani.org>
8713Date:   2019-06-24 22:57:43 +0300
8714
8715    xz: Silence a warning from clang -Wsign-conversion in main.c.
8716
8717 src/xz/main.c | 2 +-
8718 1 file changed, 1 insertion(+), 1 deletion(-)
8719
8720commit 466cfcd3e52f6750ce28a635997f3dd84fb18515
8721Author: Lasse Collin <lasse.collin@tukaani.org>
8722Date:   2019-06-24 22:52:20 +0300
8723
8724    xz: Make "headings" static in list.c.
8725
8726    Caught by clang -Wmissing-variable-declarations.
8727
8728 src/xz/list.c | 2 +-
8729 1 file changed, 1 insertion(+), 1 deletion(-)
8730
8731commit 608517b9b76c41fac6613dbda1193d6f41338e19
8732Author: Lasse Collin <lasse.collin@tukaani.org>
8733Date:   2019-06-24 22:47:39 +0300
8734
8735    liblzma: Remove incorrect uses of lzma_attribute((__unused__)).
8736
8737    Caught by clang -Wused-but-marked-unused.
8738
8739 src/liblzma/common/alone_decoder.c | 3 +--
8740 src/liblzma/common/alone_encoder.c | 3 +--
8741 src/liblzma/lz/lz_decoder.c        | 3 +--
8742 3 files changed, 3 insertions(+), 6 deletions(-)
8743
8744commit c2d2ab6a9d41a2b55d047c5b710aacf80d219255
8745Author: Lasse Collin <lasse.collin@tukaani.org>
8746Date:   2019-06-24 20:53:55 +0300
8747
8748    Tests: Silence a warning from -Wsign-conversion.
8749
8750 tests/create_compress_files.c | 8 ++++----
8751 1 file changed, 4 insertions(+), 4 deletions(-)
8752
8753commit 2402f7873dcae719d0ebddd23bb579074519ac52
8754Author: Lasse Collin <lasse.collin@tukaani.org>
8755Date:   2019-06-24 20:45:49 +0300
8756
8757    xz: Fix an integer overflow with 32-bit off_t.
8758
8759    Or any off_t which isn't very big (like signed 64 bit integer
8760    that most system have). A small off_t could overflow if the
8761    file being decompressed had long enough run of zero bytes,
8762    which would result in corrupt output.
8763
8764 src/xz/file_io.c | 11 +++++++++--
8765 1 file changed, 9 insertions(+), 2 deletions(-)
8766
8767commit 4fd3a8dd0b60f029e1c66a0ee634f9e9fda3caa9
8768Author: Lasse Collin <lasse.collin@tukaani.org>
8769Date:   2019-06-24 01:24:17 +0300
8770
8771    xz: Cleanup io_seek_src() a bit.
8772
8773    lseek() returns -1 on error and checking for -1 is nicer.
8774
8775 src/xz/file_io.c | 4 +---
8776 1 file changed, 1 insertion(+), 3 deletions(-)
8777
8778commit dfda7cf6afa486e10df035327d68753896dfb48a
8779Author: Lasse Collin <lasse.collin@tukaani.org>
8780Date:   2019-06-24 00:57:23 +0300
8781
8782    Tests: Remove a duplicate branch from tests/tests.h.
8783
8784    The duplication was introduced about eleven years ago and
8785    should have been cleaned up back then already.
8786
8787    This was caught by -Wduplicated-branches.
8788
8789 tests/tests.h | 9 ++-------
8790 1 file changed, 2 insertions(+), 7 deletions(-)
8791
8792commit 1d4a904d8fb634bd5a04f7fbdd17d3739f3d8866
8793Author: Lasse Collin <lasse.collin@tukaani.org>
8794Date:   2019-06-24 00:40:45 +0300
8795
8796    xz: Change io_seek_src and io_pread arguments from off_t to uint64_t.
8797
8798    This helps fixing warnings from -Wsign-conversion and makes the
8799    code look better too.
8800
8801 src/xz/file_io.c | 16 ++++++++++++----
8802 src/xz/file_io.h |  4 ++--
8803 src/xz/list.c    |  9 ++++-----
8804 3 files changed, 18 insertions(+), 11 deletions(-)
8805
8806commit 50120deb0159fcb53ee1a6caffb2bb81a1ecd990
8807Author: Lasse Collin <lasse.collin@tukaani.org>
8808Date:   2019-06-24 00:12:38 +0300
8809
8810    xz: list.c: Fix some warnings from -Wsign-conversion.
8811
8812 src/xz/list.c | 7 ++++---
8813 1 file changed, 4 insertions(+), 3 deletions(-)
8814
8815commit d0a78751eb54fb1572002746c533936a118e4e42
8816Author: Lasse Collin <lasse.collin@tukaani.org>
8817Date:   2019-06-23 23:22:45 +0300
8818
8819    tuklib_mbstr_width: Fix a warning from -Wsign-conversion.
8820
8821 src/common/tuklib_mbstr_width.c | 2 +-
8822 1 file changed, 1 insertion(+), 1 deletion(-)
8823
8824commit 7883d73530b4b2a701ddd7d50c35676cbc158039
8825Author: Lasse Collin <lasse.collin@tukaani.org>
8826Date:   2019-06-23 23:19:34 +0300
8827
8828    xz: Fix some of the warnings from -Wsign-conversion.
8829
8830 src/xz/args.c    | 4 ++--
8831 src/xz/coder.c   | 4 ++--
8832 src/xz/file_io.c | 5 +++--
8833 src/xz/message.c | 4 ++--
8834 src/xz/mytime.c  | 4 ++--
8835 src/xz/options.c | 2 +-
8836 src/xz/util.c    | 4 ++--
8837 7 files changed, 14 insertions(+), 13 deletions(-)
8838
8839commit c2b994fe3d35e9e575c28869a2f7f534f2495d05
8840Author: Lasse Collin <lasse.collin@tukaani.org>
8841Date:   2019-06-23 22:27:45 +0300
8842
8843    tuklib_cpucores: Silence warnings from -Wsign-conversion.
8844
8845 src/common/tuklib_cpucores.c | 10 +++++-----
8846 1 file changed, 5 insertions(+), 5 deletions(-)
8847
8848commit 07c4fa9e1a195e0543f271380c8de22a3ab145ff
8849Author: Lasse Collin <lasse.collin@tukaani.org>
8850Date:   2019-06-23 21:40:47 +0300
8851
8852    xzdec: Fix warnings from -Wsign-conversion.
8853
8854 src/xzdec/xzdec.c | 2 +-
8855 1 file changed, 1 insertion(+), 1 deletion(-)
8856
8857commit dfac2c9a1d7d4a2b8a5d7c9c6d567dee48318bcf
8858Author: Lasse Collin <lasse.collin@tukaani.org>
8859Date:   2019-06-23 21:38:56 +0300
8860
8861    liblzma: Fix warnings from -Wsign-conversion.
8862
8863    Also, more parentheses were added to the literal_subcoder
8864    macro in lzma_comon.h (better style but no functional change
8865    in the current usage).
8866
8867 src/liblzma/common/block_header_decoder.c |  2 +-
8868 src/liblzma/delta/delta_decoder.c         |  2 +-
8869 src/liblzma/lzma/fastpos.h                |  2 +-
8870 src/liblzma/lzma/lzma2_decoder.c          |  8 ++++----
8871 src/liblzma/lzma/lzma_common.h            |  3 ++-
8872 src/liblzma/lzma/lzma_decoder.c           | 16 ++++++++--------
8873 src/liblzma/simple/arm.c                  |  6 +++---
8874 src/liblzma/simple/armthumb.c             |  8 ++++----
8875 src/liblzma/simple/ia64.c                 |  2 +-
8876 src/liblzma/simple/powerpc.c              |  9 +++++----
8877 src/liblzma/simple/x86.c                  |  2 +-
8878 11 files changed, 31 insertions(+), 29 deletions(-)
8879
8880commit 41838dcc26375f6aa393a63e4d81e2f4d223de07
8881Author: Lasse Collin <lasse.collin@tukaani.org>
8882Date:   2019-06-23 19:33:55 +0300
8883
8884    tuklib_integer: Silence warnings from -Wsign-conversion.
8885
8886 src/common/tuklib_integer.h | 6 +++---
8887 1 file changed, 3 insertions(+), 3 deletions(-)
8888
8889commit 3ce05d235f736d392347a05086b8033416874b87
8890Author: Lasse Collin <lasse.collin@tukaani.org>
8891Date:   2019-06-20 19:40:30 +0300
8892
8893    tuklib_integer: Fix usage of conv macros.
8894
8895    Use a temporary variable instead of e.g.
8896    conv32le(unaligned_read32ne(buf)) because the macro can
8897    evaluate its argument multiple times.
8898
8899 src/common/tuklib_integer.h | 12 ++++++++----
8900 1 file changed, 8 insertions(+), 4 deletions(-)
8901
8902commit b525b0c0ef40cd89b69294c9b8d57f4a8db58e1f
8903Author: Lasse Collin <lasse.collin@tukaani.org>
8904Date:   2019-06-03 20:44:19 +0300
8905
8906    Update THANKS.
8907
8908 THANKS | 1 +
8909 1 file changed, 1 insertion(+)
8910
8911commit 039a168e8cf201d5104a25ec41f0cf25eda6cc53
8912Author: Lasse Collin <lasse.collin@tukaani.org>
8913Date:   2019-06-03 20:41:54 +0300
8914
8915    liblzma: Fix comments.
8916
8917    Thanks to Bruce Stark.
8918
8919 src/liblzma/common/alone_encoder.c        | 4 ++--
8920 src/liblzma/common/block_util.c           | 2 +-
8921 src/liblzma/common/common.c               | 2 +-
8922 src/liblzma/common/filter_common.h        | 2 +-
8923 src/liblzma/common/filter_decoder.h       | 2 +-
8924 src/liblzma/common/filter_flags_encoder.c | 2 +-
8925 6 files changed, 7 insertions(+), 7 deletions(-)
8926
8927commit c460f6defebc5a81bbca90adc2476154ca244f69
8928Author: Lasse Collin <lasse.collin@tukaani.org>
8929Date:   2019-06-02 00:50:59 +0300
8930
8931    liblzma: Fix one more unaligned read to use unaligned_read16ne().
8932
8933 src/liblzma/lz/lz_encoder_hash.h | 2 +-
8934 1 file changed, 1 insertion(+), 1 deletion(-)
8935
8936commit c81d77c537f0b8c8672868e1dc6cf7290ce4a25b
8937Author: Lasse Collin <lasse.collin@tukaani.org>
8938Date:   2019-06-01 21:41:55 +0300
8939
8940    Update THANKS.
8941
8942 THANKS | 1 +
8943 1 file changed, 1 insertion(+)
8944
8945commit 386394fc9fcde2615391f804eaa466749f96f4ef
8946Author: Lasse Collin <lasse.collin@tukaani.org>
8947Date:   2019-06-01 21:36:13 +0300
8948
8949    liblzma: memcmplen: Use ctz32() from tuklib_integer.h.
8950
8951    The same compiler-specific #ifdefs are already in tuklib_integer.h
8952
8953 src/liblzma/common/memcmplen.h | 10 +---------
8954 1 file changed, 1 insertion(+), 9 deletions(-)
8955
8956commit 264ab971ce2994baac41b1579c9c35aba7743fc8
8957Author: Lasse Collin <lasse.collin@tukaani.org>
8958Date:   2019-06-01 21:30:03 +0300
8959
8960    tuklib_integer: Cleanup MSVC-specific code.
8961
8962 src/common/tuklib_integer.h | 20 +++++++++-----------
8963 1 file changed, 9 insertions(+), 11 deletions(-)
8964
8965commit 33773c6f2a8711d4aa6656795db52c59a28580ec
8966Author: Lasse Collin <lasse.collin@tukaani.org>
8967Date:   2019-06-01 19:01:21 +0300
8968
8969    liblzma: Use unaligned_readXXne functions instead of type punning.
8970
8971    Now gcc -fsanitize=undefined should be clean.
8972
8973    Thanks to Jeffrey Walton.
8974
8975 src/liblzma/common/memcmplen.h          | 12 ++++++------
8976 src/liblzma/lzma/lzma_encoder_private.h |  2 +-
8977 2 files changed, 7 insertions(+), 7 deletions(-)
8978
8979commit e5f13a66567b1987e0aae42c6fdcd277bb5810ba
8980Author: Lasse Collin <lasse.collin@tukaani.org>
8981Date:   2019-06-01 18:46:54 +0300
8982
8983    tuklib_integer: Autodetect support for unaligned access on ARM.
8984
8985    The result is used as the default for --enable-unaligned-access.
8986    The test should work with GCC and Clang.
8987
8988 m4/tuklib_integer.m4 | 11 +++++++++++
8989 1 file changed, 11 insertions(+)
8990
8991commit 3bc112c2d38d5f348bce7bc2422286b1692c7490
8992Author: Lasse Collin <lasse.collin@tukaani.org>
8993Date:   2019-06-01 18:41:16 +0300
8994
8995    tuklib_integer: Improve unaligned memory access.
8996
8997    Now memcpy() or GNU C packed structs for unaligned access instead
8998    of type punning. See the comment in this commit for details.
8999
9000    Avoiding type punning with unaligned access is needed to
9001    silence gcc -fsanitize=undefined.
9002
9003    New functions: unaliged_readXXne and unaligned_writeXXne where
9004    XX is 16, 32, or 64.
9005
9006 src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++---
9007 1 file changed, 168 insertions(+), 12 deletions(-)
9008
9009commit 2a22de439ec63da1927b640eda309296a1e8dce5
9010Author: Lasse Collin <lasse.collin@tukaani.org>
9011Date:   2019-05-13 20:05:17 +0300
9012
9013    liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior.
9014
9015    I should have always known this but I didn't. Here is an example
9016    as a reminder to myself:
9017
9018        int mycopy(void *dest, void *src, size_t n)
9019        {
9020            memcpy(dest, src, n);
9021            return dest == NULL;
9022        }
9023
9024    In the example, a compiler may assume that dest != NULL because
9025    passing NULL to memcpy() would be undefined behavior. Testing
9026    with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1.
9027    With -O2 the return value is 0 because the compiler infers that
9028    dest cannot be NULL because it was already used with memcpy()
9029    and thus the test for NULL gets optimized out.
9030
9031    In liblzma, if a null-pointer was passed to memcpy(), there were
9032    no checks for NULL *after* the memcpy() call, so I cautiously
9033    suspect that it shouldn't have caused bad behavior in practice,
9034    but it's hard to be sure, and the problematic cases had to be
9035    fixed anyway.
9036
9037    Thanks to Jeffrey Walton.
9038
9039 src/liblzma/common/common.c       |  6 +++++-
9040 src/liblzma/lz/lz_decoder.c       | 12 +++++++++---
9041 src/liblzma/simple/simple_coder.c | 10 +++++++++-
9042 3 files changed, 23 insertions(+), 5 deletions(-)
9043
9044commit d3fc850cfedc058247d9e334ce59bbc8f2286d8a
9045Author: Lasse Collin <lasse.collin@tukaani.org>
9046Date:   2019-05-11 20:56:08 +0300
9047
9048    Update THANKS.
9049
9050 THANKS | 1 +
9051 1 file changed, 1 insertion(+)
9052
9053commit 4adb8288ab61d5f14e212007b8742df0710baf73
9054Author: Lasse Collin <lasse.collin@tukaani.org>
9055Date:   2019-05-11 20:54:12 +0300
9056
9057    xz: Update xz man page date.
9058
9059 src/xz/xz.1 | 2 +-
9060 1 file changed, 1 insertion(+), 1 deletion(-)
9061
9062commit 2fb0ddaa557ce86e38fe06439930fa8665f092fd
9063Author: Antoine Cœur <antoine.coeur@ef.com>
9064Date:   2019-05-08 13:30:57 +0800
9065
9066    spelling
9067
9068 Doxyfile.in                            | 2 +-
9069 NEWS                                   | 2 +-
9070 doc/examples/11_file_info.c            | 2 +-
9071 src/liblzma/api/lzma/block.h           | 2 +-
9072 src/liblzma/api/lzma/hardware.h        | 2 +-
9073 src/liblzma/api/lzma/lzma12.h          | 2 +-
9074 src/liblzma/api/lzma/vli.h             | 2 +-
9075 src/liblzma/common/file_info.c         | 4 ++--
9076 src/liblzma/common/hardware_physmem.c  | 2 +-
9077 src/liblzma/common/index.c             | 4 ++--
9078 src/liblzma/common/stream_encoder_mt.c | 2 +-
9079 src/liblzma/common/vli_decoder.c       | 2 +-
9080 src/liblzma/lz/lz_decoder.c            | 2 +-
9081 src/scripts/xzgrep.in                  | 2 +-
9082 src/xz/args.c                          | 2 +-
9083 src/xz/coder.c                         | 4 ++--
9084 src/xz/list.c                          | 4 ++--
9085 src/xz/main.c                          | 2 +-
9086 src/xz/mytime.h                        | 2 +-
9087 src/xz/private.h                       | 2 +-
9088 src/xz/xz.1                            | 2 +-
9089 windows/build.bash                     | 2 +-
9090 22 files changed, 26 insertions(+), 26 deletions(-)
9091
9092commit 4ed339606156bd313ed99237485cb8ed0362d64f
9093Author: Lasse Collin <lasse.collin@tukaani.org>
9094Date:   2019-05-01 18:43:10 +0300
9095
9096    xz: In xz -lvv look at the widths of the check names too.
9097
9098    Now the widths of the check names is used to adjust the width
9099    of the Check column. This way there no longer is a need to restrict
9100    the widths of the check names to be at most ten terminal-columns.
9101
9102 src/xz/list.c | 32 ++++++++++++++++++++++++++------
9103 1 file changed, 26 insertions(+), 6 deletions(-)
9104
9105commit 2f4281a1001dcf7fdf1418c0c0d246c16561fb65
9106Author: Lasse Collin <lasse.collin@tukaani.org>
9107Date:   2019-05-01 18:33:25 +0300
9108
9109    xz: Fix xz -lvv column alignment to look at the translated strings.
9110
9111 src/xz/list.c | 4 ++--
9112 1 file changed, 2 insertions(+), 2 deletions(-)
9113
9114commit 01d01b7c7c0b8eaf7f780a5584ec52c22d10fa4a
9115Author: Lasse Collin <lasse.collin@tukaani.org>
9116Date:   2019-05-01 16:52:36 +0300
9117
9118    Update THANKS.
9119
9120 THANKS | 1 +
9121 1 file changed, 1 insertion(+)
9122
9123commit 64030c6b17f7743df03a9948a0ccfcdf40c6b97c
9124Author: Lasse Collin <lasse.collin@tukaani.org>
9125Date:   2019-05-01 16:43:16 +0300
9126
9127    Windows: Update VS version in windows/vs2019/config.h.
9128
9129 windows/vs2019/config.h | 2 +-
9130 1 file changed, 1 insertion(+), 1 deletion(-)
9131
9132commit 2dc9117f5fbfab31444a3ca1e55795ccfa8a9f51
9133Author: Julien Marrec <julien.marrec@gmail.com>
9134Date:   2019-04-25 17:44:06 +0200
9135
9136    Windows: Upgrade solution itself
9137
9138 windows/vs2019/xz_win.sln | 7 +++++--
9139 1 file changed, 5 insertions(+), 2 deletions(-)
9140
9141commit ac31413916fa9b11bab17f0f0aa63e2869360f6f
9142Author: Julien Marrec <julien.marrec@gmail.com>
9143Date:   2019-04-25 17:40:24 +0200
9144
9145    Windows: Upgrade solution with VS2019
9146
9147 windows/vs2019/liblzma.vcxproj     | 15 ++++++++-------
9148 windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++-------
9149 2 files changed, 16 insertions(+), 14 deletions(-)
9150
9151commit be25a0c37ba92a20c390b4d17fe502457fe96b71
9152Author: Julien Marrec <julien.marrec@gmail.com>
9153Date:   2019-04-25 17:39:32 +0200
9154
9155    Windows: Duplicate windows/vs2017 before upgrading
9156
9157 windows/vs2019/config.h            | 148 ++++++++++++++
9158 windows/vs2019/liblzma.vcxproj     | 356 ++++++++++++++++++++++++++++++++++
9159 windows/vs2019/liblzma_dll.vcxproj | 385 +++++++++++++++++++++++++++++++++++++
9160 windows/vs2019/xz_win.sln          |  48 +++++
9161 4 files changed, 937 insertions(+)
9162
9163commit d0e58b3a51e8e616f3dc26ec7b7e4aa0fa6991ad
9164Author: Lasse Collin <lasse.collin@tukaani.org>
9165Date:   2019-03-04 22:49:04 +0200
9166
9167    README: Update translation instructions.
9168
9169    XZ Utils is now part of the Translation Project
9170    <https://translationproject.org/>.
9171
9172 README | 32 +++++++++++++-------------------
9173 1 file changed, 13 insertions(+), 19 deletions(-)
9174
9175commit a750c35a7d45a16c11c1d40fecee8443c32a9996
9176Author: Lasse Collin <lasse.collin@tukaani.org>
9177Date:   2019-03-04 21:20:39 +0200
9178
9179    xz: Automatically align column headings in xz -lvv.
9180
9181 src/xz/list.c | 263 ++++++++++++++++++++++++++++++++++++++++++++++------------
9182 1 file changed, 212 insertions(+), 51 deletions(-)
9183
9184commit 6cb42e8aa1dc37bf403a9f5acbd07e86036b7e77
9185Author: Lasse Collin <lasse.collin@tukaani.org>
9186Date:   2019-03-04 01:07:59 +0200
9187
9188    xz: Automatically align strings ending in a colon in --list output.
9189
9190    This should avoid alignment errors in translations with these
9191    strings.
9192
9193 src/xz/list.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
9194 1 file changed, 102 insertions(+), 12 deletions(-)
9195
9196commit 1e3f29b62f2c03e50fc9ebea7b83c1497dd35484
9197Author: Lasse Collin <lasse.collin@tukaani.org>
9198Date:   2019-01-13 17:29:23 +0200
9199
9200    Windows/VS2017: Omit WindowsTargetPlatformVersion from project files.
9201
9202    I understood that if a WTPV is specified, it's often wrong
9203    because different VS installations have different SDK version
9204    installed. Omitting the WTPV tag makes VS2017 default to
9205    Windows SDK 8.1 which often is also missing, so in any case
9206    people may need to specify the WTPV before building. But some
9207    day in the future a missing WTPV tag will start to default to
9208    the latest installed SDK which sounds reasonable:
9209
9210    https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html
9211
9212    Thanks to "dom".
9213
9214 windows/INSTALL-MSVC.txt           | 4 ++++
9215 windows/vs2017/liblzma.vcxproj     | 1 -
9216 windows/vs2017/liblzma_dll.vcxproj | 1 -
9217 3 files changed, 4 insertions(+), 2 deletions(-)
9218
9219commit 4d86076332aece6314063d3712a5f364172bbb0f
9220Author: Lasse Collin <lasse.collin@tukaani.org>
9221Date:   2018-12-20 20:42:29 +0200
9222
9223    Update THANKS.
9224
9225 THANKS | 1 +
9226 1 file changed, 1 insertion(+)
9227
9228commit b55d79461d1f6aeaac03c7dae84481e5eb8bea4c
9229Author: Lasse Collin <lasse.collin@tukaani.org>
9230Date:   2018-12-14 20:34:30 +0200
9231
9232    xz: Fix a crash in progress indicator when in passthru mode.
9233
9234    "xz -dcfv not_an_xz_file" crashed (all four options are
9235    required to trigger it). It caused xz to call
9236    lzma_get_progress(&strm, ...) when no coder was initialized
9237    in strm. In this situation strm.internal is NULL which leads
9238    to a crash in lzma_get_progress().
9239
9240    The bug was introduced when xz started using lzma_get_progress()
9241    to get progress info for multi-threaded compression, so the
9242    bug is present in versions 5.1.3alpha and higher.
9243
9244    Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for
9245    the bug report.
9246
9247 src/xz/coder.c   | 11 +++++++----
9248 src/xz/message.c | 18 ++++++++++++++++--
9249 src/xz/message.h |  3 ++-
9250 3 files changed, 25 insertions(+), 7 deletions(-)
9251
9252commit 4ae5526de013efd1021686fa80bdd10cf1cb9c56
9253Author: Lasse Collin <lasse.collin@tukaani.org>
9254Date:   2018-11-22 17:20:31 +0200
9255
9256    xz: Update man page timestamp.
9257
9258 src/xz/xz.1 | 2 +-
9259 1 file changed, 1 insertion(+), 1 deletion(-)
9260
9261commit 6a36d0d5f49e0080ff64dd9ef250abd489bea2ad
9262Author: Pavel Raiskup <praiskup@redhat.com>
9263Date:   2018-11-22 15:14:34 +0100
9264
9265    'have have' typos
9266
9267 src/xz/signals.c | 2 +-
9268 src/xz/xz.1      | 2 +-
9269 2 files changed, 2 insertions(+), 2 deletions(-)
9270
9271commit 9eca51ef805ed8002a851df1b4995d71826c8b6e
9272Author: Lasse Collin <lasse.collin@tukaani.org>
9273Date:   2018-11-02 20:40:48 +0200
9274
9275    Update THANKS.
9276
9277 THANKS | 1 +
9278 1 file changed, 1 insertion(+)
9279
9280commit 106d1a663d4ba42b63231caa289f531548df81c1
9281Author: Lasse Collin <lasse.collin@tukaani.org>
9282Date:   2018-11-02 20:18:45 +0200
9283
9284    Tests: Add a fuzz test program and a config file for OSS-Fuzz.
9285
9286    Thanks to Bhargava Shastry and Github user pdknsk.
9287
9288 tests/Makefile.am                 |  1 +
9289 tests/ossfuzz/Makefile            |  7 ++++
9290 tests/ossfuzz/config/fuzz.dict    |  2 +
9291 tests/ossfuzz/config/fuzz.options |  2 +
9292 tests/ossfuzz/fuzz.c              | 82 +++++++++++++++++++++++++++++++++++++++
9293 5 files changed, 94 insertions(+)
9294
9295commit a18ae42a79a19b1394b41eb3e238139fd28012ec
9296Author: Lasse Collin <lasse.collin@tukaani.org>
9297Date:   2018-10-26 22:49:10 +0300
9298
9299    liblzma: Don't verify header CRC32s if building for fuzz testing.
9300
9301    FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is #defined when liblzma
9302    is being built for fuzz testing.
9303
9304    Most fuzzed inputs would normally get rejected because of incorrect
9305    CRC32 and the actual header decoding code wouldn't get fuzzed.
9306    Disabling CRC32 checks avoids this problem. The fuzzer program
9307    must still use LZMA_IGNORE_CHECK flag to disable verification of
9308    integrity checks of uncompressed data.
9309
9310 src/liblzma/common/block_header_decoder.c |  5 ++++-
9311 src/liblzma/common/index_decoder.c        |  5 ++++-
9312 src/liblzma/common/index_hash.c           |  5 ++++-
9313 src/liblzma/common/stream_flags_decoder.c | 10 ++++++++--
9314 4 files changed, 20 insertions(+), 5 deletions(-)
9315
9316commit f76f7516d6a1c832f61810c82e92d151cc80966c
9317Author: Lasse Collin <lasse.collin@tukaani.org>
9318Date:   2018-07-27 18:10:44 +0300
9319
9320    xzless: Rename unused variables to silence static analysers.
9321
9322    In this particular case I don't see this affecting readability
9323    of the code.
9324
9325    Thanks to Pavel Raiskup.
9326
9327 src/scripts/xzless.in | 2 +-
9328 1 file changed, 1 insertion(+), 1 deletion(-)
9329
9330commit 3cbcaeb07eb7543735befd6f507fdb5fa4363cff
9331Author: Lasse Collin <lasse.collin@tukaani.org>
9332Date:   2018-07-27 16:02:58 +0300
9333
9334    liblzma: Remove an always-true condition from lzma_index_cat().
9335
9336    This should help static analysis tools to see that newg
9337    isn't leaked.
9338
9339    Thanks to Pavel Raiskup.
9340
9341 src/liblzma/common/index.c | 4 ++--
9342 1 file changed, 2 insertions(+), 2 deletions(-)
9343
9344commit 76762ae6098ec55c326f4b4b4a42e8c1918ee81f
9345Author: Lasse Collin <lasse.collin@tukaani.org>
9346Date:   2018-05-19 21:23:25 +0300
9347
9348    liblzma: Improve lzma_properties_decode() API documentation.
9349
9350 src/liblzma/api/lzma/filter.h | 7 ++++---
9351 1 file changed, 4 insertions(+), 3 deletions(-)
9352
9353commit 2267f5b0d20a5d24e93fcd9f72ea7eeb0d89708c
9354Author: Lasse Collin <lasse.collin@tukaani.org>
9355Date:   2018-04-29 18:58:19 +0300
9356
9357    Bump the version number to 5.3.1alpha.
9358
9359 src/liblzma/api/lzma/version.h | 2 +-
9360 src/liblzma/liblzma.map        | 2 +-
9361 2 files changed, 2 insertions(+), 2 deletions(-)
9362
9363commit cee3021d30704858e4bdd22240e7d28e570d7451
9364Author: Lasse Collin <lasse.collin@tukaani.org>
9365Date:   2018-04-29 18:48:00 +0300
9366
9367    extra/scanlzma: Fix compiler warnings.
9368
9369 extra/scanlzma/scanlzma.c | 6 +++++-
9370 1 file changed, 5 insertions(+), 1 deletion(-)
9371
9372commit c5c7ceb08a011b97d261798033e2c39613a69eb7
9373Author: Lasse Collin <lasse.collin@tukaani.org>
9374Date:   2018-04-29 18:44:47 +0300
9375
9376    DOS: Add file_info.c to the list of files to build.
9377
9378 dos/Makefile | 1 +
9379 1 file changed, 1 insertion(+)
9380
9381commit 114cab97af766b21e0fc8620479202fb1e7a5e41
9382Author: Lasse Collin <lasse.collin@tukaani.org>
9383Date:   2018-04-29 18:33:10 +0300
9384
9385    Update NEWS for 5.3.1alpha.
9386
9387 NEWS | 11 +++++++++++
9388 1 file changed, 11 insertions(+)
9389
9390commit b8139e11c512bbf32bf58ab0689f9bb6c52819da
9391Author: Lasse Collin <lasse.collin@tukaani.org>
9392Date:   2018-04-29 18:15:37 +0300
9393
9394    Add NEWS for 5.2.4.
9395
9396 NEWS | 27 +++++++++++++++++++++++++++
9397 1 file changed, 27 insertions(+)
9398
9399commit 47b59d47cfd904a420fbd45629d168ca1973721d
9400Author: Lasse Collin <lasse.collin@tukaani.org>
9401Date:   2018-02-06 19:36:30 +0200
9402
9403    Update THANKS.
9404
9405 THANKS | 2 ++
9406 1 file changed, 2 insertions(+)
9407
9408commit bc197991690ede24ab143665b5b0f0f9cb35cc46
9409Author: Ben Boeckel <mathstuf@gmail.com>
9410Date:   2018-01-29 13:58:18 -0500
9411
9412    nothrow: use noexcept for C++11 and newer
9413
9414    In C++11, the `throw()` specifier is deprecated and `noexcept` is
9415    preffered instead.
9416
9417 src/liblzma/api/lzma.h | 6 +++++-
9418 1 file changed, 5 insertions(+), 1 deletion(-)
9419
9420commit fb6d4f83cb6e144734f2a4216bb117bd56dc3cb5
9421Author: Lasse Collin <lasse.collin@tukaani.org>
9422Date:   2018-02-06 18:02:48 +0200
9423
9424    liblzma: Remove incorrect #ifdef from range_common.h.
9425
9426    In most cases it was harmless but it could affect some
9427    custom build systems.
9428
9429    Thanks to Pippijn van Steenhoven.
9430
9431 src/liblzma/rangecoder/range_common.h | 4 +---
9432 1 file changed, 1 insertion(+), 3 deletions(-)
9433
9434commit bc577d35c2d0ed17f554d2d8107b2a2a9abbac76
9435Author: Lasse Collin <lasse.collin@tukaani.org>
9436Date:   2018-01-10 22:10:39 +0200
9437
9438    Update THANKS.
9439
9440 THANKS | 1 +
9441 1 file changed, 1 insertion(+)
9442
9443commit 713bbc1a80f26d34c96ed3dbb9887362204de3a1
9444Author: Lasse Collin <lasse.collin@tukaani.org>
9445Date:   2018-01-10 21:54:27 +0200
9446
9447    tuklib_integer: New Intel C compiler needs immintrin.h.
9448
9449    Thanks to Melanie Blower (Intel) for the patch.
9450
9451 src/common/tuklib_integer.h | 11 +++++++++++
9452 1 file changed, 11 insertions(+)
9453
9454commit a0ee1afbd99da138b559cb27fa2022e7f1ab44f3
9455Author: Lasse Collin <lasse.collin@tukaani.org>
9456Date:   2017-09-24 20:04:24 +0300
9457
9458    Update THANKS.
9459
9460 THANKS | 1 +
9461 1 file changed, 1 insertion(+)
9462
9463commit a1e2c568de29c0b57d873eab40a2879b749da429
9464Author: Lasse Collin <lasse.collin@tukaani.org>
9465Date:   2017-09-16 20:36:20 +0300
9466
9467    Windows: Fix paths in VS project files.
9468
9469    Some paths use slashes instead of backslashes as directory
9470    separators... now it should work (I tested VS2013 version).
9471
9472 windows/vs2013/liblzma.vcxproj     | 12 ++++++------
9473 windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------
9474 windows/vs2017/liblzma.vcxproj     | 12 ++++++------
9475 windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------
9476 4 files changed, 36 insertions(+), 36 deletions(-)
9477
9478commit cea5cf8d26c9d1dc30a808614d79c0b25640e15e
9479Author: Lasse Collin <lasse.collin@tukaani.org>
9480Date:   2017-09-16 12:56:20 +0300
9481
9482    Windows: Update VS2017 project files to include file info decoder.
9483
9484 windows/vs2017/liblzma.vcxproj     | 2 ++
9485 windows/vs2017/liblzma_dll.vcxproj | 2 ++
9486 2 files changed, 4 insertions(+)
9487
9488commit 95d563db3ee497b223e522b699c4d4c29943eef0
9489Author: Lasse Collin <lasse.collin@tukaani.org>
9490Date:   2017-09-16 12:54:23 +0300
9491
9492    Windows: Add project files for VS2017.
9493
9494    These files match the v5.2 branch (no file info decoder).
9495
9496 windows/vs2017/config.h            | 148 ++++++++++++++
9497 windows/vs2017/liblzma.vcxproj     | 355 ++++++++++++++++++++++++++++++++++
9498 windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++
9499 windows/vs2017/xz_win.sln          |  48 +++++
9500 4 files changed, 935 insertions(+)
9501
9502commit ab72416d62ea8f50ad31d5b8545fcb6a2bf96b73
9503Author: Lasse Collin <lasse.collin@tukaani.org>
9504Date:   2017-09-16 12:45:50 +0300
9505
9506    Windows: Update VS2013 project files to include file info decoder.
9507
9508 windows/vs2013/liblzma.vcxproj     | 2 ++
9509 windows/vs2013/liblzma_dll.vcxproj | 2 ++
9510 2 files changed, 4 insertions(+)
9511
9512commit 82388980187b0e3794d187762054200bbdcc9a53
9513Author: Lasse Collin <lasse.collin@tukaani.org>
9514Date:   2017-09-16 12:39:43 +0300
9515
9516    Windows: Move VS2013 files into windows/vs2013 directory.
9517
9518 windows/{ => vs2013}/config.h            |   0
9519 windows/{ => vs2013}/liblzma.vcxproj     | 278 +++++++++++++++---------------
9520 windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++----------------
9521 windows/{ => vs2013}/xz_win.sln          |   0
9522 4 files changed, 279 insertions(+), 279 deletions(-)
9523
9524commit 94e3f986aa4e14b4ff01ac24857f499630d6d180
9525Author: Lasse Collin <lasse.collin@tukaani.org>
9526Date:   2017-08-14 20:08:33 +0300
9527
9528    Fix or hide warnings from GCC 7's -Wimplicit-fallthrough.
9529
9530 src/liblzma/lzma/lzma_decoder.c | 6 ++++++
9531 src/xz/list.c                   | 2 ++
9532 2 files changed, 8 insertions(+)
9533
9534commit 0b0e1e6803456aac641a59332200f8e95e2b7ea8
9535Author: Alexey Tourbin <alexey.tourbin@gmail.com>
9536Date:   2017-05-16 23:56:35 +0300
9537
9538    Docs: Fix a typo in a comment in doc/examples/02_decompress.c.
9539
9540 doc/examples/02_decompress.c | 2 +-
9541 1 file changed, 1 insertion(+), 1 deletion(-)
9542
9543commit a015cd1f90116e655be4eaf4aad42c4c911c2807
9544Author: Lasse Collin <lasse.collin@tukaani.org>
9545Date:   2017-05-23 18:34:43 +0300
9546
9547    xz: Fix "xz --list --robot missing_or_bad_file.xz".
9548
9549    It ended up printing an uninitialized char-array when trying to
9550    print the check names (column 7) on the "totals" line.
9551
9552    This also changes the column 12 (minimum xz version) to
9553    50000002 (xz 5.0.0) instead of 0 when there are no valid
9554    input files.
9555
9556    Thanks to kidmin for the bug report.
9557
9558 src/xz/list.c | 8 ++++++--
9559 1 file changed, 6 insertions(+), 2 deletions(-)
9560
9561commit c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd
9562Author: Lasse Collin <lasse.collin@tukaani.org>
9563Date:   2017-04-24 20:20:11 +0300
9564
9565    Docs: Add doc/examples/11_file_info.c.
9566
9567 doc/examples/11_file_info.c | 206 ++++++++++++++++++++++++++++++++++++++++++++
9568 doc/examples/Makefile       |   3 +-
9569 2 files changed, 208 insertions(+), 1 deletion(-)
9570
9571commit 1520f6ec808896375ac7bf778c449e0f7dea5f46
9572Author: Lasse Collin <lasse.collin@tukaani.org>
9573Date:   2017-04-24 19:48:47 +0300
9574
9575    Build: Omit pre-5.0.0 entries from the generated ChangeLog.
9576
9577    It makes ChangeLog significantly smaller.
9578
9579 Makefile.am | 3 ++-
9580 1 file changed, 2 insertions(+), 1 deletion(-)
9581
9582commit 8269782283806c90a8509c2ac2a308344f70e171
9583Author: Lasse Collin <lasse.collin@tukaani.org>
9584Date:   2017-04-24 19:48:23 +0300
9585
9586    xz: Use lzma_file_info_decoder() for --list.
9587
9588 src/xz/list.c | 254 ++++++++++------------------------------------------------
9589 1 file changed, 44 insertions(+), 210 deletions(-)
9590
9591commit e353d0b1cc0d3997ae5048faa8e6786414953e06
9592Author: Lasse Collin <lasse.collin@tukaani.org>
9593Date:   2017-04-24 19:35:50 +0300
9594
9595    liblzma: Add lzma_file_info_decoder().
9596
9597 src/liblzma/api/lzma/index.h    |  66 ++++
9598 src/liblzma/common/Makefile.inc |   1 +
9599 src/liblzma/common/file_info.c  | 855 ++++++++++++++++++++++++++++++++++++++++
9600 src/liblzma/liblzma.map         |   7 +-
9601 4 files changed, 928 insertions(+), 1 deletion(-)
9602
9603commit 144ef9e19e9496c995b21505dd1e111c442968d1
9604Author: Lasse Collin <lasse.collin@tukaani.org>
9605Date:   2017-04-24 19:30:22 +0300
9606
9607    Update the Git repository URL to HTTPS in ChangeLog.
9608
9609 ChangeLog | 2 +-
9610 1 file changed, 1 insertion(+), 1 deletion(-)
9611
9612commit 8c9842c265993d7dd4039f732d3546267fb5ecc4
9613Author: Lasse Collin <lasse.collin@tukaani.org>
9614Date:   2017-04-21 15:05:16 +0300
9615
9616    liblzma: Rename LZMA_SEEK to LZMA_SEEK_NEEDED and seek_in to seek_pos.
9617
9618 src/liblzma/api/lzma/base.h | 18 +++++++++---------
9619 src/liblzma/common/common.c |  2 +-
9620 src/xz/message.c            |  2 +-
9621 3 files changed, 11 insertions(+), 11 deletions(-)
9622
9623commit 662b27c417cab248cb365dd7682121bdec4d5ae7
9624Author: Lasse Collin <lasse.collin@tukaani.org>
9625Date:   2017-04-19 22:17:35 +0300
9626
9627    Update the home page URLs to HTTPS.
9628
9629 COPYING                     | 2 +-
9630 README                      | 2 +-
9631 configure.ac                | 2 +-
9632 doc/faq.txt                 | 4 ++--
9633 dos/config.h                | 2 +-
9634 src/common/common_w32res.rc | 2 +-
9635 src/xz/xz.1                 | 6 +++---
9636 src/xzdec/xzdec.1           | 4 ++--
9637 windows/README-Windows.txt  | 2 +-
9638 windows/config.h            | 2 +-
9639 10 files changed, 14 insertions(+), 14 deletions(-)
9640
9641commit c28f0b3d00af87b92dda229831548d8eb0067d1d
9642Author: Lasse Collin <lasse.collin@tukaani.org>
9643Date:   2017-04-05 18:47:22 +0300
9644
9645    xz: Add io_seek_src().
9646
9647 src/xz/file_io.c | 20 +++++++++++++++++---
9648 src/xz/file_io.h | 13 +++++++++++++
9649 2 files changed, 30 insertions(+), 3 deletions(-)
9650
9651commit bba477257d7319c8764890f3669175b866d24944
9652Author: Lasse Collin <lasse.collin@tukaani.org>
9653Date:   2017-03-30 22:01:54 +0300
9654
9655    xz: Use POSIX_FADV_RANDOM for in "xz --list" mode.
9656
9657    xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly
9658    wrong.
9659
9660 src/xz/file_io.c | 10 ++++++++--
9661 1 file changed, 8 insertions(+), 2 deletions(-)
9662
9663commit 310d19816d1652b0c8bb1b82574d46345d924752
9664Author: Lasse Collin <lasse.collin@tukaani.org>
9665Date:   2017-03-30 20:03:05 +0300
9666
9667    liblzma: Make lzma_index_decoder_init() visible to other liblzma funcs.
9668
9669    This is to allow other functions to use it without going
9670    via the public API (lzma_index_decoder()).
9671
9672 src/liblzma/common/Makefile.inc    |  1 +
9673 src/liblzma/common/index_decoder.c | 10 +++++-----
9674 src/liblzma/common/index_decoder.h | 24 ++++++++++++++++++++++++
9675 3 files changed, 30 insertions(+), 5 deletions(-)
9676
9677commit a27920002dbc469f778a134fc665b7c3ea73701b
9678Author: Lasse Collin <lasse.collin@tukaani.org>
9679Date:   2017-03-30 20:00:09 +0300
9680
9681    liblzma: Add generic support for input seeking (LZMA_SEEK).
9682
9683    Also mention LZMA_SEEK in xz/message.c to silence a warning.
9684
9685 src/liblzma/api/lzma/base.h | 31 ++++++++++++++++++++++++++++++-
9686 src/liblzma/common/common.c | 12 +++++++++++-
9687 src/xz/message.c            |  1 +
9688 3 files changed, 42 insertions(+), 2 deletions(-)
9689
9690commit a0b1dda409bc3e6e2957a2651663fc411d2caf2d
9691Author: Lasse Collin <lasse.collin@tukaani.org>
9692Date:   2017-03-30 19:47:45 +0300
9693
9694    liblzma: Fix lzma_memlimit_set(strm, 0).
9695
9696    The 0 got treated specially in a buggy way and as a result
9697    the function did nothing. The API doc said that 0 was supposed
9698    to return LZMA_PROG_ERROR but it didn't.
9699
9700    Now 0 is treated as if 1 had been specified. This is done because
9701    0 is already used to indicate an error from lzma_memlimit_get()
9702    and lzma_memusage().
9703
9704    In addition, lzma_memlimit_set() no longer checks that the new
9705    limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive
9706    for the Index decoder and was actually needed only by the
9707    auto decoder. Auto decoder has now been modified to check for
9708    LZMA_MEMUSAGE_BASE.
9709
9710 src/liblzma/api/lzma/base.h       | 7 ++++++-
9711 src/liblzma/common/auto_decoder.c | 3 +++
9712 src/liblzma/common/common.c       | 6 ++++--
9713 3 files changed, 13 insertions(+), 3 deletions(-)
9714
9715commit 84462afaada61379f5878e46f8f00e25a1cdcf29
9716Author: Lasse Collin <lasse.collin@tukaani.org>
9717Date:   2017-03-30 19:16:55 +0300
9718
9719    liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder.
9720
9721 src/liblzma/api/lzma/container.h    | 21 +++++++++++++++++----
9722 src/liblzma/common/alone_decoder.c  |  5 +----
9723 src/liblzma/common/auto_decoder.c   |  5 +----
9724 src/liblzma/common/stream_decoder.c |  5 +----
9725 4 files changed, 20 insertions(+), 16 deletions(-)
9726
9727commit cbc74017939690d13441b8926bb743fb03211b83
9728Author: Lasse Collin <lasse.collin@tukaani.org>
9729Date:   2017-03-30 18:58:18 +0300
9730
9731    liblzma: Fix handling of memlimit == 0 in lzma_index_decoder().
9732
9733    It returned LZMA_PROG_ERROR, which was done to avoid zero as
9734    the limit (because it's a special value elsewhere), but using
9735    LZMA_PROG_ERROR is simply inconvenient and can cause bugs.
9736
9737    The fix/workaround is to treat 0 as if it were 1 byte. It's
9738    effectively the same thing. The only weird consequence is
9739    that then lzma_memlimit_get() will return 1 even when 0 was
9740    specified as the limit.
9741
9742    This fixes a very rare corner case in xz --list where a specific
9743    memory usage limit and a multi-stream file could print the
9744    error message "Internal error (bug)" instead of saying that
9745    the memory usage limit is too low.
9746
9747 src/liblzma/api/lzma/index.h       | 18 +++++++++++-------
9748 src/liblzma/common/index_decoder.c |  4 ++--
9749 2 files changed, 13 insertions(+), 9 deletions(-)
9750
9751commit 78ae13bced912b1b92ae927992c99cbcc463cae7
9752Author: Lasse Collin <lasse.collin@tukaani.org>
9753Date:   2016-12-30 13:25:10 +0200
9754
9755    Update NEWS for 5.2.3.
9756
9757 NEWS | 39 +++++++++++++++++++++++++++++++++++++++
9758 1 file changed, 39 insertions(+)
9759
9760commit 0297863fdb453aed1a25eb025f3ba7bacbbb1357
9761Author: Lasse Collin <lasse.collin@tukaani.org>
9762Date:   2016-12-26 20:55:52 +0200
9763
9764    Document --enable-sandbox configure option in INSTALL.
9765
9766 INSTALL | 23 +++++++++++++++++++++++
9767 1 file changed, 23 insertions(+)
9768
9769commit d4a0462abe5478193521c14625e1c81fead87f9f
9770Author: Lasse Collin <lasse.collin@tukaani.org>
9771Date:   2016-11-21 20:24:50 +0200
9772
9773    liblzma: Avoid multiple definitions of lzma_coder structures.
9774
9775    Only one definition was visible in a translation unit.
9776    It avoided a few casts and temp variables but seems that
9777    this hack doesn't work with link-time optimizations in compilers
9778    as it's not C99/C11 compliant.
9779
9780    Fixes:
9781    http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html
9782
9783 src/liblzma/common/alone_decoder.c             |  44 +++++----
9784 src/liblzma/common/alone_encoder.c             |  34 ++++---
9785 src/liblzma/common/auto_decoder.c              |  35 ++++---
9786 src/liblzma/common/block_decoder.c             |  41 ++++----
9787 src/liblzma/common/block_encoder.c             |  40 ++++----
9788 src/liblzma/common/common.h                    |  18 ++--
9789 src/liblzma/common/index_decoder.c             |  33 ++++---
9790 src/liblzma/common/index_encoder.c             |  16 ++--
9791 src/liblzma/common/stream_decoder.c            |  50 +++++-----
9792 src/liblzma/common/stream_encoder.c            |  56 ++++++-----
9793 src/liblzma/common/stream_encoder_mt.c         | 124 ++++++++++++++-----------
9794 src/liblzma/delta/delta_common.c               |  25 ++---
9795 src/liblzma/delta/delta_decoder.c              |   6 +-
9796 src/liblzma/delta/delta_encoder.c              |  12 ++-
9797 src/liblzma/delta/delta_private.h              |   4 +-
9798 src/liblzma/lz/lz_decoder.c                    |  60 ++++++------
9799 src/liblzma/lz/lz_decoder.h                    |  13 ++-
9800 src/liblzma/lz/lz_encoder.c                    |  57 +++++++-----
9801 src/liblzma/lz/lz_encoder.h                    |   9 +-
9802 src/liblzma/lzma/lzma2_decoder.c               |  32 ++++---
9803 src/liblzma/lzma/lzma2_encoder.c               |  51 +++++-----
9804 src/liblzma/lzma/lzma_decoder.c                |  27 +++---
9805 src/liblzma/lzma/lzma_encoder.c                |  29 +++---
9806 src/liblzma/lzma/lzma_encoder.h                |   9 +-
9807 src/liblzma/lzma/lzma_encoder_optimum_fast.c   |   3 +-
9808 src/liblzma/lzma/lzma_encoder_optimum_normal.c |  23 ++---
9809 src/liblzma/lzma/lzma_encoder_private.h        |   6 +-
9810 src/liblzma/simple/arm.c                       |   2 +-
9811 src/liblzma/simple/armthumb.c                  |   2 +-
9812 src/liblzma/simple/ia64.c                      |   2 +-
9813 src/liblzma/simple/powerpc.c                   |   2 +-
9814 src/liblzma/simple/simple_coder.c              |  61 ++++++------
9815 src/liblzma/simple/simple_private.h            |  12 +--
9816 src/liblzma/simple/sparc.c                     |   2 +-
9817 src/liblzma/simple/x86.c                       |  15 +--
9818 35 files changed, 532 insertions(+), 423 deletions(-)
9819
9820commit a01794c52add98263b49119842c3e7141d1b9ced
9821Author: Lasse Collin <lasse.collin@tukaani.org>
9822Date:   2016-10-24 18:53:25 +0300
9823
9824    Update THANKS.
9825
9826 THANKS | 1 +
9827 1 file changed, 1 insertion(+)
9828
9829commit df8f446e3ad47e5148b8c8d8b6e519d3ce29cb9d
9830Author: Lasse Collin <lasse.collin@tukaani.org>
9831Date:   2016-10-24 18:51:36 +0300
9832
9833    tuklib_cpucores: Add support for sched_getaffinity().
9834
9835    It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better
9836    than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity()
9837    gives the number of cores available to the process instead of
9838    the total number of cores online.
9839
9840    As a side effect, this commit fixes a bug on GNU/kFreeBSD where
9841    configure would detect the FreeBSD-specific cpuset_getaffinity()
9842    but it wouldn't actually work because on GNU/kFreeBSD it requires
9843    using -lfreebsd-glue when linking. Now the glibc-specific function
9844    will be used instead.
9845
9846    Thanks to Sebastian Andrzej Siewior for the original patch
9847    and testing.
9848
9849 m4/tuklib_cpucores.m4        | 30 +++++++++++++++++++++++++++++-
9850 src/common/tuklib_cpucores.c |  9 +++++++++
9851 2 files changed, 38 insertions(+), 1 deletion(-)
9852
9853commit 446e4318fa79788e09299d5953b5dd428953d14b
9854Author: Lasse Collin <lasse.collin@tukaani.org>
9855Date:   2016-06-30 20:27:36 +0300
9856
9857    xz: Fix copying of timestamps on Windows.
9858
9859    xz used to call utime() on Windows, but its result gets lost
9860    on close(). Using _futime() seems to work.
9861
9862    Thanks to Martok for reporting the bug:
9863    http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html
9864
9865 configure.ac     |  2 +-
9866 src/xz/file_io.c | 18 ++++++++++++++++++
9867 2 files changed, 19 insertions(+), 1 deletion(-)
9868
9869commit 1b0ac0c53c761263e91e34195cb21dfdcfeac0bd
9870Author: Lasse Collin <lasse.collin@tukaani.org>
9871Date:   2016-06-16 22:46:02 +0300
9872
9873    xz: Silence warnings from -Wlogical-op.
9874
9875    Thanks to Evan Nemerson.
9876
9877 src/xz/file_io.c | 12 ++++++++++--
9878 1 file changed, 10 insertions(+), 2 deletions(-)
9879
9880commit c83b7a03342c3325ff10400b22ee21edfcd1e026
9881Author: Lasse Collin <lasse.collin@tukaani.org>
9882Date:   2016-04-10 20:55:49 +0300
9883
9884    Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am.
9885
9886    Thanks to Christian Kujau.
9887
9888 src/xz/Makefile.am | 2 +-
9889 1 file changed, 1 insertion(+), 1 deletion(-)
9890
9891commit ade31a2bfb95c94d05fbfc0ecbba5d6377f2506e
9892Author: Lasse Collin <lasse.collin@tukaani.org>
9893Date:   2016-04-10 20:54:17 +0300
9894
9895    Build: Bump GNU Gettext version requirement to 0.19.
9896
9897    It silences a few warnings and most people probably have
9898    0.19 even on stable distributions.
9899
9900    Thanks to Christian Kujau.
9901
9902 configure.ac | 2 +-
9903 1 file changed, 1 insertion(+), 1 deletion(-)
9904
9905commit ac398c3bafa6e4c80e20571373a96947db863b3d
9906Author: Lasse Collin <lasse.collin@tukaani.org>
9907Date:   2016-03-13 20:21:49 +0200
9908
9909    liblzma: Disable external SHA-256 by default.
9910
9911    This is the sane thing to do. The conflict with OpenSSL
9912    on some OSes and especially that the OS-provided versions
9913    can be significantly slower makes it clear that it was
9914    a mistake to have the external SHA-256 support enabled by
9915    default.
9916
9917    Those who want it can now pass --enable-external-sha256 to
9918    configure. INSTALL was updated with notes about OSes where
9919    this can be a bad idea.
9920
9921    The SHA-256 detection code in configure.ac had some bugs that
9922    could lead to a build failure in some situations. These were
9923    fixed, although it doesn't matter that much now that the
9924    external SHA-256 is disabled by default.
9925
9926    MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init
9927    in libc instead of libutil. Support for the libutil version
9928    was removed.
9929
9930 INSTALL                   | 36 ++++++++++++++++++++++
9931 configure.ac              | 76 +++++++++++++++++++++++------------------------
9932 src/liblzma/check/check.h | 16 ++++------
9933 3 files changed, 79 insertions(+), 49 deletions(-)
9934
9935commit 6fd5ecb589a9fdd7a576ea48c4850d496bab9ce5
9936Author: Lasse Collin <lasse.collin@tukaani.org>
9937Date:   2016-03-10 20:27:05 +0200
9938
9939    Update THANKS.
9940
9941 THANKS | 1 +
9942 1 file changed, 1 insertion(+)
9943
9944commit 473ef0dc69a30e64d5fa0d34aca02f7309faa3e9
9945Author: Lasse Collin <lasse.collin@tukaani.org>
9946Date:   2016-03-10 20:26:49 +0200
9947
9948    Build: Avoid SHA256_Init on FreeBSD and MINIX 3.
9949
9950    On FreeBSD 10 and older, SHA256_Init from libmd conflicts
9951    with libcrypto from OpenSSL. The OpenSSL version has
9952    different sizeof(SHA256_CTX) and it can cause weird
9953    problems if wrong SHA256_Init gets used.
9954
9955    Looking at the source, MINIX 3 seems to have a similar issue but
9956    I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too.
9957
9958    NetBSD has SHA256_Init in libc and they had a similar problem,
9959    but they already fixed it in 2009.
9960
9961    Thanks to Jim Wilcoxson for the bug report that helped
9962    in finding the problem.
9963
9964 configure.ac | 27 +++++++++++++++++++++------
9965 1 file changed, 21 insertions(+), 6 deletions(-)
9966
9967commit faf302137e54d605b44ecf0373cb51a6403a2de1
9968Author: Lasse Collin <lasse.collin@tukaani.org>
9969Date:   2015-11-08 20:16:10 +0200
9970
9971    tuklib_physmem: Hopefully silence a warning on Windows.
9972
9973 src/common/tuklib_physmem.c | 3 ++-
9974 1 file changed, 2 insertions(+), 1 deletion(-)
9975
9976commit e52e9151cf8613022d1de4712ff39dbcb666e991
9977Author: Lasse Collin <lasse.collin@tukaani.org>
9978Date:   2015-11-04 23:17:43 +0200
9979
9980    Update THANKS.
9981
9982 THANKS | 1 +
9983 1 file changed, 1 insertion(+)
9984
9985commit 14115f84a38161d55eaa2d070f08739bde37e966
9986Author: Lasse Collin <lasse.collin@tukaani.org>
9987Date:   2015-11-04 23:14:00 +0200
9988
9989    liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.
9990
9991    When optimizing, GCC can reorder code so that an uninitialized
9992    value gets used in a comparison, which makes Valgrind unhappy.
9993    It doesn't happen when compiled with -O0, which I tend to use
9994    when running Valgrind.
9995
9996    Thanks to Rich Prohaska. I remember this being mentioned long
9997    ago by someone else but nothing was done back then.
9998
9999 src/liblzma/lz/lz_encoder.c | 4 ++++
10000 1 file changed, 4 insertions(+)
10001
10002commit f4c95ba94beb71a608eb6eadbf82b44f53a0260e
10003Author: Lasse Collin <lasse.collin@tukaani.org>
10004Date:   2015-11-03 20:55:45 +0200
10005
10006    liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c.
10007
10008    It would be too annoying to update other build systems
10009    just because of this.
10010
10011 src/liblzma/lzma/Makefile.inc                               | 2 +-
10012 src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +-
10013 2 files changed, 2 insertions(+), 2 deletions(-)
10014
10015commit c7bc20a6f3e71920871d48db31a79ab58b5a0a4b
10016Author: Lasse Collin <lasse.collin@tukaani.org>
10017Date:   2015-11-03 20:47:07 +0200
10018
10019    Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built.
10020
10021    They all need decoder support and if that isn't available,
10022    there's no point trying to build them.
10023
10024 configure.ac | 3 +++
10025 1 file changed, 3 insertions(+)
10026
10027commit 5cbca1205deeb6fb7afe7a864fa68a57466d928a
10028Author: Lasse Collin <lasse.collin@tukaani.org>
10029Date:   2015-11-03 20:35:19 +0200
10030
10031    Build: Simplify $enable_{encoders,decoders} usage a bit.
10032
10033 configure.ac | 6 ++++--
10034 1 file changed, 4 insertions(+), 2 deletions(-)
10035
10036commit af13781886c8e7a0aabebb5141ea282dc364f5c6
10037Author: Lasse Collin <lasse.collin@tukaani.org>
10038Date:   2015-11-03 20:31:31 +0200
10039
10040    Windows/MSVC: Update config.h.
10041
10042 windows/config.h | 6 ++++++
10043 1 file changed, 6 insertions(+)
10044
10045commit 9fa5949330f162c5a2f6653f83025327837e8f39
10046Author: Lasse Collin <lasse.collin@tukaani.org>
10047Date:   2015-11-03 20:29:58 +0200
10048
10049    DOS: Update config.h.
10050
10051 dos/config.h | 6 ++++++
10052 1 file changed, 6 insertions(+)
10053
10054commit cb3111e3ed84152912b5138d690c8d9f00c6ef02
10055Author: Lasse Collin <lasse.collin@tukaani.org>
10056Date:   2015-11-03 20:29:33 +0200
10057
10058    xz: Make xz buildable even when encoders or decoders are disabled.
10059
10060    The patch is quite long but it's mostly about adding new #ifdefs
10061    to omit code when encoders or decoders have been disabled.
10062
10063    This adds two new #defines to config.h: HAVE_ENCODERS and
10064    HAVE_DECODERS.
10065
10066 configure.ac       |  4 ++++
10067 src/xz/Makefile.am |  8 ++++++--
10068 src/xz/args.c      | 16 ++++++++++++++++
10069 src/xz/coder.c     | 33 +++++++++++++++++++++++++--------
10070 src/xz/main.c      |  9 +++++++--
10071 src/xz/private.h   |  5 ++++-
10072 6 files changed, 62 insertions(+), 13 deletions(-)
10073
10074commit 4cc584985c0b7a13901da1b7a64ef9f7cc36e8ab
10075Author: Lasse Collin <lasse.collin@tukaani.org>
10076Date:   2015-11-03 18:06:40 +0200
10077
10078    Build: Build LZMA1/2 presets also when only decoder is wanted.
10079
10080    People shouldn't rely on the presets when decoding raw streams,
10081    but xz uses the presets as the starting point for raw decoder
10082    options anyway.
10083
10084    lzma_encocder_presets.c was renamed to lzma_presets.c to
10085    make it clear it's not used solely by the encoder code.
10086
10087 src/liblzma/lzma/Makefile.inc                               | 6 +++++-
10088 src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++-
10089 2 files changed, 7 insertions(+), 2 deletions(-)
10090
10091commit 23ed1d41489f632155bbc9660f323d57e09da180
10092Author: Lasse Collin <lasse.collin@tukaani.org>
10093Date:   2015-11-03 17:54:48 +0200
10094
10095    Build: Fix configure to handle LZMA1 dependency with LZMA2.
10096
10097    Now it gives an error if LZMA1 encoder/decoder is missing
10098    when LZMA2 encoder/decoder was requested. Even better would
10099    be LZMA2 implicitly enabling LZMA1 but it would need more code.
10100
10101 configure.ac | 5 -----
10102 1 file changed, 5 deletions(-)
10103
10104commit b0bc3e03852af13419ea2960881824258d451117
10105Author: Lasse Collin <lasse.collin@tukaani.org>
10106Date:   2015-11-03 17:41:54 +0200
10107
10108    Build: Don't omit lzma_cputhreads() unless using --disable-threads.
10109
10110    Previously it was omitted if encoders were disabled
10111    with --disable-encoders. It didn't make sense and
10112    it also broke the build.
10113
10114 src/liblzma/common/Makefile.inc | 5 ++++-
10115 1 file changed, 4 insertions(+), 1 deletion(-)
10116
10117commit c6bf438ab39e0fb4a47d3c81725c227919502726
10118Author: Lasse Collin <lasse.collin@tukaani.org>
10119Date:   2015-11-02 18:16:51 +0200
10120
10121    liblzma: Fix a build failure related to external SHA-256 support.
10122
10123    If an appropriate header and structure were found by configure,
10124    but a library with a usable SHA-256 functions wasn't, the build
10125    failed.
10126
10127 src/liblzma/check/check.h | 32 +++++++++++++++++++++++---------
10128 1 file changed, 23 insertions(+), 9 deletions(-)
10129
10130commit e18adc56f2262aa9394d46681e9e4b9981ed5e97
10131Author: Lasse Collin <lasse.collin@tukaani.org>
10132Date:   2015-11-02 15:19:10 +0200
10133
10134    xz: Always close the file before trying to delete it.
10135
10136    unlink() can return EBUSY in errno for open files on some
10137    operating systems and file systems.
10138
10139 src/xz/file_io.c | 25 ++++++++++++-------------
10140 1 file changed, 12 insertions(+), 13 deletions(-)
10141
10142commit 282e768a1484e88c8b7ec35655ee4959954ec87a
10143Author: Lasse Collin <lasse.collin@tukaani.org>
10144Date:   2015-10-12 21:08:42 +0300
10145
10146    Update THANKS.
10147
10148 THANKS | 1 +
10149 1 file changed, 1 insertion(+)
10150
10151commit 372e402713a1d4337ffce5f56d5c5c9ed99a66d0
10152Author: Lasse Collin <lasse.collin@tukaani.org>
10153Date:   2015-10-12 21:07:41 +0300
10154
10155    Tests: Add tests for the two bugs fixed in index.c.
10156
10157 tests/test_index.c | 30 ++++++++++++++++++++++++++++++
10158 1 file changed, 30 insertions(+)
10159
10160commit 21515d79d778b8730a434f151b07202d52a04611
10161Author: Lasse Collin <lasse.collin@tukaani.org>
10162Date:   2015-10-12 20:45:15 +0300
10163
10164    liblzma: Fix lzma_index_dup() for empty Streams.
10165
10166    Stream Flags and Stream Padding weren't copied from
10167    empty Streams.
10168
10169 src/liblzma/common/index.c | 11 ++++++-----
10170 1 file changed, 6 insertions(+), 5 deletions(-)
10171
10172commit 09f395b6b360c0b13e8559eece1d179b908ebd3a
10173Author: Lasse Collin <lasse.collin@tukaani.org>
10174Date:   2015-10-12 20:31:44 +0300
10175
10176    liblzma: Add a note to index.c for those using static analyzers.
10177
10178 src/liblzma/common/index.c | 3 +++
10179 1 file changed, 3 insertions(+)
10180
10181commit 3bf857edfef51374f6f3fffae3d817f57d3264a0
10182Author: Lasse Collin <lasse.collin@tukaani.org>
10183Date:   2015-10-12 20:29:09 +0300
10184
10185    liblzma: Fix a memory leak in error path of lzma_index_dup().
10186
10187    lzma_index_dup() calls index_dup_stream() which, in case of
10188    an error, calls index_stream_end() to free memory allocated
10189    by index_stream_init(). However, it illogically didn't
10190    actually free the memory. To make it logical, the tree
10191    handling code was modified a bit in addition to changing
10192    index_stream_end().
10193
10194    Thanks to Evan Nemerson for the bug report.
10195
10196 src/liblzma/common/index.c | 18 +++++++++---------
10197 1 file changed, 9 insertions(+), 9 deletions(-)
10198
10199commit 7f05803979b4b79642d5be4218a79da7a0b12c47
10200Author: Lasse Collin <lasse.collin@tukaani.org>
10201Date:   2015-09-29 13:57:28 +0300
10202
10203    Update NEWS for 5.2.2.
10204
10205 NEWS | 18 ++++++++++++++++++
10206 1 file changed, 18 insertions(+)
10207
10208commit 397fcc0946315b55c3c6d80e37e82a2a78bc15c1
10209Author: Hauke Henningsen <sqrt@entless.org>
10210Date:   2015-08-17 04:59:54 +0200
10211
10212    Update German translation, mostly wrt orthography
10213
10214    Provide an update of the German translation.
10215    * A lot of compound words were previously written with spaces, while
10216      German orthography is relatively clear in that the components
10217      should not be separated.
10218    * When referring to the actual process of (de)compression rather than the
10219      concept, replace “(De-)Kompression” with “(De-)Komprimierung”.
10220      Previously, both forms were used in this context and are now used in a
10221      manner consistent with “Komprimierung” being more likely to refer to
10222      a process.
10223    * Consistently translate “standard input”/“output”
10224    * Use “Zeichen” instead of false friend “Charakter” for “character”
10225    * Insert commas around relative clauses (as required in German)
10226    * Some other minor corrections
10227    * Capitalize “ß” as “ẞ”
10228    * Consistently start option descriptions in --help with capital letters
10229
10230    Acked-By: Andre Noll <maan@tuebingen.mpg.de>
10231
10232    * Update after msgmerge
10233
10234 po/de.po | 383 ++++++++++++++++++++++++++++++++-------------------------------
10235 1 file changed, 196 insertions(+), 187 deletions(-)
10236
10237commit cbc9e39bae715accb44168930a71888480aad569
10238Author: Lasse Collin <lasse.collin@tukaani.org>
10239Date:   2015-08-11 13:23:04 +0300
10240
10241    Build: Minor Cygwin cleanup.
10242
10243    Some tests used "cygwin*" and some used "cygwin". I changed
10244    them all to use "cygwin". Shouldn't affect anything in practice.
10245
10246 configure.ac | 6 +++---
10247 1 file changed, 3 insertions(+), 3 deletions(-)
10248
10249commit bcacd8ce7a031566858e5e03c1009064c3f1c89e
10250Author: Lasse Collin <lasse.collin@tukaani.org>
10251Date:   2015-08-11 13:21:52 +0300
10252
10253    Build: Support building of MSYS2 binaries.
10254
10255 configure.ac | 16 +++++++++++-----
10256 1 file changed, 11 insertions(+), 5 deletions(-)
10257
10258commit 0275a5398c01d57b724dec7fea52dec3bd6edc6c
10259Author: Lasse Collin <lasse.collin@tukaani.org>
10260Date:   2015-08-09 21:06:26 +0300
10261
10262    Windows: Define DLL_EXPORT when building liblzma.dll with MSVC.
10263
10264    src/liblzma/common/common.h uses it to set __declspec(dllexport)
10265    for the API symbols.
10266
10267    Thanks to Adam Walling.
10268
10269 windows/liblzma_dll.vcxproj | 12 ++++++------
10270 1 file changed, 6 insertions(+), 6 deletions(-)
10271
10272commit a74525cf9b945fb0b370e64cf406104beb31729b
10273Author: Lasse Collin <lasse.collin@tukaani.org>
10274Date:   2015-08-09 21:02:20 +0300
10275
10276    Windows: Omit unneeded header files from MSVC project files.
10277
10278 windows/liblzma.vcxproj     | 5 -----
10279 windows/liblzma_dll.vcxproj | 5 -----
10280 2 files changed, 10 deletions(-)
10281
10282commit fbbb295a91caf39faf8838c8c39526e4cb4dc121
10283Author: Lasse Collin <lasse.collin@tukaani.org>
10284Date:   2015-07-12 20:48:19 +0300
10285
10286    liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer.
10287
10288 src/liblzma/api/lzma.h | 18 +++++++++++++-----
10289 1 file changed, 13 insertions(+), 5 deletions(-)
10290
10291commit 713dbe5c230fe00865a54f5c32358ea30f9a1156
10292Author: Lasse Collin <lasse.collin@tukaani.org>
10293Date:   2015-06-19 20:38:55 +0300
10294
10295    Update THANKS.
10296
10297 THANKS | 2 ++
10298 1 file changed, 2 insertions(+)
10299
10300commit 3a5d755d055d51f99c523b4c2952727e1e69cfa1
10301Author: Lasse Collin <lasse.collin@tukaani.org>
10302Date:   2015-06-19 20:21:30 +0300
10303
10304    Windows: Update the docs.
10305
10306 INSTALL                                            | 29 ++++++++-----
10307 windows/INSTALL-MSVC.txt                           | 47 ++++++++++++++++++++++
10308 windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} |  2 +-
10309 3 files changed, 67 insertions(+), 11 deletions(-)
10310
10311commit b0798c6aa6184efcefd0bdcca20f96121a13feda
10312Author: Lasse Collin <lasse.collin@tukaani.org>
10313Date:   2015-06-19 17:25:31 +0300
10314
10315    Windows: Add MSVC project files for building liblzma.
10316
10317    Thanks to Adam Walling for creating these files.
10318
10319 windows/liblzma.vcxproj     | 359 ++++++++++++++++++++++++++++++++++++++++
10320 windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++
10321 windows/xz_win.sln          |  48 ++++++
10322 3 files changed, 795 insertions(+)
10323
10324commit 9b02a4ffdac1b9f066658ec4c95c0834f4cd2fb7
10325Author: Andre Noll <maan@tuebingen.mpg.de>
10326Date:   2015-05-28 15:50:00 +0200
10327
10328    Fix typo in German translation.
10329
10330    As pointed out by Robert Pollak, there's a typo in the German
10331    translation of the compression preset option (-0 ... -9) help text.
10332    "The compressor" translates to "der Komprimierer", and the genitive
10333    form is "des Komprimierers". The old word makes no sense at all.
10334
10335 po/de.po | 2 +-
10336 1 file changed, 1 insertion(+), 1 deletion(-)
10337
10338commit c7f4041f6b8f4729f88d3bc888b2a4080ae51f72
10339Author: Lasse Collin <lasse.collin@tukaani.org>
10340Date:   2015-05-13 20:57:55 +0300
10341
10342    Tests: Fix a memory leak in test_bcj_exact_size.
10343
10344    Thanks to Cristian Rodríguez.
10345
10346 tests/test_bcj_exact_size.c | 1 +
10347 1 file changed, 1 insertion(+)
10348
10349commit 17b29d4f0ae0f780fbd69e15a398dc478d8492f8
10350Author: Lasse Collin <lasse.collin@tukaani.org>
10351Date:   2015-05-12 18:08:24 +0300
10352
10353    Fix NEWS about threading in 5.2.0.
10354
10355    Thanks to Andy Hochhaus.
10356
10357 NEWS | 3 ++-
10358 1 file changed, 2 insertions(+), 1 deletion(-)
10359
10360commit 49c26920d6e2d85e5c6123e34958aed2e77485ad
10361Author: Lasse Collin <lasse.collin@tukaani.org>
10362Date:   2015-05-11 21:26:16 +0300
10363
10364    xz: Document that threaded decompression hasn't been implemented yet.
10365
10366 src/xz/xz.1 | 10 +++++++++-
10367 1 file changed, 9 insertions(+), 1 deletion(-)
10368
10369commit 5b2458cb244ed237efe4de1ebcf06e1b3a1f4256
10370Author: Lasse Collin <lasse.collin@tukaani.org>
10371Date:   2015-04-20 20:20:29 +0300
10372
10373    Update THANKS.
10374
10375 THANKS | 1 +
10376 1 file changed, 1 insertion(+)
10377
10378commit 6bd0349c58451b13442e8f463e35de83548bf985
10379Author: Lasse Collin <lasse.collin@tukaani.org>
10380Date:   2015-04-20 19:59:18 +0300
10381
10382    Revert "xz: Use pipe2() if available."
10383
10384    This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd.
10385    It is a problem when libc has pipe2() but the kernel is too
10386    old to have pipe2() and thus pipe2() fails. In xz it's pointless
10387    to have a fallback for non-functioning pipe2(); it's better to
10388    avoid pipe2() completely.
10389
10390    Thanks to Michael Fox for the bug report.
10391
10392 configure.ac     | 4 ++--
10393 src/xz/file_io.c | 9 +--------
10394 2 files changed, 3 insertions(+), 10 deletions(-)
10395
10396commit fc0df0f8db87dff45543708a711e17d29c37f632
10397Author: Lasse Collin <lasse.collin@tukaani.org>
10398Date:   2015-04-01 14:45:25 +0300
10399
10400    xz: Fix the Capsicum rights on user_abort_pipe.
10401
10402 src/xz/file_io.c | 6 +++++-
10403 1 file changed, 5 insertions(+), 1 deletion(-)
10404
10405commit 57393615b31b3788dd77280452d845bcc12d33af
10406Author: Lasse Collin <lasse.collin@tukaani.org>
10407Date:   2015-03-31 22:20:11 +0300
10408
10409    Update THANKS.
10410
10411 THANKS | 1 +
10412 1 file changed, 1 insertion(+)
10413
10414commit 1238381143a9a7ce84839c2582ccd56ff750a440
10415Author: Lasse Collin <lasse.collin@tukaani.org>
10416Date:   2015-03-31 22:19:34 +0300
10417
10418    xz: Add support for sandboxing with Capsicum.
10419
10420    The sandboxing is used conditionally as described in main.c.
10421    This isn't optimal but it was much easier to implement than
10422    a full sandboxing solution and it still covers the most common
10423    use cases where xz is writing to standard output. This should
10424    have practically no effect on performance even with small files
10425    as fork() isn't needed.
10426
10427    C and locale libraries can open files as needed. This has been
10428    fine in the past, but it's a problem with things like Capsicum.
10429    io_sandbox_enter() tries to ensure that various locale-related
10430    files have been loaded before cap_enter() is called, but it's
10431    possible that there are other similar problems which haven't
10432    been seen yet.
10433
10434    Currently Capsicum is available on FreeBSD 10 and later
10435    and there is a port to Linux too.
10436
10437    Thanks to Loganaden Velvindron for help.
10438
10439 configure.ac       | 41 +++++++++++++++++++++++++++
10440 src/xz/Makefile.am |  2 +-
10441 src/xz/file_io.c   | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
10442 src/xz/file_io.h   |  6 ++++
10443 src/xz/main.c      | 18 ++++++++++++
10444 src/xz/private.h   |  4 +++
10445 6 files changed, 151 insertions(+), 1 deletion(-)
10446
10447commit 29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e
10448Author: Lasse Collin <lasse.collin@tukaani.org>
10449Date:   2015-03-31 21:12:30 +0300
10450
10451    Fix bugs and otherwise improve ax_check_capsicum.m4.
10452
10453    AU_ALIAS was removed because the new version is incompatible
10454    with the old version.
10455
10456    It no longer checks for <sys/capability.h> separately.
10457    It's enough to test for it as part of AC_CHECK_DECL.
10458    The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and
10459    HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded.
10460    HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough.
10461
10462    It no longer does a useless search for the Capsicum library
10463    if the header wasn't found.
10464
10465    Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying
10466    the argument omitted the default action but the given action
10467    wasn't used instead.
10468
10469    AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum
10470    support is found. Previously it was part of the default
10471    ACTION-IF-FOUND which a custom action would override. Now
10472    the default action only prepends ${CAPSICUM_LIB} to LIBS.
10473
10474    The documentation was updated.
10475
10476    Since there as no serial number, "#serial 2" was added.
10477
10478 m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------
10479 1 file changed, 51 insertions(+), 52 deletions(-)
10480
10481commit 6e845c6a3eddf2fde9db5a29950421dff60a43ac
10482Author: Lasse Collin <lasse.collin@tukaani.org>
10483Date:   2015-03-31 19:20:24 +0300
10484
10485    Add m4/ax_check_capsicum.m4 for detecting Capsicum support.
10486
10487    The file was loaded from this web page:
10488    https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4
10489
10490    Thanks to Loganaden Velvindron for pointing it out for me.
10491
10492 m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
10493 1 file changed, 86 insertions(+)
10494
10495commit 3717885f9ef2c06f1bcbad9f4c2ed2d5695f844e
10496Author: Lasse Collin <lasse.collin@tukaani.org>
10497Date:   2015-03-30 22:44:02 +0300
10498
10499    Bump version to 5.3.0alpha and soname to 5.3.99.
10500
10501    The idea of 99 is that it looks a bit weird in this context.
10502    For new features there's no API/ABI stability in devel versions.
10503
10504 src/liblzma/Makefile.am        | 2 +-
10505 src/liblzma/api/lzma/version.h | 6 +++---
10506 2 files changed, 4 insertions(+), 4 deletions(-)
10507
10508commit eccd8155e107c5ada03d13e7730675cdf1a44ddc
10509Author: Lasse Collin <lasse.collin@tukaani.org>
10510Date:   2015-03-29 22:14:47 +0300
10511
10512    Update THANKS.
10513
10514 THANKS | 1 +
10515 1 file changed, 1 insertion(+)
10516
10517commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00
10518Author: Lasse Collin <lasse.collin@tukaani.org>
10519Date:   2015-03-29 22:13:48 +0300
10520
10521    Fix the detection of installed RAM on QNX.
10522
10523    The earlier version compiled but didn't actually work
10524    since sysconf(_SC_PHYS_PAGES) always fails (or so I was told).
10525
10526    Thanks to Ole André Vadla Ravnås for the patch and testing.
10527
10528 m4/tuklib_physmem.m4        |  6 +++---
10529 src/common/tuklib_physmem.c | 14 +++++++++++++-
10530 2 files changed, 16 insertions(+), 4 deletions(-)
10531
10532commit 4c544d2410903d38402221cb783ed85585b6a007
10533Author: Lasse Collin <lasse.collin@tukaani.org>
10534Date:   2015-03-27 22:39:07 +0200
10535
10536    Fix CPU core count detection on QNX.
10537
10538    It tried to use sysctl() on QNX but
10539      - it broke the build because sysctl() needs -lsocket on QNX;
10540      - sysctl() doesn't work for detecting the core count on QNX
10541        even if it compiled.
10542
10543    sysconf() works. An alternative would have been to use
10544    QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>.
10545
10546    Thanks to Ole André Vadla Ravnås.
10547
10548 m4/tuklib_cpucores.m4 | 15 +++++++++++----
10549 1 file changed, 11 insertions(+), 4 deletions(-)
10550
10551commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3
10552Author: Lasse Collin <lasse.collin@tukaani.org>
10553Date:   2015-03-07 22:05:57 +0200
10554
10555    xz: size_t/uint32_t cleanup in options.c.
10556
10557 src/xz/options.c | 12 ++++++------
10558 1 file changed, 6 insertions(+), 6 deletions(-)
10559
10560commit 8bcca29a65335fd679c13814b70b35b68fa5daed
10561Author: Lasse Collin <lasse.collin@tukaani.org>
10562Date:   2015-03-07 22:04:23 +0200
10563
10564    xz: Fix a comment and silence a warning in message.c.
10565
10566 src/xz/message.c | 5 +++--
10567 1 file changed, 3 insertions(+), 2 deletions(-)
10568
10569commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b
10570Author: Lasse Collin <lasse.collin@tukaani.org>
10571Date:   2015-03-07 22:01:00 +0200
10572
10573    liblzma: Silence more uint32_t vs. size_t warnings.
10574
10575 src/liblzma/lz/lz_encoder.c     | 2 +-
10576 src/liblzma/lzma/lzma_encoder.c | 2 +-
10577 2 files changed, 2 insertions(+), 2 deletions(-)
10578
10579commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34
10580Author: Lasse Collin <lasse.collin@tukaani.org>
10581Date:   2015-03-07 19:54:00 +0200
10582
10583    xz: Make arg_count an unsigned int to silence a warning.
10584
10585    Actually the value of arg_count cannot exceed INT_MAX
10586    but it's nicer as an unsigned int.
10587
10588 src/xz/args.h | 2 +-
10589 src/xz/main.c | 2 +-
10590 2 files changed, 2 insertions(+), 2 deletions(-)
10591
10592commit f6ec46801588b1be29c07c9db98558b521304002
10593Author: Lasse Collin <lasse.collin@tukaani.org>
10594Date:   2015-03-07 19:33:17 +0200
10595
10596    liblzma: Fix a warning in index.c.
10597
10598 src/liblzma/common/index.c | 4 +++-
10599 1 file changed, 3 insertions(+), 1 deletion(-)
10600
10601commit a24518971cc621315af142dd3bb7614fab04ad27
10602Author: Lasse Collin <lasse.collin@tukaani.org>
10603Date:   2015-02-26 20:46:14 +0200
10604
10605    Build: Fix a CR+LF problem when running autoreconf -fi on OS/2.
10606
10607 build-aux/version.sh | 2 +-
10608 1 file changed, 1 insertion(+), 1 deletion(-)
10609
10610commit dec11497a71518423b5ff0e759100cf8aadf6c7b
10611Author: Lasse Collin <lasse.collin@tukaani.org>
10612Date:   2015-02-26 16:53:44 +0200
10613
10614    Bump version and soname for 5.2.1.
10615
10616 src/liblzma/Makefile.am        | 2 +-
10617 src/liblzma/api/lzma/version.h | 2 +-
10618 2 files changed, 2 insertions(+), 2 deletions(-)
10619
10620commit 29e39c79975ab89ee5dd671e97064534a9f3a649
10621Author: Lasse Collin <lasse.collin@tukaani.org>
10622Date:   2015-02-26 13:01:09 +0200
10623
10624    Update NEWS for 5.2.1.
10625
10626 NEWS | 14 ++++++++++++++
10627 1 file changed, 14 insertions(+)
10628
10629commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd
10630Author: Lasse Collin <lasse.collin@tukaani.org>
10631Date:   2015-02-22 19:38:48 +0200
10632
10633    xz: Use pipe2() if available.
10634
10635 configure.ac     | 4 ++--
10636 src/xz/file_io.c | 9 ++++++++-
10637 2 files changed, 10 insertions(+), 3 deletions(-)
10638
10639commit 117d962685c72682c63edc9bb765367189800202
10640Author: Lasse Collin <lasse.collin@tukaani.org>
10641Date:   2015-02-21 23:40:26 +0200
10642
10643    liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode.
10644
10645    The bug was added in the commit
10646    f48fce093b07aeda95c18850f5e086d9f2383380 and thus
10647    affected 5.1.4beta and 5.2.0. Luckily the bug cannot
10648    cause data corruption or other nasty things.
10649
10650 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +-
10651 1 file changed, 1 insertion(+), 1 deletion(-)
10652
10653commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719
10654Author: Lasse Collin <lasse.collin@tukaani.org>
10655Date:   2015-02-21 23:00:19 +0200
10656
10657    xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick.
10658
10659    Now it reads the old flags instead of blindly setting O_NONBLOCK.
10660    The old code may have worked correctly, but this is better.
10661
10662 src/xz/file_io.c | 16 +++++++++++-----
10663 1 file changed, 11 insertions(+), 5 deletions(-)
10664
10665commit 2205bb5853098aea36a56df6f5747037175f66b4
10666Author: Lasse Collin <lasse.collin@tukaani.org>
10667Date:   2015-02-10 15:29:34 +0200
10668
10669    Update THANKS.
10670
10671 THANKS | 1 +
10672 1 file changed, 1 insertion(+)
10673
10674commit d935b0cdf3db440269b9d952b2b281b18f8c7b08
10675Author: Lasse Collin <lasse.collin@tukaani.org>
10676Date:   2015-02-10 15:28:30 +0200
10677
10678    tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available.
10679
10680    In FreeBSD, cpuset_getaffinity() is the preferred way to get
10681    the number of available cores.
10682
10683    Thanks to Rui Paulo for the patch. I edited it slightly, but
10684    hopefully I didn't break anything.
10685
10686 m4/tuklib_cpucores.m4        | 23 ++++++++++++++++++++++-
10687 src/common/tuklib_cpucores.c | 18 ++++++++++++++++++
10688 2 files changed, 40 insertions(+), 1 deletion(-)
10689
10690commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560
10691Author: Lasse Collin <lasse.collin@tukaani.org>
10692Date:   2015-02-09 22:08:37 +0200
10693
10694    xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp.
10695
10696    Thanks to Rui Paulo for the fix.
10697
10698 src/scripts/xzdiff.in | 7 ++++++-
10699 1 file changed, 6 insertions(+), 1 deletion(-)
10700
10701commit b9a5b6b7a29029680af733082b6a46e0fc01623a
10702Author: Lasse Collin <lasse.collin@tukaani.org>
10703Date:   2015-02-03 21:45:53 +0200
10704
10705    Add a few casts to tuklib_integer.h to silence possible warnings.
10706
10707    I heard that Visual Studio 2013 gave warnings without the casts.
10708
10709    Thanks to Gabi Davar.
10710
10711 src/common/tuklib_integer.h | 24 ++++++++++++------------
10712 1 file changed, 12 insertions(+), 12 deletions(-)
10713
10714commit c45757135f40e4a0de730ba5fff0100219493982
10715Author: Lasse Collin <lasse.collin@tukaani.org>
10716Date:   2015-01-26 21:24:39 +0200
10717
10718    liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method.
10719
10720 src/liblzma/common/memcmplen.h | 15 ++++++++++-----
10721 1 file changed, 10 insertions(+), 5 deletions(-)
10722
10723commit 3c500174ed5485f550972a2a6109c361e875f069
10724Author: Lasse Collin <lasse.collin@tukaani.org>
10725Date:   2015-01-26 20:40:16 +0200
10726
10727    Update THANKS.
10728
10729 THANKS | 1 +
10730 1 file changed, 1 insertion(+)
10731
10732commit fec88d41e672d9e197c9442aecf02bd0dfa6d516
10733Author: Lasse Collin <lasse.collin@tukaani.org>
10734Date:   2015-01-26 20:39:28 +0200
10735
10736    liblzma: Silence harmless Valgrind errors.
10737
10738    Thanks to Torsten Rupp for reporting this. I had
10739    forgotten to run Valgrind before the 5.2.0 release.
10740
10741 src/liblzma/lz/lz_encoder.c | 6 ++++++
10742 1 file changed, 6 insertions(+)
10743
10744commit a9b45badfec0928d20a27c7176c005fa637f7d1e
10745Author: Lasse Collin <lasse.collin@tukaani.org>
10746Date:   2015-01-09 21:50:19 +0200
10747
10748    xz: Fix comments.
10749
10750 src/xz/file_io.c | 12 ++++++++----
10751 1 file changed, 8 insertions(+), 4 deletions(-)
10752
10753commit 541aee6dd4aa97a809aba281475a21b641bb89e2
10754Author: Lasse Collin <lasse.collin@tukaani.org>
10755Date:   2015-01-09 21:35:06 +0200
10756
10757    Update THANKS.
10758
10759 THANKS | 1 +
10760 1 file changed, 1 insertion(+)
10761
10762commit 4170edc914655310d2363baccf5e615e09b04911
10763Author: Lasse Collin <lasse.collin@tukaani.org>
10764Date:   2015-01-09 21:34:06 +0200
10765
10766    xz: Don't fail if stdout doesn't support O_NONBLOCK.
10767
10768    This is similar to the case with stdin.
10769
10770    Thanks to Brad Smith for the bug report and testing
10771    on OpenBSD.
10772
10773 src/xz/file_io.c | 36 +++++++++++++++---------------------
10774 1 file changed, 15 insertions(+), 21 deletions(-)
10775
10776commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d
10777Author: Lasse Collin <lasse.collin@tukaani.org>
10778Date:   2015-01-07 19:18:20 +0200
10779
10780    xz: Fix a memory leak in DOS-specific code.
10781
10782 src/xz/file_io.c | 2 ++
10783 1 file changed, 2 insertions(+)
10784
10785commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea
10786Author: Lasse Collin <lasse.collin@tukaani.org>
10787Date:   2015-01-07 19:08:06 +0200
10788
10789    xz: Don't fail if stdin doesn't support O_NONBLOCK.
10790
10791    It's a problem at least on OpenBSD which doesn't support
10792    O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's
10793    a problem on other OSes too since this behavior is allowed
10794    in POSIX-1.2008.
10795
10796    The code relying on this behavior was committed in June 2013
10797    and included in 5.1.3alpha released on 2013-10-26. Clearly
10798    the development releases only get limited testing.
10799
10800 src/xz/file_io.c | 18 +++++++-----------
10801 1 file changed, 7 insertions(+), 11 deletions(-)
10802
10803commit d2d484647d9d9d679f03c75abb0404f67069271c
10804Author: Lasse Collin <lasse.collin@tukaani.org>
10805Date:   2015-01-06 20:30:15 +0200
10806
10807    Tests: Don't hide unexpected error messages in test_files.sh.
10808
10809    Hiding them makes no sense since normally there's no error
10810    when testing the "good" files. With "bad" files errors are
10811    expected and then it makes sense to keep the messages hidden.
10812
10813 tests/test_files.sh | 4 ++--
10814 1 file changed, 2 insertions(+), 2 deletions(-)
10815
10816commit aae6a6aeda51cf94a47e39ad624728f9bee75e30
10817Author: Lasse Collin <lasse.collin@tukaani.org>
10818Date:   2014-12-30 11:17:16 +0200
10819
10820    Update Solaris notes in INSTALL.
10821
10822    Mention the possible "make check" failure on Solaris in the
10823    Solaris-specific section of INSTALL. It was already in
10824    section 4.5 but it is better mention it in the OS-specific
10825    section too.
10826
10827 INSTALL | 4 ++++
10828 1 file changed, 4 insertions(+)
10829
10830commit 7815112153178800a3521b9f31960e7cdc26cfba
10831Author: Lasse Collin <lasse.collin@tukaani.org>
10832Date:   2014-12-26 12:00:05 +0200
10833
10834    Build: POSIX shell isn't required if scripts are disabled.
10835
10836 INSTALL      | 3 ++-
10837 configure.ac | 2 +-
10838 2 files changed, 3 insertions(+), 2 deletions(-)
10839
10840commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
10841Author: Lasse Collin <lasse.collin@tukaani.org>
10842Date:   2014-12-21 20:48:37 +0200
10843
10844    DOS: Update Makefile.
10845
10846 dos/Makefile | 1 +
10847 1 file changed, 1 insertion(+)
10848
10849commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e
10850Author: Lasse Collin <lasse.collin@tukaani.org>
10851Date:   2014-12-21 19:50:38 +0200
10852
10853    Windows: Fix bin_i486 to bin_i686 in build.bash.
10854
10855 windows/build.bash | 2 +-
10856 1 file changed, 1 insertion(+), 1 deletion(-)
10857
10858commit cbafa710918195dbba3db02c3fab4f0538235206
10859Author: Lasse Collin <lasse.collin@tukaani.org>
10860Date:   2014-12-21 18:58:44 +0200
10861
10862    Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c.
10863
10864 doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++----
10865 1 file changed, 26 insertions(+), 4 deletions(-)
10866
10867commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a
10868Author: Lasse Collin <lasse.collin@tukaani.org>
10869Date:   2014-12-21 18:56:44 +0200
10870
10871    Docs: Update docs/examples/00_README.txt.
10872
10873 doc/examples/00_README.txt | 4 ++++
10874 1 file changed, 4 insertions(+)
10875
10876commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6
10877Author: Lasse Collin <lasse.collin@tukaani.org>
10878Date:   2014-12-21 18:11:17 +0200
10879
10880    Bump version and soname for 5.2.0.
10881
10882    I know that soname != app version, but I skip AGE=1
10883    in -version-info to make the soname match the liblzma
10884    version anyway. It doesn't hurt anything as long as
10885    it doesn't conflict with library versioning rules.
10886
10887 src/liblzma/Makefile.am        | 2 +-
10888 src/liblzma/api/lzma/version.h | 6 +++---
10889 src/liblzma/liblzma.map        | 2 +-
10890 3 files changed, 5 insertions(+), 5 deletions(-)
10891