summaryrefslogtreecommitdiffstats
path: root/doc/lzip.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lzip.info')
-rw-r--r--doc/lzip.info46
1 files changed, 23 insertions, 23 deletions
diff --git a/doc/lzip.info b/doc/lzip.info
index 4445d40..a1a2cbe 100644
--- a/doc/lzip.info
+++ b/doc/lzip.info
@@ -11,7 +11,7 @@ File: lzip.info, Node: Top, Next: Introduction, Up: (dir)
Lzip Manual
***********
-This manual is for Lzip (version 1.15-rc1, 1 August 2013).
+This manual is for Lzip (version 1.15, 20 September 2013).
* Menu:
@@ -63,8 +63,8 @@ recovery capabilities, including error-checked merging of damaged copies
of a file.
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.
+which makes it safer than compressors returning ambiguous warning
+values (like gzip) when it is used as a back end for tar or zutils.
Lzip replaces every file given in the command line with a compressed
version of itself, with the name "original_name.lz". Each compressed
@@ -278,7 +278,7 @@ The format for running lzip is:
`--verbose'
Verbose mode.
When compressing, show the compression ratio for each file
- processed. A second -v shows the progress of compression.
+ processed. A second `-v' shows the progress of compression.
When decompressing or testing, further -v's (up to 4) increase the
verbosity level, showing status, compression ratio, dictionary
size, trailer contents (CRC, data size, member size), and up to 6
@@ -520,8 +520,8 @@ integers representing the probability of the corresponding bit being 0.
`literal_state'
Value of the 3 most significant bits of the latest byte decoded.
-`dis_state'
- Coded value of length (real length - 2), with a maximum of 3. The
+`len_state'
+ Coded value of length (length - 2), with a maximum of 3. The
resulting value is in the range 0 to 3.
@@ -561,7 +561,7 @@ bm_len state, pos_state after sequence 110
Name Indices Used when
---------------------------------------------------------------------------
-bm_dis_slot dis_state, bit tree distance start
+bm_dis_slot len_state, bit tree distance start
bm_dis reverse bit tree after slots 4 to 13
bm_align reverse bit tree for distances >= 128, after
fixed probability bits
@@ -696,7 +696,7 @@ file with a member size of 32 MiB.

File: lzip.info, Node: Problems, Next: Reference source code, Prev: Examples, Up: Top
-7 Reporting Bugs
+7 Reporting bugs
****************
There are probably bugs in lzip. There are certainly errors and
@@ -768,6 +768,7 @@ enum {
pos_states = 1 << pos_state_bits,
pos_state_mask = pos_states - 1,
+ len_states = 4,
dis_slot_bits = 6,
start_dis_model = 4,
end_dis_model = 14,
@@ -784,7 +785,6 @@ enum {
max_len_symbols = len_low_symbols + len_mid_symbols + len_high_symbols,
min_match_len = 2, // must be 2
- max_dis_states = 4,
bit_model_move_bits = 5,
bit_model_total_bits = 11,
@@ -1011,7 +1011,7 @@ bool LZ_decoder::decode_member() // Returns false if error
Bit_model bm_rep1[State::states];
Bit_model bm_rep2[State::states];
Bit_model bm_len[State::states][pos_states];
- Bit_model bm_dis_slot[max_dis_states][1<<dis_slot_bits];
+ Bit_model bm_dis_slot[len_states][1<<dis_slot_bits];
Bit_model bm_dis[modeled_distances-end_dis_model];
Bit_model bm_align[dis_align_size];
Len_model match_len_model;
@@ -1039,9 +1039,9 @@ bool LZ_decoder::decode_member() // Returns false if error
else
{
int len;
- if( rdec.decode_bit( bm_rep[state()] ) == 1 ) // 2nd bit
+ if( rdec.decode_bit( bm_rep[state()] ) != 0 ) // 2nd bit
{
- if( rdec.decode_bit( bm_rep0[state()] ) == 1 ) // 3rd bit
+ if( rdec.decode_bit( bm_rep0[state()] ) != 0 ) // 3rd bit
{
unsigned distance;
if( rdec.decode_bit( bm_rep1[state()] ) == 0 ) // 4th bit
@@ -1062,16 +1062,16 @@ bool LZ_decoder::decode_member() // Returns false if error
if( rdec.decode_bit( bm_len[state()][pos_state] ) == 0 ) // 4th bit
{ state.set_short_rep(); put_byte( get_byte( rep0 ) ); continue; }
}
- len = min_match_len + rdec.decode_len( rep_len_model, pos_state );
state.set_rep();
+ len = min_match_len + rdec.decode_len( rep_len_model, pos_state );
}
else
{
rep3 = rep2; rep2 = rep1; rep1 = rep0;
len = min_match_len + rdec.decode_len( match_len_model, pos_state );
- const int dis_state = std::min( len - min_match_len, max_dis_states - 1 );
+ const int len_state = std::min( len - min_match_len, len_states - 1 );
const int dis_slot =
- rdec.decode_tree( bm_dis_slot[dis_state], dis_slot_bits );
+ rdec.decode_tree( bm_dis_slot[len_state], dis_slot_bits );
if( dis_slot < start_dis_model ) rep0 = dis_slot;
else
{
@@ -1193,14 +1193,14 @@ Concept index
Tag Table:
Node: Top210
Node: Introduction1052
-Node: Algorithm5012
-Node: Invoking lzip7505
-Node: File format13181
-Node: Stream format15729
-Node: Examples25134
-Node: Problems27090
-Node: Reference source code27620
-Node: Concept index41135
+Node: Algorithm5031
+Node: Invoking lzip7524
+Node: File format13202
+Node: Stream format15750
+Node: Examples25150
+Node: Problems27106
+Node: Reference source code27636
+Node: Concept index41139

End Tag Table