diff options
Diffstat (limited to 'doc/lzip.texinfo')
-rw-r--r-- | doc/lzip.texinfo | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/doc/lzip.texinfo b/doc/lzip.texinfo index 0e8ac92..cfc9138 100644 --- a/doc/lzip.texinfo +++ b/doc/lzip.texinfo @@ -6,8 +6,8 @@ @finalout @c %**end of header -@set UPDATED 1 August 2013 -@set VERSION 1.15-rc1 +@set UPDATED 20 September 2013 +@set VERSION 1.15 @dircategory Data Compression @direntry @@ -84,8 +84,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. +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 @@ -300,7 +300,7 @@ Use it together with @samp{-v} to see information about the file. @itemx --verbose Verbose mode.@* When compressing, show the compression ratio for each file processed. A -second -v shows the progress of compression.@* +second @samp{-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 bytes of @@ -554,9 +554,9 @@ decoded data. @item literal_state Value of the 3 most significant bits of the latest byte decoded. -@item dis_state -Coded value of length (real length - 2), with a maximum of 3. The -resulting value is in the range 0 to 3. +@item len_state +Coded value of length (length - 2), with a maximum of 3. The resulting +value is in the range 0 to 3. @end table @@ -600,7 +600,7 @@ The contexts for decoding distances are: @multitable @columnfractions .2 .4 .4 @headitem Name @tab Indices @tab Used when -@item bm_dis_slot @tab dis_state, bit tree @tab distance start +@item bm_dis_slot @tab len_state, bit tree @tab distance start @item bm_dis @tab reverse bit tree @tab after slots 4 to 13 @item bm_align @tab reverse bit tree @tab for distances >= 128, after fixed probability bits @@ -765,7 +765,7 @@ lzip -b 32MiB -S 650MB big_db @node Problems -@chapter Reporting Bugs +@chapter Reporting bugs @cindex bugs @cindex getting help @@ -838,6 +838,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, @@ -854,7 +855,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, @@ -1081,7 +1081,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; @@ -1109,9 +1109,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 @@ -1132,16 +1132,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 { |