diff options
| author | bors <bors@rust-lang.org> | 2022-04-24 19:16:20 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-04-24 19:16:20 +0000 |
| commit | 18f314e7027fe7084aaab8620c624a0d7bd29e70 (patch) | |
| tree | 8f25bf174d4abe2d74fc4eaf2ff3a644fa7cd480 /library/std/src | |
| parent | 5cdab3a8db1dc2326737c1a1d48e838a8b8e55d7 (diff) | |
| parent | 3569d43b501f73862d2fb18fa5e6d023aa5fa750 (diff) | |
| download | rust-18f314e7027fe7084aaab8620c624a0d7bd29e70.tar.gz rust-18f314e7027fe7084aaab8620c624a0d7bd29e70.zip | |
Auto merge of #94609 - esp-rs:esp-idf-stat-type-fixes, r=Mark-Simulacrum
espidf: fix stat Marking as draft as currently dependant on [a libc fix](https://github.com/rust-lang/libc/pull/2708) and release.
Diffstat (limited to 'library/std/src')
| -rw-r--r-- | library/std/src/os/unix/process.rs | 24 | ||||
| -rw-r--r-- | library/std/src/sys/unix/fd.rs | 19 | ||||
| -rw-r--r-- | library/std/src/sys/unix/fs.rs | 2 |
3 files changed, 30 insertions, 15 deletions
diff --git a/library/std/src/os/unix/process.rs b/library/std/src/os/unix/process.rs index d95bc9b15c9..9a6778c0e86 100644 --- a/library/std/src/os/unix/process.rs +++ b/library/std/src/os/unix/process.rs @@ -24,8 +24,8 @@ pub trait CommandExt: Sealed { #[stable(feature = "rust1", since = "1.0.0")] fn uid( &mut self, - #[cfg(not(target_os = "vxworks"))] id: u32, - #[cfg(target_os = "vxworks")] id: u16, + #[cfg(not(any(target_os = "vxworks", target_os = "espidf")))] id: u32, + #[cfg(any(target_os = "vxworks", target_os = "espidf"))] id: u16, ) -> &mut process::Command; /// Similar to `uid`, but sets the group ID of the child process. This has @@ -33,8 +33,8 @@ pub trait CommandExt: Sealed { #[stable(feature = "rust1", since = "1.0.0")] fn gid( &mut self, - #[cfg(not(target_os = "vxworks"))] id: u32, - #[cfg(target_os = "vxworks")] id: u16, + #[cfg(not(any(target_os = "vxworks", target_os = "espidf")))] id: u32, + #[cfg(any(target_os = "vxworks", target_os = "espidf"))] id: u16, ) -> &mut process::Command; /// Sets the supplementary group IDs for the calling process. Translates to @@ -42,8 +42,8 @@ pub trait CommandExt: Sealed { #[unstable(feature = "setgroups", issue = "90747")] fn groups( &mut self, - #[cfg(not(target_os = "vxworks"))] groups: &[u32], - #[cfg(target_os = "vxworks")] groups: &[u16], + #[cfg(not(any(target_os = "vxworks", target_os = "espidf")))] groups: &[u32], + #[cfg(any(target_os = "vxworks", target_os = "espidf"))] groups: &[u16], ) -> &mut process::Command; /// Schedules a closure to be run just before the `exec` function is @@ -160,8 +160,8 @@ pub trait CommandExt: Sealed { impl CommandExt for process::Command { fn uid( &mut self, - #[cfg(not(target_os = "vxworks"))] id: u32, - #[cfg(target_os = "vxworks")] id: u16, + #[cfg(not(any(target_os = "vxworks", target_os = "espidf")))] id: u32, + #[cfg(any(target_os = "vxworks", target_os = "espidf"))] id: u16, ) -> &mut process::Command { self.as_inner_mut().uid(id); self @@ -169,8 +169,8 @@ impl CommandExt for process::Command { fn gid( &mut self, - #[cfg(not(target_os = "vxworks"))] id: u32, - #[cfg(target_os = "vxworks")] id: u16, + #[cfg(not(any(target_os = "vxworks", target_os = "espidf")))] id: u32, + #[cfg(any(target_os = "vxworks", target_os = "espidf"))] id: u16, ) -> &mut process::Command { self.as_inner_mut().gid(id); self @@ -178,8 +178,8 @@ impl CommandExt for process::Command { fn groups( &mut self, - #[cfg(not(target_os = "vxworks"))] groups: &[u32], - #[cfg(target_os = "vxworks")] groups: &[u16], + #[cfg(not(any(target_os = "vxworks", target_os = "espidf")))] groups: &[u32], + #[cfg(any(target_os = "vxworks", target_os = "espidf"))] groups: &[u16], ) -> &mut process::Command { self.as_inner_mut().groups(groups); self diff --git a/library/std/src/sys/unix/fd.rs b/library/std/src/sys/unix/fd.rs index 3de7c68a686..40a64585802 100644 --- a/library/std/src/sys/unix/fd.rs +++ b/library/std/src/sys/unix/fd.rs @@ -11,6 +11,21 @@ use crate::sys_common::{AsInner, FromInner, IntoInner}; use libc::{c_int, c_void}; +#[cfg(any( + target_os = "android", + target_os = "linux", + target_os = "emscripten", + target_os = "l4re" +))] +use libc::off64_t; +#[cfg(not(any( + target_os = "linux", + target_os = "emscripten", + target_os = "l4re", + target_os = "android" +)))] +use libc::off_t as off64_t; + #[derive(Debug)] pub struct FileDesc(OwnedFd); @@ -109,7 +124,7 @@ impl FileDesc { self.as_raw_fd(), buf.as_mut_ptr() as *mut c_void, cmp::min(buf.len(), READ_LIMIT), - offset as i64, + offset as off64_t, )) .map(|n| n as usize) } @@ -176,7 +191,7 @@ impl FileDesc { self.as_raw_fd(), buf.as_ptr() as *const c_void, cmp::min(buf.len(), READ_LIMIT), - offset as i64, + offset as off64_t, )) .map(|n| n as usize) } diff --git a/library/std/src/sys/unix/fs.rs b/library/std/src/sys/unix/fs.rs index a60b19976ba..27fc7accdae 100644 --- a/library/std/src/sys/unix/fs.rs +++ b/library/std/src/sys/unix/fs.rs @@ -966,7 +966,7 @@ impl File { SeekFrom::End(off) => (libc::SEEK_END, off), SeekFrom::Current(off) => (libc::SEEK_CUR, off), }; - let n = cvt(unsafe { lseek64(self.as_raw_fd(), pos, whence) })?; + let n = cvt(unsafe { lseek64(self.as_raw_fd(), pos as off64_t, whence) })?; Ok(n as u64) } |
