diff options
Diffstat (limited to 'doc/lzip.texinfo')
-rw-r--r-- | doc/lzip.texinfo | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/doc/lzip.texinfo b/doc/lzip.texinfo index 632abc5..484b5ac 100644 --- a/doc/lzip.texinfo +++ b/doc/lzip.texinfo @@ -6,8 +6,8 @@ @finalout @c %**end of header -@set UPDATED 21 March 2013 -@set VERSION 1.15-pre1 +@set UPDATED 11 May 2013 +@set VERSION 1.15-pre2 @dircategory Data Compression @direntry @@ -64,6 +64,10 @@ gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses better than bzip2, which makes it well suited for software distribution and data archiving. +Lzip uses the same well-defined exit status values used by bzip2, which +makes it safer when used in pipes or scripts than compressors returning +ambiguous warning values, like gzip. + If you ever need to recover data from a damaged lzip file, try the lziprecover program. @@ -116,20 +120,16 @@ file from that of the compressed file as follows: @end multitable As a self-check for your protection, lzip stores in the member trailer -the 32-bit CRC of the original data and the size of the original data, -to make sure that the decompressed version of the data is identical to -the original. This guards against corruption of the compressed data, and -against undetected bugs in lzip (hopefully very unlikely). The chances -of data corruption going undetected are microscopic, less than one -chance in 4000 million for each member processed. Be aware, though, that -the check occurs upon decompression, so it can only tell you that -something is wrong. It can't help you recover the original uncompressed -data. - -Return values: 0 for a normal exit, 1 for environmental problems (file -not found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or -invalid input file, 3 for an internal consistency error (eg, bug) which -caused lzip to panic. +the 32-bit CRC of the original data, the size of the original data and +the size of the member. These values, together with the value remaining +in the range decoder and the end-of-stream marker, provide a very safe 4 +factor integrity checking which guarantees that the decompressed version +of the data is identical to the original. This guards against corruption +of the compressed data, and against undetected bugs in lzip (hopefully +very unlikely). The chances of data corruption going undetected are +microscopic. Be aware, though, that the check occurs upon decompression, +so it can only tell you that something is wrong. It can't help you +recover the original uncompressed data. @node Algorithm @@ -350,6 +350,12 @@ Table of SI and binary prefixes (unit multipliers): @item Y @tab yottabyte (10^24) @tab | @tab Yi @tab yobibyte (2^80) @end multitable +@sp 1 +Exit status: 0 for a normal exit, 1 for environmental problems (file not +found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or +invalid input file, 3 for an internal consistency error (eg, bug) which +caused lzip to panic. + @node File Format @chapter File Format @@ -420,8 +426,8 @@ Size of the uncompressed original data. @item Member size (8 bytes) Total size of the member, including header and trailer. This field acts -as a distributed index, and facilitates safe recovery of undamaged -members from multi-member files. +as a distributed index, allows the verification of stream integrity, and +facilitates safe recovery of undamaged members from multi-member files. @end table @@ -572,8 +578,8 @@ fixed probability bits @end multitable @sp 1 -There are two separated sets of length contexts (@samp{Len_model} in the -source). One for normal matches, the other for repeated matches. The +There are two separate sets of contexts for lengths (@samp{Len_model} in +the source). One for normal matches, the other for repeated matches. The contexts in each Len_model are (see @samp{decode_len} in the source): @multitable @columnfractions .2 .4 .4 @@ -814,7 +820,6 @@ struct Bit_model Bit_model() : probability( bit_model_total / 2 ) {} }; - struct Len_model { Bit_model choice1; @@ -1124,7 +1129,7 @@ typedef uint8_t File_trailer[20]; // 12-19 member size including header and trailer -/* Return values: 0 for a normal exit, 1 for environmental problems +/* Exit status: 0 for a normal exit, 1 for environmental problems (file not found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or invalid input file. */ |