diff options
| author | Alex Saveau <saveau.alexandre+tmp@gmail.com> | 2024-12-17 12:40:39 -0500 |
|---|---|---|
| committer | Alex Saveau <saveau.alexandre@gmail.com> | 2024-12-21 12:20:58 -0800 |
| commit | 73b41fbcfacb8fcc5a8be3ffa849abcd543069b6 (patch) | |
| tree | 9b48716482f7193af1f4db9d992d46fc748db657 /library/std/src/sys | |
| parent | 387b245664a81f58260a6b565aa0b2fdf19752fb (diff) | |
| download | rust-73b41fbcfacb8fcc5a8be3ffa849abcd543069b6.tar.gz rust-73b41fbcfacb8fcc5a8be3ffa849abcd543069b6.zip | |
Unify fs::copy and io::copy
Diffstat (limited to 'library/std/src/sys')
| -rw-r--r-- | library/std/src/sys/pal/unix/fs.rs | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/library/std/src/sys/pal/unix/fs.rs b/library/std/src/sys/pal/unix/fs.rs index 37029bcd36e..3fb0ed064cb 100644 --- a/library/std/src/sys/pal/unix/fs.rs +++ b/library/std/src/sys/pal/unix/fs.rs @@ -1980,7 +1980,7 @@ fn open_to_and_set_permissions( Ok((writer, writer_metadata)) } -#[cfg(not(any(target_os = "linux", target_os = "android", target_vendor = "apple")))] +#[cfg(not(target_vendor = "apple"))] pub fn copy(from: &Path, to: &Path) -> io::Result<u64> { let (mut reader, reader_metadata) = open_from(from)?; let (mut writer, _) = open_to_and_set_permissions(to, reader_metadata)?; @@ -1988,24 +1988,6 @@ pub fn copy(from: &Path, to: &Path) -> io::Result<u64> { io::copy(&mut reader, &mut writer) } -#[cfg(any(target_os = "linux", target_os = "android"))] -pub fn copy(from: &Path, to: &Path) -> io::Result<u64> { - let (mut reader, reader_metadata) = open_from(from)?; - let max_len = u64::MAX; - let (mut writer, _) = open_to_and_set_permissions(to, reader_metadata)?; - - use super::kernel_copy::{CopyResult, copy_regular_files}; - - match copy_regular_files(reader.as_raw_fd(), writer.as_raw_fd(), max_len) { - CopyResult::Ended(bytes) => Ok(bytes), - CopyResult::Error(e, _) => Err(e), - CopyResult::Fallback(written) => match io::copy::generic_copy(&mut reader, &mut writer) { - Ok(bytes) => Ok(bytes + written), - Err(e) => Err(e), - }, - } -} - #[cfg(target_vendor = "apple")] pub fn copy(from: &Path, to: &Path) -> io::Result<u64> { const COPYFILE_ALL: libc::copyfile_flags_t = libc::COPYFILE_METADATA | libc::COPYFILE_DATA; |
