@@ -35,7 +35,7 @@ struct EStats_ress_t {
3535 zc : * mut ZSTD_CCtx ,
3636 workPlace : * mut core:: ffi:: c_void ,
3737}
38- #[ derive( Copy , Clone ) ]
38+ #[ derive( Copy , Clone , Default ) ]
3939#[ repr( C ) ]
4040struct offsetCount_t {
4141 offset : u32 ,
@@ -867,20 +867,12 @@ unsafe fn ZDICT_analyzeEntropy(
867867 dictBufferSize : size_t ,
868868 notificationLevel : core:: ffi:: c_uint ,
869869) -> size_t {
870- let mut countLit: [ core:: ffi:: c_uint ; 256 ] = [ 0 ; 256 ] ;
871870 let mut hufTable: [ HUF_CElt ; 257 ] = [ 0 ; 257 ] ;
872- let mut offcodeCount: [ core:: ffi:: c_uint ; 31 ] = [ 0 ; 31 ] ;
873871 let mut offcodeNCount: [ core:: ffi:: c_short ; 31 ] = [ 0 ; 31 ] ;
874872 let offcodeMax =
875873 ZSTD_highbit32 ( dictBufferSize. wrapping_add ( ( 128 * ( ( 1 ) << 10 ) ) as size_t ) as u32 ) ;
876- let mut matchLengthCount: [ core:: ffi:: c_uint ; 53 ] = [ 0 ; 53 ] ;
877874 let mut matchLengthNCount: [ core:: ffi:: c_short ; 53 ] = [ 0 ; 53 ] ;
878- let mut litLengthCount: [ core:: ffi:: c_uint ; 36 ] = [ 0 ; 36 ] ;
879875 let mut litLengthNCount: [ core:: ffi:: c_short ; 36 ] = [ 0 ; 36 ] ;
880- let mut bestRepOffset = [ offsetCount_t {
881- offset : 0 ,
882- count : 0 ,
883- } ; ZSTD_REP_NUM as usize + 1 ] ;
884876 let mut esr = EStats_ress_t {
885877 dict : core:: ptr:: null_mut ( ) ,
886878 zc : core:: ptr:: null_mut ( ) ,
@@ -905,23 +897,27 @@ unsafe fn ZDICT_analyzeEntropy(
905897 eSize = Error :: dictionaryCreation_failed. to_error_code ( ) ;
906898 } else {
907899 u = 0 ;
900+ let mut countLit: [ core:: ffi:: c_uint ; 256 ] = [ 0 ; 256 ] ;
908901 while u < 256 {
909- * countLit. as_mut_ptr ( ) . offset ( u as isize ) = 1 ;
902+ countLit[ u as usize ] = 1 ;
910903 u = u. wrapping_add ( 1 ) ;
911904 }
912905 u = 0 ;
906+ let mut offcodeCount: [ core:: ffi:: c_uint ; 31 ] = [ 0 ; 31 ] ;
913907 while u <= offcodeMax {
914- * offcodeCount. as_mut_ptr ( ) . offset ( u as isize ) = 1 ;
908+ offcodeCount[ u as usize ] = 1 ;
915909 u = u. wrapping_add ( 1 ) ;
916910 }
917911 u = 0 ;
912+ let mut matchLengthCount: [ core:: ffi:: c_uint ; 53 ] = [ 0 ; 53 ] ;
918913 while u <= MaxML as u32 {
919- * matchLengthCount. as_mut_ptr ( ) . offset ( u as isize ) = 1 ;
914+ matchLengthCount[ u as usize ] = 1 ;
920915 u = u. wrapping_add ( 1 ) ;
921916 }
922917 u = 0 ;
918+ let mut litLengthCount: [ core:: ffi:: c_uint ; 36 ] = [ 0 ; 36 ] ;
923919 while u <= MaxLL as u32 {
924- * litLengthCount. as_mut_ptr ( ) . offset ( u as isize ) = 1 ;
920+ litLengthCount[ u as usize ] = 1 ;
925921 u = u. wrapping_add ( 1 ) ;
926922 }
927923
@@ -930,11 +926,7 @@ unsafe fn ZDICT_analyzeEntropy(
930926 repOffset[ 4 ] = 1 ;
931927 repOffset[ 8 ] = 1 ;
932928
933- ptr:: write_bytes (
934- bestRepOffset. as_mut_ptr ( ) as * mut u8 ,
935- 0 ,
936- :: core:: mem:: size_of :: < [ offsetCount_t ; 4 ] > ( ) ,
937- ) ;
929+ let mut bestRepOffset = [ offsetCount_t:: default ( ) ; ZSTD_REP_NUM as usize + 1 ] ;
938930
939931 if compressionLevel == 0 {
940932 compressionLevel = ZSTD_CLEVEL_DEFAULT ;
0 commit comments