summaryrefslogtreecommitdiffstats
path: root/doc/lzip.texinfo
diff options
context:
space:
mode:
authorDaniel Baumann <mail@daniel-baumann.ch>2015-11-07 09:58:16 +0000
committerDaniel Baumann <mail@daniel-baumann.ch>2015-11-07 09:58:16 +0000
commit51c12e5bd97a911ab71bae9cc4c22c5a072a2a38 (patch)
tree6afa6655e77149ce493d352f229d1b1258fd5994 /doc/lzip.texinfo
parentAdding upstream version 1.15~pre1. (diff)
downloadlzip-51c12e5bd97a911ab71bae9cc4c22c5a072a2a38.tar.xz
lzip-51c12e5bd97a911ab71bae9cc4c22c5a072a2a38.zip
Adding upstream version 1.15~pre2.upstream/1.15_pre2
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'doc/lzip.texinfo')
-rw-r--r--doc/lzip.texinfo49
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. */