Rollup merge of #100119 - ivmarkov:master, r=joshtriplett
FilesTimes support does not build for ESP-IDF
Commit 1f5d8d49eb
broke STD for `target_os = "espidf"`.
In future, we might come up with something more sophisticated (as in using the `utime` function which *is* available on the ESP-IDF platform), but for now we are treating ESP-IDF just like `Redox` in that the new API fails at runtime. Most important for us ATM is to restore successful compilation of STD on our platform.
This commit is contained in:
commit
a44532c13c
@ -544,9 +544,11 @@ impl Default for FileTimes {
|
||||
fn default() -> Self {
|
||||
// Redox doesn't appear to support `UTIME_OMIT`, so we stub it out here, and always return
|
||||
// an error in `set_times`.
|
||||
#[cfg(target_os = "redox")]
|
||||
// ESP-IDF does not support `futimens` at all and the behavior for that OS is therefore
|
||||
// the same as for Redox.
|
||||
#[cfg(any(target_os = "redox", target_os = "espidf"))]
|
||||
let omit = libc::timespec { tv_sec: 0, tv_nsec: 0 };
|
||||
#[cfg(not(target_os = "redox"))]
|
||||
#[cfg(not(any(target_os = "redox", target_os = "espidf")))]
|
||||
let omit = libc::timespec { tv_sec: 0, tv_nsec: libc::UTIME_OMIT as _ };
|
||||
Self([omit; 2])
|
||||
}
|
||||
@ -1077,8 +1079,10 @@ pub fn set_permissions(&self, perm: FilePermissions) -> io::Result<()> {
|
||||
|
||||
pub fn set_times(&self, times: FileTimes) -> io::Result<()> {
|
||||
cfg_if::cfg_if! {
|
||||
if #[cfg(target_os = "redox")] {
|
||||
if #[cfg(any(target_os = "redox", target_os = "espidf"))] {
|
||||
// Redox doesn't appear to support `UTIME_OMIT`.
|
||||
// ESP-IDF does not support `futimens` at all and the behavior for that OS is therefore
|
||||
// the same as for Redox.
|
||||
drop(times);
|
||||
Err(io::const_io_error!(
|
||||
io::ErrorKind::Unsupported,
|
||||
|
Loading…
Reference in New Issue
Block a user