From 2a7c0444ca9f1dfca772c4f694d4501c69e62632 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 7 Nov 2015 15:05:37 +0100 Subject: Merging upstream version 1.6. Signed-off-by: Daniel Baumann --- ChangeLog | 35 +++++++---------------------------- INSTALL | 6 +++--- README | 7 ++++++- bbexample.c | 2 +- carg_parser.c | 3 +-- carg_parser.h | 3 +-- cbuffer.c | 4 ++-- configure | 10 +++++----- decoder.c | 4 ++-- decoder.h | 4 ++-- doc/lzlib.info | 41 +++++++++++++++++++++++++---------------- doc/lzlib.texi | 20 ++++++++++++++------ doc/minilzip.1 | 8 ++++---- encoder.c | 4 ++-- encoder.h | 8 ++------ lzcheck.c | 2 +- lzip.h | 4 ++-- lzlib.c | 10 +++++----- lzlib.h | 6 +++--- main.c | 2 +- testsuite/check.sh | 2 +- testsuite/test.txt.lz | Bin 7392 -> 7376 bytes 22 files changed, 90 insertions(+), 95 deletions(-) diff --git a/ChangeLog b/ChangeLog index 26ba533..6e284b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,35 +1,14 @@ -2014-06-19 Antonio Diaz Diaz +2014-08-27 Antonio Diaz Diaz - * Version 1.6-rc2 released. - * License changed to "GPL version 2 or later with link exception". - -2014-05-06 Antonio Diaz Diaz - - * Version 1.6-rc1 released. - * Compression ratio of option -9 has been slightly increased. - -2014-04-25 Antonio Diaz Diaz - - * Version 1.6-pre4 released. - * Makefile.in: Use 'CFLAGS' in every invocation of 'CC'. - -2014-03-30 Antonio Diaz Diaz - - * Version 1.6-pre3 released. + * Version 1.6 released. * Compression ratio of option -9 has been slightly increased. * configure: Added new option '--disable-static'. - -2014-01-30 Antonio Diaz Diaz - - * Version 1.6-pre2 released. - * main.c (close_and_set_permissions): Behave like 'cp -p'. - * lzlib.texinfo: Renamed to lzlib.texi. - -2013-10-07 Antonio Diaz Diaz - - * Version 1.6-pre1 released. * configure: Added new option '--disable-ldconfig'. * Makefile.in: Ignore errors from ldconfig. + * Makefile.in: Use 'CFLAGS' in every invocation of 'CC'. + * main.c (close_and_set_permissions): Behave like 'cp -p'. + * lzlib.texinfo: Renamed to lzlib.texi. + * License changed to "GPL version 2 or later with link exception". 2013-09-15 Antonio Diaz Diaz @@ -167,7 +146,7 @@ * Version 0.1 released. -Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +Copyright (C) 2009-2014 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 diff --git a/INSTALL b/INSTALL index 0e778fe..706902b 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ Requirements ------------ You will need a C compiler. -I use gcc 4.8.1 and 3.3.6, but the code should compile with any +I use gcc 4.9.1 and 3.3.6, but the code should compile with any standards compliant compiler. Gcc is available at http://gcc.gnu.org. @@ -32,7 +32,7 @@ the main archive. 5. Type 'make install' to install the library and any data files and documentation. (You might have to run ldconfig also). - You can install only the library, the info manual or the man page + You can install only the library, the info manual or the man page by typing 'make install-bin', 'make install-info' or 'make install-man' respectively. @@ -58,7 +58,7 @@ After running 'configure', you can run 'make' and 'make install' as explained above. -Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +Copyright (C) 2009-2014 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute and modify it. diff --git a/README b/README index caa8c2f..65a8573 100644 --- a/README +++ b/README @@ -24,6 +24,11 @@ into account both data integrity and decoder availability: * Additionally lzip is copylefted, which guarantees that it will remain free forever. +A nice feature of the lzip format is that a corrupt byte is easier to +repair the nearer it is from the beginning of the file. Therefore, with +the help of lziprecover, losing an entire archive just because of a +corrupt byte near the beginning is a thing of the past. + The functions and variables forming the interface of the compression library are declared in the file 'lzlib.h'. Usage examples of the library are given in the files 'main.c' and 'bbexample.c' from the @@ -74,7 +79,7 @@ range encoding), Igor Pavlov (for putting all the above together in LZMA), and Julian Seward (for bzip2's CLI). -Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +Copyright (C) 2009-2014 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute and modify it. diff --git a/bbexample.c b/bbexample.c index da15738..883e636 100644 --- a/bbexample.c +++ b/bbexample.c @@ -1,5 +1,5 @@ /* Buff to buff example - Test program for the lzlib library - Copyright (C) 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. + Copyright (C) 2010-2014 Antonio Diaz Diaz. This program is free software: you have unlimited permission to copy, distribute and modify it. diff --git a/carg_parser.c b/carg_parser.c index c4f88a3..f9c0f08 100644 --- a/carg_parser.c +++ b/carg_parser.c @@ -1,6 +1,5 @@ /* Arg_parser - POSIX/GNU command line argument parser. (C version) - Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 - Antonio Diaz Diaz. + Copyright (C) 2006-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/carg_parser.h b/carg_parser.h index 4215828..b6ba67d 100644 --- a/carg_parser.h +++ b/carg_parser.h @@ -1,6 +1,5 @@ /* Arg_parser - POSIX/GNU command line argument parser. (C version) - Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 - Antonio Diaz Diaz. + Copyright (C) 2006-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/cbuffer.c b/cbuffer.c index 409db19..651bbdd 100644 --- a/cbuffer.c +++ b/cbuffer.c @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/configure b/configure index 8ceb9d9..18f71aa 100755 --- a/configure +++ b/configure @@ -1,12 +1,12 @@ #! /bin/sh -# configure script for Lzlib - Compression library for lzip files -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +# configure script for Lzlib - Compression library for the lzip format +# Copyright (C) 2009-2014 Antonio Diaz Diaz. # # This configure script is free software: you have unlimited permission # to copy, distribute and modify it. pkgname=lzlib -pkgversion=1.6-rc2 +pkgversion=1.6 soversion=1 progname=minilzip progname_static=${progname} @@ -190,8 +190,8 @@ echo "CFLAGS = ${CFLAGS}" echo "LDFLAGS = ${LDFLAGS}" rm -f Makefile cat > Makefile << EOF -# Makefile for Lzlib - Compression library for lzip files -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +# Makefile for Lzlib - Compression library for the lzip format +# Copyright (C) 2009-2014 Antonio Diaz Diaz. # This file was generated automatically by configure. Do not edit. # # This Makefile is free software: you have unlimited permission diff --git a/decoder.c b/decoder.c index a374b52..d2e2ce5 100644 --- a/decoder.c +++ b/decoder.c @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/decoder.h b/decoder.h index 60ddb33..d0e421c 100644 --- a/decoder.h +++ b/decoder.h @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/doc/lzlib.info b/doc/lzlib.info index 2b4aaf7..6814d19 100644 --- a/doc/lzlib.info +++ b/doc/lzlib.info @@ -11,7 +11,7 @@ File: lzlib.info, Node: Top, Next: Introduction, Up: (dir) Lzlib Manual ************ -This manual is for Lzlib (version 1.6-rc2, 19 June 2014). +This manual is for Lzlib (version 1.6, 27 August 2014). * Menu: @@ -29,7 +29,7 @@ This manual is for Lzlib (version 1.6-rc2, 19 June 2014). * Concept index:: Index of concepts - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. + Copyright (C) 2009-2014 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -64,6 +64,11 @@ into account both data integrity and decoder availability: * Additionally lzip is copylefted, which guarantees that it will remain free forever. + A nice feature of the lzip format is that a corrupt byte is easier to +repair the nearer it is from the beginning of the file. Therefore, with +the help of lziprecover, losing an entire archive just because of a +corrupt byte near the beginning is a thing of the past. + The functions and variables forming the interface of the compression library are declared in the file 'lzlib.h'. Usage examples of the library are given in the files 'main.c' and 'bbexample.c' from the @@ -143,7 +148,7 @@ File: lzlib.info, Node: Buffering, Next: Parameter limits, Prev: Library vers Lzlib internal functions need access to a memory chunk at least as large as the dictionary size (sliding window). For efficiency reasons, the input buffer for compression is twice as large as the dictionary size. -Finally, for security reasons, lzlib uses two more internal buffers. +Finally, for safety reasons, lzlib uses two more internal buffers. These are the four buffers used by lzlib, and their guaranteed minimum sizes: @@ -256,7 +261,11 @@ calling 'LZ_compress_errno' before using it. -- Function: int LZ_compress_sync_flush ( struct LZ_Encoder * const ENCODER ) Use this function to make available to 'LZ_compress_read' all the - data already written with the 'LZ_compress_write' function. + data already written with the 'LZ_compress_write' function. First + call 'LZ_compress_read' until it returns 0. Then call + 'LZ_compress_sync_flush'. Finally, call 'LZ_compress_read' again + to read the remaining data. + Repeated use of 'LZ_compress_sync_flush' may degrade compression ratio, so use it only when needed. @@ -761,18 +770,18 @@ Concept index  Tag Table: Node: Top220 -Node: Introduction1331 -Node: Library version5244 -Node: Buffering5889 -Node: Parameter limits7012 -Node: Compression functions7971 -Node: Decompression functions14184 -Node: Error codes20345 -Node: Error messages22284 -Node: Data format22863 -Node: Examples25512 -Node: Problems29595 -Node: Concept index30167 +Node: Introduction1304 +Node: Library version5487 +Node: Buffering6132 +Node: Parameter limits7253 +Node: Compression functions8212 +Node: Decompression functions14594 +Node: Error codes20755 +Node: Error messages22694 +Node: Data format23273 +Node: Examples25922 +Node: Problems30005 +Node: Concept index30577  End Tag Table diff --git a/doc/lzlib.texi b/doc/lzlib.texi index 378e630..1a9d9b6 100644 --- a/doc/lzlib.texi +++ b/doc/lzlib.texi @@ -6,8 +6,8 @@ @finalout @c %**end of header -@set UPDATED 19 June 2014 -@set VERSION 1.6-rc2 +@set UPDATED 27 August 2014 +@set VERSION 1.6 @dircategory Data Compression @direntry @@ -50,8 +50,7 @@ This manual is for Lzlib (version @value{VERSION}, @value{UPDATED}). @end menu @sp 1 -Copyright @copyright{} 2009, 2010, 2011, 2012, 2013, 2014 -Antonio Diaz Diaz. +Copyright @copyright{} 2009-2014 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -90,6 +89,11 @@ Additionally lzip is copylefted, which guarantees that it will remain free forever. @end itemize +A nice feature of the lzip format is that a corrupt byte is easier to +repair the nearer it is from the beginning of the file. Therefore, with +the help of lziprecover, losing an entire archive just because of a +corrupt byte near the beginning is a thing of the past. + The functions and variables forming the interface of the compression library are declared in the file @samp{lzlib.h}. Usage examples of the library are given in the files @samp{main.c} and @samp{bbexample.c} from @@ -170,7 +174,7 @@ if( LZ_version()[0] != LZ_version_string[0] ) Lzlib internal functions need access to a memory chunk at least as large as the dictionary size (sliding window). For efficiency reasons, the input buffer for compression is twice as large as the dictionary size. -Finally, for security reasons, lzlib uses two more internal buffers. +Finally, for safety reasons, lzlib uses two more internal buffers. These are the four buffers used by lzlib, and their guaranteed minimum sizes: @@ -292,7 +296,11 @@ indicates that the current member has been fully read (with the @deftypefun int LZ_compress_sync_flush ( struct LZ_Encoder * const @var{encoder} ) Use this function to make available to @samp{LZ_compress_read} all the -data already written with the @samp{LZ_compress_write} function. +data already written with the @samp{LZ_compress_write} function. First +call @samp{LZ_compress_read} until it returns 0. Then call +@samp{LZ_compress_sync_flush}. Finally, call @samp{LZ_compress_read} +again to read the remaining data. + Repeated use of @samp{LZ_compress_sync_flush} may degrade compression ratio, so use it only when needed. @end deftypefun diff --git a/doc/minilzip.1 b/doc/minilzip.1 index e69cda5..93ee47f 100644 --- a/doc/minilzip.1 +++ b/doc/minilzip.1 @@ -1,10 +1,10 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH MINILZIP "1" "June 2014" "minilzip 1.6-rc2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.1. +.TH MINILZIP "1" "August 2014" "minilzip 1.6" "User Commands" .SH NAME minilzip \- reduces the size of files .SH SYNOPSIS .B minilzip -[\fIoptions\fR] [\fIfiles\fR] +[\fI\,options\/\fR] [\fI\,files\/\fR] .SH DESCRIPTION Minilzip \- Test program for the lzlib library. .SH OPTIONS @@ -83,7 +83,7 @@ Report bugs to lzip\-bug@nongnu.org Lzlib home page: http://www.nongnu.org/lzip/lzlib.html .SH COPYRIGHT Copyright \(co 2014 Antonio Diaz Diaz. -Using lzlib 1.6\-rc2 +Using lzlib 1.6 License GPLv2+: GNU GPL version 2 or later .br This is free software: you are free to change and redistribute it. diff --git a/encoder.c b/encoder.c index 1cd8724..62be965 100644 --- a/encoder.c +++ b/encoder.c @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/encoder.h b/encoder.h index d944796..5fb2af2 100644 --- a/encoder.h +++ b/encoder.h @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -279,10 +279,6 @@ static inline void Mf_finish( struct Matchfinder * const mf ) static inline bool Mf_finished( const struct Matchfinder * const mf ) { return mf->at_stream_end && mf->pos >= mf->stream_pos; } -static inline void Mf_set_flushing( struct Matchfinder * const mf, - const bool flushing ) - { mf->flushing = flushing; } - static inline bool Mf_flushing_or_end( const struct Matchfinder * const mf ) { return mf->at_stream_end || mf->flushing; } diff --git a/lzcheck.c b/lzcheck.c index 4630703..2f1d5a7 100644 --- a/lzcheck.c +++ b/lzcheck.c @@ -1,5 +1,5 @@ /* Lzcheck - Test program for the lzlib library - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. + Copyright (C) 2009-2014 Antonio Diaz Diaz. This program is free software: you have unlimited permission to copy, distribute and modify it. diff --git a/lzip.h b/lzip.h index d5a9cb1..59ea139 100644 --- a/lzip.h +++ b/lzip.h @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lzlib.c b/lzlib.c index 7e9c67c..bc3b32c 100644 --- a/lzlib.c +++ b/lzlib.c @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -241,11 +241,11 @@ int LZ_compress_sync_flush( struct LZ_Encoder * const e ) if( e->flush_pending <= 0 && !Mf_flushing_or_end( e->matchfinder ) ) { e->flush_pending = 2; /* 2 consecutive markers guarantee decoding */ - Mf_set_flushing( e->matchfinder, true ); + e->matchfinder->flushing = true; if( !LZe_encode_member( e->lz_encoder ) ) { e->lz_errno = LZ_library_error; e->fatal = true; return -1; } while( e->flush_pending > 0 && LZe_sync_flush( e->lz_encoder ) ) - { if( --e->flush_pending <= 0 ) Mf_set_flushing( e->matchfinder, false ); } + { if( --e->flush_pending <= 0 ) e->matchfinder->flushing = false; } } return 0; } @@ -258,7 +258,7 @@ int LZ_compress_read( struct LZ_Encoder * const e, if( !LZe_encode_member( e->lz_encoder ) ) { e->lz_errno = LZ_library_error; e->fatal = true; return -1; } while( e->flush_pending > 0 && LZe_sync_flush( e->lz_encoder ) ) - { if( --e->flush_pending <= 0 ) Mf_set_flushing( e->matchfinder, false ); } + { if( --e->flush_pending <= 0 ) e->matchfinder->flushing = false; } return Re_read_data( &e->lz_encoder->renc, buffer, size ); } diff --git a/lzlib.h b/lzlib.h index a815283..212a307 100644 --- a/lzlib.h +++ b/lzlib.h @@ -1,5 +1,5 @@ -/* Lzlib - Compression library for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lzlib - Compression library for the lzip format + Copyright (C) 2009-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ extern "C" { #endif -static const char * const LZ_version_string = "1.6-rc2"; +static const char * const LZ_version_string = "1.6"; enum LZ_Errno { LZ_ok = 0, LZ_bad_argument, LZ_mem_error, LZ_sequence_error, LZ_header_error, LZ_unexpected_eof, diff --git a/main.c b/main.c index b6605e4..ffbc721 100644 --- a/main.c +++ b/main.c @@ -1,5 +1,5 @@ /* Minilzip - Test program for the lzlib library - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. + Copyright (C) 2009-2014 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/testsuite/check.sh b/testsuite/check.sh index c4a5c4a..df9b340 100755 --- a/testsuite/check.sh +++ b/testsuite/check.sh @@ -1,6 +1,6 @@ #! /bin/sh # check script for Lzlib - A compression library for lzip files -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +# Copyright (C) 2009-2014 Antonio Diaz Diaz. # # This script is free software: you have unlimited permission # to copy, distribute and modify it. diff --git a/testsuite/test.txt.lz b/testsuite/test.txt.lz index 46f98a7..41d2e39 100644 Binary files a/testsuite/test.txt.lz and b/testsuite/test.txt.lz differ -- cgit v1.2.3