@@ -124,15 +124,11 @@ unsafe fn ZDICT_count(
124124 loop {
125125 let diff = MEM_readST ( pMatch) ^ MEM_readST ( pIn) ;
126126 if diff == 0 {
127- pIn = ( pIn as * const core:: ffi:: c_char ) . add ( :: core:: mem:: size_of :: < size_t > ( ) )
128- as * const core:: ffi:: c_void ;
129- pMatch = ( pMatch as * const core:: ffi:: c_char ) . add ( :: core:: mem:: size_of :: < size_t > ( ) )
130- as * const core:: ffi:: c_void ;
127+ pIn = pIn. byte_add ( :: core:: mem:: size_of :: < size_t > ( ) ) ;
128+ pMatch = pMatch. byte_add ( :: core:: mem:: size_of :: < size_t > ( ) ) ;
131129 } else {
132- pIn = ( pIn as * const core:: ffi:: c_char ) . offset ( ZSTD_NbCommonBytes ( diff) as isize )
133- as * const core:: ffi:: c_void ;
134- return ( pIn as * const core:: ffi:: c_char ) . offset_from ( pStart) as core:: ffi:: c_long
135- as size_t ;
130+ pIn = pIn. byte_offset ( ZSTD_NbCommonBytes ( diff) as isize ) ;
131+ return pIn. byte_offset_from ( pStart) as core:: ffi:: c_long as size_t ;
136132 }
137133 }
138134}
@@ -891,14 +887,14 @@ unsafe fn analyze_entropy_internal(
891887 return Err ( Error :: dictionaryCreation_failed) ;
892888 }
893889
894- let mut offcodeNCount = [ 0i16 ; ( OFFCODE_MAX + 1 ) as usize ] ;
895- let mut matchLengthNCount = [ 0i16 ; ( MaxML + 1 ) as usize ] ;
896- let mut litLengthNCount = [ 0i16 ; ( MaxLL + 1 ) as usize ] ;
890+ let mut offcodeNCount = [ 0i16 ; OFFCODE_MAX as usize + 1 ] ;
891+ let mut matchLengthNCount = [ 0i16 ; MaxML as usize + 1 ] ;
892+ let mut litLengthNCount = [ 0i16 ; MaxLL as usize + 1 ] ;
897893
898894 let mut countLit = [ 1u32 ; 256 ] ;
899- let mut offcodeCount = [ 1u32 ; ( OFFCODE_MAX + 1 ) as usize ] ;
900- let mut matchLengthCount = [ 1u32 ; ( MaxML + 1 ) as usize ] ;
901- let mut litLengthCount = [ 1u32 ; ( MaxLL + 1 ) as usize ] ;
895+ let mut offcodeCount = [ 1u32 ; OFFCODE_MAX as usize + 1 ] ;
896+ let mut matchLengthCount = [ 1u32 ; MaxML as usize + 1 ] ;
897+ let mut litLengthCount = [ 1u32 ; MaxLL as usize + 1 ] ;
902898
903899 let mut repOffset = [ 0 ; MAXREPOFFSET as usize ] ;
904900 repOffset[ 1 ] = 1 ;
@@ -907,11 +903,11 @@ unsafe fn analyze_entropy_internal(
907903
908904 let mut bestRepOffset = [ offsetCount_t:: default ( ) ; ZSTD_REP_NUM as usize + 1 ] ;
909905
910- let averageSampleSize = if fileSizes. is_empty ( ) {
911- 0
912- } else {
913- fileSizes . iter ( ) . sum :: < usize > ( ) / fileSizes. len ( )
914- } ;
906+ let averageSampleSize = fileSizes
907+ . iter ( )
908+ . sum :: < usize > ( )
909+ . checked_div ( fileSizes. len ( ) )
910+ . unwrap_or ( 0 ) ;
915911 if compressionLevel == 0 {
916912 compressionLevel = ZSTD_CLEVEL_DEFAULT ;
917913 }
@@ -948,7 +944,7 @@ unsafe fn analyze_entropy_internal(
948944 & mut matchLengthCount,
949945 & mut litLengthCount,
950946 & mut repOffset,
951- ( srcBuffer as * const core :: ffi :: c_char ) . add ( pos) as * const core :: ffi :: c_void ,
947+ srcBuffer. byte_add ( pos) ,
952948 * fileSize,
953949 notificationLevel,
954950 ) ;
@@ -1273,27 +1269,27 @@ unsafe fn ZDICT_addEntropyTablesFromBuffer_advanced(
12731269 if notificationLevel >= 2 {
12741270 eprintln ! ( "statistics ..." ) ;
12751271 }
1276- let eSize = match ZDICT_analyzeEntropy (
1277- ( dictBuffer as * mut core :: ffi :: c_char ) . add ( hSize) as * mut core :: ffi :: c_void ,
1272+ let res = ZDICT_analyzeEntropy (
1273+ dictBuffer. byte_add ( hSize) ,
12781274 dictBufferCapacity. wrapping_sub ( hSize) ,
12791275 compressionLevel,
12801276 samplesBuffer,
12811277 samplesSizes,
1282- ( dictBuffer as * mut core :: ffi :: c_char )
1283- . add ( dictBufferCapacity)
1284- . offset ( -( dictContentSize as isize ) ) as * const core :: ffi :: c_void ,
1278+ dictBuffer
1279+ . byte_add ( dictBufferCapacity)
1280+ . byte_offset ( -( dictContentSize as isize ) ) ,
12851281 dictContentSize,
12861282 notificationLevel,
1287- ) {
1288- Ok ( eSize) => eSize,
1283+ ) ;
1284+ match res {
1285+ Ok ( eSize) => hSize = hSize. wrapping_add ( eSize) ,
12891286 Err ( err) => return err. to_error_code ( ) ,
12901287 } ;
1291- hSize = hSize. wrapping_add ( eSize) ;
12921288 MEM_writeLE32 ( dictBuffer, ZSTD_MAGIC_DICTIONARY ) ;
12931289 let randomID = ZSTD_XXH64 (
1294- ( dictBuffer as * mut core :: ffi :: c_char )
1295- . add ( dictBufferCapacity)
1296- . offset ( -( dictContentSize as isize ) ) as * const core :: ffi :: c_void ,
1290+ dictBuffer
1291+ . byte_add ( dictBufferCapacity)
1292+ . byte_offset ( -( dictContentSize as isize ) ) ,
12971293 dictContentSize,
12981294 0 ,
12991295 ) ;
@@ -1304,10 +1300,7 @@ unsafe fn ZDICT_addEntropyTablesFromBuffer_advanced(
13041300 } else {
13051301 compliantID
13061302 } ;
1307- MEM_writeLE32 (
1308- ( dictBuffer as * mut core:: ffi:: c_char ) . add ( 4 ) as * mut core:: ffi:: c_void ,
1309- dictID,
1310- ) ;
1303+ MEM_writeLE32 ( dictBuffer. byte_add ( 4 ) , dictID) ;
13111304 if hSize. wrapping_add ( dictContentSize) < dictBufferCapacity {
13121305 core:: ptr:: copy (
13131306 ( dictBuffer as * mut core:: ffi:: c_char )
@@ -1419,8 +1412,7 @@ unsafe fn ZDICT_trainFromBuffer_unsafe_legacy(
14191412 ) ;
14201413 }
14211414 ZDICT_printHex (
1422- ( samplesBuffer as * const core:: ffi:: c_char ) . offset ( pos as isize )
1423- as * const core:: ffi:: c_void ,
1415+ samplesBuffer. byte_offset ( pos as isize ) ,
14241416 printedLength as size_t ,
14251417 ) ;
14261418 if notificationLevel >= 3 {
@@ -1513,9 +1505,7 @@ unsafe fn ZDICT_trainFromBuffer_unsafe_legacy(
15131505 }
15141506 memcpy (
15151507 ptr as * mut core:: ffi:: c_void ,
1516- ( samplesBuffer as * const core:: ffi:: c_char )
1517- . offset ( ( * dictList. offset ( u_0 as isize ) ) . pos as isize )
1518- as * const core:: ffi:: c_void ,
1508+ samplesBuffer. byte_offset ( ( * dictList. offset ( u_0 as isize ) ) . pos as isize ) ,
15191509 l as size_t ,
15201510 ) ;
15211511 u_0 = u_0. wrapping_add ( 1 ) ;
0 commit comments