|
1 | 1 | use std::time::{Duration, Instant}; |
2 | 2 |
|
3 | | -use libc::{free, malloc, memcpy, size_t}; |
| 3 | +use libc::{free, malloc, size_t}; |
4 | 4 |
|
5 | 5 | use crate::lib::common::bits::ZSTD_highbit32; |
6 | 6 | use crate::lib::common::error_private::{ERR_getErrorName, ERR_isError, Error}; |
@@ -515,7 +515,7 @@ fn ZDICT_dictSize(dictList: &[DictItem]) -> u32 { |
515 | 515 | dictSize |
516 | 516 | } |
517 | 517 |
|
518 | | -unsafe fn ZDICT_trainBuffer_legacy( |
| 518 | +fn ZDICT_trainBuffer_legacy( |
519 | 519 | dictList: &mut [DictItem], |
520 | 520 | buffer: &[u8], |
521 | 521 | mut bufferSize: size_t, |
@@ -559,7 +559,7 @@ unsafe fn ZDICT_trainBuffer_legacy( |
559 | 559 | let mut suffix = vec![0u32; bufferSize]; |
560 | 560 | let divSuftSortResult = divsufsort( |
561 | 561 | &buffer[..bufferSize], |
562 | | - std::mem::transmute::<&mut [u32], &mut [i32]>(&mut suffix), |
| 562 | + unsafe { std::mem::transmute::<&mut [u32], &mut [i32]>(&mut suffix[..]) }, |
563 | 563 | false, |
564 | 564 | ); |
565 | 565 | if divSuftSortResult != 0 { |
@@ -1415,9 +1415,9 @@ unsafe fn ZDICT_trainFromBuffer_unsafe_legacy( |
1415 | 1415 | if ptr < dictBuffer as *mut u8 { |
1416 | 1416 | return Error::GENERIC.to_error_code(); // should not happen |
1417 | 1417 | } |
1418 | | - memcpy( |
1419 | | - ptr as *mut core::ffi::c_void, |
1420 | | - samples[(dictList[u as usize]).pos as usize..].as_ptr() as *const core::ffi::c_void, |
| 1418 | + core::ptr::copy_nonoverlapping( |
| 1419 | + samples[(dictList[u as usize]).pos as usize..].as_ptr(), |
| 1420 | + ptr, |
1421 | 1421 | l as size_t, |
1422 | 1422 | ); |
1423 | 1423 | } |
|
0 commit comments