You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
621 B
31 lines
621 B
use super::*;
|
|
use std::cmp;
|
|
use std::ptr;
|
|
|
|
|
|
/// Copy bytes from one slice to another.
|
|
///
|
|
/// # Notes
|
|
/// The slices can overlap.
|
|
#[inline] pub fn move_bytes(from: &[u8], to: &mut [u8]) -> usize
|
|
{
|
|
let len = cmp::min(from.len(), to.len());
|
|
unsafe {
|
|
ptr::copy(from.as_ptr(), to.as_mut_ptr(), len);
|
|
}
|
|
len
|
|
}
|
|
|
|
/// Copy bytes from one slice to another.
|
|
///
|
|
/// # Notes
|
|
/// The slices must *not* overlap.
|
|
#[inline] pub fn copy_bytes(from: &[u8], to: &mut [u8]) -> usize
|
|
{
|
|
let len = cmp::min(from.len(), to.len());
|
|
unsafe {
|
|
ptr::copy_nonoverlapping(from.as_ptr(), to.as_mut_ptr(), len);
|
|
}
|
|
len
|
|
}
|