From e74d15e54c99ce6d8210d28d68732ec61e924c72 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 25 Jan 2021 14:46:29 +0100 Subject: Merging upstream version 1.22. Signed-off-by: Daniel Baumann --- ChangeLog | 167 +++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 90 insertions(+), 77 deletions(-) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 8635cc7..b9cdf07 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,31 +1,48 @@ +2021-01-04 Antonio Diaz Diaz + + * Version 1.22 released. + * main.cc (main): Report an error if a file name is empty. + Make '-o' behave like '-c', but writing to file instead of stdout. + Make '-c' and '-o' check whether the output is a terminal only once. + Do not open output if input is a terminal. + * configure: Build, check, and install without 'make'. + * Replace 'decompressed', 'compressed' with 'out', 'in' in output. + * lzip_index.cc: Improve messages for corruption in last header. + * main.cc: Set a valid invocation_name even if argc == 0. + * Document extraction from tar.lz in manual, '--help', and man page. + * lzip.texi (Introduction): Mention plzip and tarlz as alternatives. + * lzip.texi: Several fixes and improvements. + * testsuite: Add 9 new test files. + 2019-01-03 Antonio Diaz Diaz * Version 1.21 released. - * File_* renamed to Lzip_*. + * Rename File_* to Lzip_*. * lzip.h (Lzip_trailer): New function 'verify_consistency'. * lzip_index.cc: Detect some kinds of corrupt trailers. * main.cc (main): Check return value of close( infd ). * main.cc: Compile on DOS with DJGPP. - * lzip.texi: Improved description of '-0..-9', '-m' and '-s'. + * Fix a GCC warning about catching std::bad_alloc by value. + * lzip.texi: Improve description of '-0..-9', '-m', and '-s'. * configure: Accept appending to CXXFLAGS, 'CXXFLAGS+=OPTIONS'. * INSTALL: Document use of CXXFLAGS+='-D __USE_MINGW_ANSI_STDIO'. 2018-02-11 Antonio Diaz Diaz * Version 1.20 released. - * Added new option '--loose-trailing'. - * Improved corrupt header detection to HD=3. + * New option '--loose-trailing'. + * Improve corrupt header detection to HD=3. * main.cc: Show corrupt or truncated header in multimember file. * main.cc (main): Option '-S, --volume-size' now keeps input files. * encoder_base.*: Adjust dictionary size for each member. - * Replaced 'bits/byte' with inverse compression ratio in output. + * Replace 'bits/byte' with inverse compression ratio in output. * Show progress of decompression at verbosity level 2 (-vv). * Show progress of (de)compression only if stderr is a terminal. * main.cc: Show final diagnostic when testing multiple files. - * main.cc: Do not add a second .lz extension to the arg of -o. + * main.cc: Do not add a second extension '.lz' to the arg of '-o'. * decoder.cc (verify_trailer): Show stored sizes also in hex. Show dictionary size at verbosity level 4 (-vvvv). - * lzip.texi: Added chapter 'Output'. + * lzip.texi: New chapter 'Meaning of lzip's output'. 2017-04-13 Antonio Diaz Diaz @@ -36,20 +53,20 @@ * Decompression time has been reduced by 2%. * main.cc: Continue testing if any input file is a terminal. * main.cc: Show trailing data in both hexadecimal and ASCII. - * encoder.cc (Matchfinder_base): Verify size passed to new. + * encoder.cc (Matchfinder_base): Verify the size passed to new. * lzip_index.cc: Improve detection of bad dict and trailing data. - * lzip.h: Unified messages for bad magic, trailing data, etc. + * lzip.h: Unify messages for bad magic, trailing data, etc. 2016-05-14 Antonio Diaz Diaz * Version 1.18 released. - * Added new option '-a, --trailing-error'. + * New option '-a, --trailing-error'. * Decompression time has been reduced by 2%. - * decoder.cc (verify_trailer): Removed test of final code. + * decoder.cc (verify_trailer): Remove test of final code. * main.cc (main): Delete '--output' file if infd is a terminal. * main.cc (main): Don't use stdin more than once. - * Removed decompression support for version 0 files. - * lzip.texi: Added chapter 'Trailing data'. + * Remove decompression support for version 0 files. + * lzip.texi: New chapter 'Trailing data'. * configure: Avoid warning on some shells when testing for g++. * Makefile.in: Detect the existence of install-info. * check.sh: A POSIX shell is required to run the tests. @@ -59,8 +76,8 @@ * Version 1.17 released. * Reorganization of the compression code. - * lzip.texi: Added chapter 'Quality assurance'. - * Makefile.in: Added new targets 'install*-compress'. + * lzip.texi: New chapter 'Quality assurance'. + * Makefile.in: New targets 'install*-compress'. 2014-08-26 Antonio Diaz Diaz @@ -70,8 +87,8 @@ * Compression time of option '-0' has been reduced by 2%. * main.cc (close_and_set_permissions): Behave like 'cp -p'. * Minor improvements. - * lzip.texinfo: Renamed to lzip.texi. - * License changed to GPL version 2 or later. + * lzip.texinfo: Rename to lzip.texi. + * Change license to GPL version 2 or later. 2013-09-20 Antonio Diaz Diaz @@ -80,7 +97,7 @@ * main.cc (show_header): Don't show header version. * Ignore option '-n, --threads' for compatibility with plzip. * configure: Options now accept a separate argument. - * lzip.texinfo: Added chapter 'Stream format' and appendix + * lzip.texinfo: New chapter 'Stream format' and appendix 'Reference source code'. 2013-02-17 Antonio Diaz Diaz @@ -90,7 +107,7 @@ * Compression ratio has been slightly increased. * Compression time has been reduced by 5%. * Decompression time has been reduced by 12%. - * Makefile.in: Added new target 'install-bin'. + * Makefile.in: New target 'install-bin'. * main.cc: Use 'setmode' instead of '_setmode' on Windows and OS/2. * main.cc: Define 'strtoull' to 'std::strtoul' on Windows. @@ -103,21 +120,20 @@ * Compression time of option '-0' has been reduced by 2%. * Reorganization of the compression code. * Small change in '--help' output and man page. - * Changed quote characters in messages as advised by GNU Standards. - * configure: 'datadir' renamed to 'datarootdir'. + * Change quote characters in messages as advised by GNU Standards. + * configure: Rename 'datadir' to 'datarootdir'. * 'unzcrash.cc' has been moved to package 'lziprecover'. 2011-04-30 Antonio Diaz Diaz * Version 1.12 released. - * Added new option '-F, --recompress'. + * New option '-F, --recompress'. * encoder.h (update_prices): Update high length symbol prices independently of the value of 'pos_state'. This gives better compression for large values of '--match-length' without being slower. - * encoder.h encoder.cc: Optimize pair price calculations. This - reduces compression time for large values of '--match-length' - by up to 6%. + * encoder.h, encoder.cc: Optimize pair price calculations, reducing + compression time for large values of '--match-length' by up to 6%. * Compression time of option '-0' has been reduced by 2%. * main.cc (decompress): Print only one status line for each multimember file when only one '-v' is specified. @@ -127,41 +143,39 @@ " and '--stdout' was not specified" for directories, etc. * lziprecover.cc: If '-v' is not specified show errors only. * unzcrash.cc: Use Arg_parser. - * unzcrash.cc: Added new option '-b, --bits'. - * unzcrash.cc: Added new option '-p, --position'. - * unzcrash.cc: Added new option '-s, --size'. + * unzcrash.cc: New options '-b, --bits', '-p, --position', and + '-s, --size'. 2010-09-16 Antonio Diaz Diaz * Version 1.11 released. - * Added new option '-0' which produces a compression speed and ratio + * New option '-0', which produces a compression speed and ratio comparable to those of 'gzip -9'. - * fast_encoder.h fast_encoder.cc: New files. + * fast_encoder.h, fast_encoder.cc: New files. * main.cc: Match length limit set by options -1 to -8 has been reduced to extend range of use towards gzip. Lower numbers now compress less but faster. (-1 now takes 43% less time for only 20% larger compressed size). + Exit with status 1 if any output file exists and is skipped. * Compression ratio of option '-9' has been slightly increased. - * lziprecover.cc: Added new option '-m, --merge' which tries to - produce a correct file merging the good parts of two or more - damaged copies. - * lziprecover.cc: Added new option '-R, --repair' for repairing a + * lziprecover.cc: New option '-m, --merge', which tries to produce a + correct file by merging the good parts of two or more damaged copies. + * lziprecover.cc: New option '-R, --repair' for repairing a 1-byte error in single-member files. * decoder.cc (decode_member): Detect file errors earlier to improve efficiency of lziprecover's new repair capability. This change also prevents (harmless) access to uninitialized memory when decompressing a corrupt file. - * lziprecover.cc: Added new option '-f, --force'. - * lziprecover.cc: Added new option '-o, --output'. - * lziprecover.cc: Added new option '-s, --split' to select the until + * lziprecover.cc: New options '-f, --force' and '-o, --output'. + * lziprecover.cc: New option '-s, --split' to select the until now only operation of splitting multimember files. * lziprecover.cc: If no operation is specified, warn the user and do nothing. - * main.cc: Fixed warning about fchown's return value being ignored. + * main.cc: Fix warning about fchown's return value being ignored. * decoder.cc: '-tvvvv' now also shows compression ratio. * main.cc: Set stdin/stdout in binary mode on MSVC and OS2. - * lzip.texinfo: Added new examples. - * testsuite: 'test1' renamed to 'test.txt'. Added new tests. + * lzip.texinfo: New examples. + * testsuite: Rename 'test1' to 'test.txt'. New tests. * Matchfinder types HC4 (4 bytes hash-chain) and HT4 (4 bytes hash-table) have been tested and found no better than the current BT4. @@ -175,14 +189,14 @@ * main.cc: New constant 'o_binary'. * main.cc: Dictionary size for options -2, -3, -4 and -8 has been changed to improve linearity of compressed sizes. - * lzip.h: Fixed warnings produced by over-optimization (-O3). - * Makefile.in: Added quotes to directory names. + * lzip.h: Fix warnings produced by over-optimization (-O3). + * Makefile.in: Add quotes to directory names. 2010-01-17 Antonio Diaz Diaz * Version 1.9 released. * main.cc (main): Return at least 1 if closing stdout fails. - * Makefile.in: Added '--name' option to help2man invocation. + * Makefile.in: Add option '--name' to help2man invocation. * check.sh: Use 'test1' instead of 'COPYING' for testing. 2009-09-02 Antonio Diaz Diaz @@ -190,41 +204,41 @@ * Version 1.8 released. * Compression time has been reduced by 4%. * Lzdiff and lzgrep have been moved to the new package zutils. - * Fixed warnings on systems where uint32_t != unsigned int. + * Fix warnings on systems where uint32_t != unsigned int. 2009-06-25 Antonio Diaz Diaz * Version 1.7 released. - * decoder.h (copy_block): Fixed memcpy overlap introduced in 1.6. + * decoder.h (copy_block): Fix memcpy overlap introduced in 1.6. 2009-06-22 Antonio Diaz Diaz * Version 1.6 released. * Decompression time has been reduced by 17%. - * Added decompression support for Sync Flush marker. - * Added support for .tbz extension to lzdiff and lzgrep. - * Added man pages for lzdiff, lzgrep and lziprecover. + * Add decompression support for Sync Flush marker. + * Add support for the extension '.tbz' to lzdiff and lzgrep. + * Add man pages for lzdiff, lzgrep and lziprecover. * encoder.cc (Matchfinder): Reduce memory use to 9x if input file is smaller than dictionary size limit. - * decoder.cc: Added extra flush calls to improve partial - decompression of corrupt files. + * decoder.cc: Add extra flush calls to improve partial decompression + of corrupt files. * '--test' no longer needs '/dev/null'. - * Removed some 'bashisms' from lzdiff and lzgrep. + * Remove some 'bashisms' from lzdiff and lzgrep. * Dictionary size for options '-1' to '-4' has been changed. - * main.cc (signal_handler): Declared as 'extern "C"'. + * main.cc (signal_handler): Declare as 'extern "C"'. * Makefile.in: Extra files are now installed by default. * check.sh: Test lziprecover. - * Added 'export LC_ALL=C' to all scripts. + * Add 'export LC_ALL=C' to all scripts. 2009-04-12 Antonio Diaz Diaz * Version 1.5 released. - * lzip.h: Coded dictionary size implemented in Lzip_header. - * Fixed some includes that prevented compilation with GCC 4.4. + * lzip.h: Implement coded dictionary size in Lzip_header. + * Fix some includes that prevented compilation with GCC 4.4. * 'member_size' and 'volume_size' are now accurate limits. * Compression speed has been improved. - * Implemented bt4 type matchfinder. - * lzip.texinfo: Added chapter 'Algorithm'. + * Implement bt4 type matchfinder. + * lzip.texinfo: New chapter 'Algorithm'. * Lzdiff and lzgrep now accept '-h' for '--help' and '-V' for '--version'. * Makefile.in: Man page is now installed by default. @@ -233,12 +247,11 @@ 2009-01-24 Antonio Diaz Diaz * Version 1.4 released. - * Implemented compression of version 1 files. - * Added new option '-b, --member-size'. - * Added new option '-S, --volume-size'. - * Added new option '-o, --output'. - * main.cc: Read from non regular files if '--stdout' is specified. - * Added 'lziprecover', a member recoverer program. + * Implement compression of version 1 files. + * New options '-b, --member-size', '-S, --volume-size', and + '-o, --output'. + * main.cc: Read from non-regular files if '--stdout' is specified. + * Add 'lziprecover', a member recoverer program. * unzcrash.cc: Test all 1-byte errors. 2008-12-21 Antonio Diaz Diaz @@ -247,8 +260,8 @@ * This version automatically chooses the smallest possible dictionary size for each file during compression, saving memory during decompression. - * Implemented decompression of version 1 files. - * check.sh: Replaced 'diff -q' with 'cmp'. + * Implement decompression of version 1 files. + * check.sh: Replace 'diff -q' with 'cmp'. 2008-12-10 Antonio Diaz Diaz @@ -256,18 +269,18 @@ * encoder.cc: A 1-byte read outside allocated memory has been fixed. * lzip.h: Dictionary size limit has been reduced to 512MiB because setting it to 1GiB causes overflow of a 32 bit integer. - * Added 'lzdiff', a diff/cmp wrapper for gzip, bzip2, lzip and + * Add 'lzdiff', a diff/cmp wrapper for gzip, bzip2, lzip and non-compressed files. - * Added 'lzgrep', a grep wrapper for gzip, bzip2, lzip and + * Add 'lzgrep', a grep wrapper for gzip, bzip2, lzip and non-compressed files. * 'make install-info' should now work on Debian and OS X. 2008-11-17 Antonio Diaz Diaz * Version 1.1 released. - * Changed short name of option '--dictionary-size' to '-s'. - * Changed short name of option '--match-length' to '-m'. - * Changed LONG_LONG_MAX to LLONG_MAX. + * Change short name of option '--dictionary-size' to '-s'. + * Change short name of option '--match-length' to '-m'. + * Change LONG_LONG_MAX to LLONG_MAX. 2008-10-14 Antonio Diaz Diaz @@ -283,14 +296,14 @@ * Version 0.4 released. * Code cleanup for global variable 'verbosity'. - * Regained the compression ratio of 0.2 with 5% faster speed. - * Fixed compilation on systems where size_t != unsigned int. + * Regain the compression ratio of 0.2 with 5% faster speed. + * lzip.h: Fix compilation on systems where size_t != unsigned int. 2008-09-15 Antonio Diaz Diaz * Version 0.3 released. * encoder.cc: Compression is now 15% faster, 1% worse. - * main.cc (main): Make '-t' option override '-c'. + * main.cc (main): Make option '-t' override '-c'. * main.cc (decompress): Show 'done' instead of 'ok' when not testing. * encoder.h: Use trials[] to return the list of pairs. @@ -305,8 +318,8 @@ * Version 0.1 released. -Copyright (C) 2008-2019 Antonio Diaz Diaz. +Copyright (C) 2008-2021 Antonio Diaz Diaz. -This file is a collection of facts, and thus it is not copyrightable, but -just in case, you have unlimited permission to copy, distribute and modify -it. +This file is a collection of facts, and thus it is not copyrightable, +but just in case, you have unlimited permission to copy, distribute, and +modify it. -- cgit v1.2.3