FilesTimes support does not build for ESP-IDF

This commit is contained in:
Ivan Markov
2022-08-03 19:07:25 +00:00
parent 04f72f9538
commit e86c128aa3

View File

@@ -544,9 +544,11 @@ impl Default for FileTimes {
fn default() -> Self { fn default() -> Self {
// Redox doesn't appear to support `UTIME_OMIT`, so we stub it out here, and always return // Redox doesn't appear to support `UTIME_OMIT`, so we stub it out here, and always return
// an error in `set_times`. // 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 }; 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 _ }; let omit = libc::timespec { tv_sec: 0, tv_nsec: libc::UTIME_OMIT as _ };
Self([omit; 2]) Self([omit; 2])
} }
@@ -1077,8 +1079,10 @@ impl File {
pub fn set_times(&self, times: FileTimes) -> io::Result<()> { pub fn set_times(&self, times: FileTimes) -> io::Result<()> {
cfg_if::cfg_if! { 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`. // 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); drop(times);
Err(io::const_io_error!( Err(io::const_io_error!(
io::ErrorKind::Unsupported, io::ErrorKind::Unsupported,