@@ -797,7 +797,7 @@ fn lm_set_level(state: &mut State, level: i8) {
797797 state. max_lazy_match = CONFIGURATION_TABLE [ level as usize ] . max_lazy as usize ;
798798 state. good_match = CONFIGURATION_TABLE [ level as usize ] . good_length as usize ;
799799 state. nice_match = CONFIGURATION_TABLE [ level as usize ] . nice_length as usize ;
800- state. max_chain_length = CONFIGURATION_TABLE [ level as usize ] . max_chain as usize ;
800+ state. max_chain_length = CONFIGURATION_TABLE [ level as usize ] . max_chain ;
801801
802802 state. hash_calc_variant = HashCalcVariant :: for_max_chain_length ( state. max_chain_length ) ;
803803 state. level = level;
@@ -813,7 +813,7 @@ pub fn tune(
813813 stream. state . good_match = good_length;
814814 stream. state . max_lazy_match = max_lazy;
815815 stream. state . nice_match = nice_length;
816- stream. state . max_chain_length = max_chain;
816+ stream. state . max_chain_length = max_chain as u16 ;
817817
818818 ReturnCode :: Ok
819819}
@@ -1263,7 +1263,7 @@ pub(crate) struct State<'a> {
12631263
12641264 /// To speed up deflation, hash chains are never searched beyond this length.
12651265 /// A higher limit improves compression ratio but degrades the speed.
1266- pub ( crate ) max_chain_length : usize ,
1266+ pub ( crate ) max_chain_length : u16 ,
12671267
12681268 // TODO untangle this mess! zlib uses the same field differently based on compression level
12691269 // we should just have 2 fields for clarity!
0 commit comments