summaryrefslogtreecommitdiffstats
path: root/vendor/filetime
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:32 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:32 +0000
commit4547b622d8d29df964fa2914213088b148c498fc (patch)
tree9fc6b25f3c3add6b745be9a2400a6e96140046e9 /vendor/filetime
parentReleasing progress-linux version 1.66.0+dfsg1-1~progress7.99u1. (diff)
downloadrustc-4547b622d8d29df964fa2914213088b148c498fc.tar.xz
rustc-4547b622d8d29df964fa2914213088b148c498fc.zip
Merging upstream version 1.67.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/filetime')
-rw-r--r--vendor/filetime/.cargo-checksum.json2
-rw-r--r--vendor/filetime/Cargo.toml4
-rw-r--r--vendor/filetime/src/lib.rs17
-rw-r--r--vendor/filetime/src/unix/mod.rs7
-rw-r--r--vendor/filetime/src/unix/utimensat.rs8
5 files changed, 28 insertions, 10 deletions
diff --git a/vendor/filetime/.cargo-checksum.json b/vendor/filetime/.cargo-checksum.json
index 1bb0218a6..8d7b7ce7d 100644
--- a/vendor/filetime/.cargo-checksum.json
+++ b/vendor/filetime/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"306f64716452fa6471a91ef01a7b11a7fa833b3c34b02578b8f1d7b988c917e3","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"6cd295d9f4efe412971b1855ecaf7b19ef3956006a652ea205c456a5d33550c1","src/lib.rs":"a9f94f2fc09cc46acd0d5ffafea2bcf0770d85bc98245c89221b2b23dbcfcb63","src/redox.rs":"898997b73c20818cf4601a1f4bcdf1b7dbf3b5d9d071cdc9fce5d1652f6bfc43","src/unix/android.rs":"d929826a9a92003b7aaa6435adc220efbb70c15308f9eed5ee517d88451fcaf6","src/unix/linux.rs":"061f0f7bd7a41f29b9d24b6487e302d650e9399f0dcc54595211e20ae4945da6","src/unix/macos.rs":"1b19a24bee240aba8d564405991bb0ee36ba72217461c8ac6829144d28f7e046","src/unix/mod.rs":"4392d0928578de017976552fdde0a0c86ec14fabeb1f1ec87223a40f69ba3d08","src/unix/utimensat.rs":"dbb6371ffaf91754afa870aa3ceedc400530a449721d3f6c572a3907c489634d","src/unix/utimes.rs":"d2d8ca5daed3d1ec0a0aed1fc03450deb4b7f1fcdb96ed40b8d2cfefd0e827ee","src/wasm.rs":"a82734259846a3349d42da011c1065d21f3981bd20d6eb43495e34808b83af9a","src/windows.rs":"3314a0def8028d8f2a4bc01377d5874ab9ddf8684aad13573c89b427bf2d9911"},"package":"e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c"} \ No newline at end of file
+{"files":{"Cargo.toml":"c82074c47610281bf7c3de20e143b8795ac39543df6c52e86e96506f7747e93f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"6cd295d9f4efe412971b1855ecaf7b19ef3956006a652ea205c456a5d33550c1","src/lib.rs":"eec6b5e3be2c1d5e068a9724b503e729a1e11dae4cd1bc816110c94a0bc14fa0","src/redox.rs":"898997b73c20818cf4601a1f4bcdf1b7dbf3b5d9d071cdc9fce5d1652f6bfc43","src/unix/android.rs":"d929826a9a92003b7aaa6435adc220efbb70c15308f9eed5ee517d88451fcaf6","src/unix/linux.rs":"061f0f7bd7a41f29b9d24b6487e302d650e9399f0dcc54595211e20ae4945da6","src/unix/macos.rs":"1b19a24bee240aba8d564405991bb0ee36ba72217461c8ac6829144d28f7e046","src/unix/mod.rs":"d6a4ae02099c46874e13c9fe71103cdecc394467e6c443950d27488ce9ec927b","src/unix/utimensat.rs":"0876aa32393689fcb5eec913c5d34954956a715913d611749b04243a2dbcf897","src/unix/utimes.rs":"d2d8ca5daed3d1ec0a0aed1fc03450deb4b7f1fcdb96ed40b8d2cfefd0e827ee","src/wasm.rs":"a82734259846a3349d42da011c1065d21f3981bd20d6eb43495e34808b83af9a","src/windows.rs":"3314a0def8028d8f2a4bc01377d5874ab9ddf8684aad13573c89b427bf2d9911"},"package":"4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3"} \ No newline at end of file
diff --git a/vendor/filetime/Cargo.toml b/vendor/filetime/Cargo.toml
index 381433176..ba219b3e5 100644
--- a/vendor/filetime/Cargo.toml
+++ b/vendor/filetime/Cargo.toml
@@ -12,7 +12,7 @@
[package]
edition = "2018"
name = "filetime"
-version = "0.2.17"
+version = "0.2.18"
authors = ["Alex Crichton <alex@alexcrichton.com>"]
description = """
Platform-agnostic accessors of timestamps in File metadata
@@ -40,7 +40,7 @@ version = "0.2.9"
version = "0.2.27"
[target."cfg(windows)".dependencies.windows-sys]
-version = "0.36.0"
+version = "0.42.0"
features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
diff --git a/vendor/filetime/src/lib.rs b/vendor/filetime/src/lib.rs
index 594d8a8ae..95ea5d4f7 100644
--- a/vendor/filetime/src/lib.rs
+++ b/vendor/filetime/src/lib.rs
@@ -47,7 +47,7 @@ cfg_if::cfg_if! {
} else if #[cfg(windows)] {
#[path = "windows.rs"]
mod imp;
- } else if #[cfg(target_family = "wasm")] {
+ } else if #[cfg(all(target_family = "wasm", not(target_os = "emscripten")))] {
#[path = "wasm.rs"]
mod imp;
} else {
@@ -561,11 +561,18 @@ mod tests {
set_file_times(&path, atime, mtime).unwrap();
let new_mtime = FileTime::from_unix_time(-10_000, 0);
- set_file_times(&path, atime, new_mtime).unwrap();
+ if cfg!(target_os = "aix") {
+ // On AIX, os checks if the unix timestamp is valid.
+ let result = set_file_times(&path, atime, new_mtime);
+ assert!(result.is_err());
+ assert!(result.err().unwrap().kind() == std::io::ErrorKind::InvalidInput);
+ } else {
+ set_file_times(&path, atime, new_mtime).unwrap();
- let metadata = fs::metadata(&path).unwrap();
- let mtime = FileTime::from_last_modification_time(&metadata);
- assert_eq!(mtime, new_mtime);
+ let metadata = fs::metadata(&path).unwrap();
+ let mtime = FileTime::from_last_modification_time(&metadata);
+ assert_eq!(mtime, new_mtime);
+ }
}
#[test]
diff --git a/vendor/filetime/src/unix/mod.rs b/vendor/filetime/src/unix/mod.rs
index 66f9fc219..8b7788837 100644
--- a/vendor/filetime/src/unix/mod.rs
+++ b/vendor/filetime/src/unix/mod.rs
@@ -15,7 +15,8 @@ cfg_if::cfg_if! {
mod utimes;
mod macos;
pub use self::macos::*;
- } else if #[cfg(any(target_os = "solaris",
+ } else if #[cfg(any(target_os = "aix",
+ target_os = "solaris",
target_os = "illumos",
target_os = "emscripten",
target_os = "freebsd",
@@ -46,6 +47,10 @@ fn to_timespec(ft: &Option<FileTime>) -> timespec {
} else if #[cfg(target_os = "haiku")] {
// https://git.haiku-os.org/haiku/tree/headers/posix/sys/stat.h?#n106
const UTIME_OMIT: i64 = 1000000001;
+ } else if #[cfg(target_os = "aix")] {
+ // AIX hasn't disclosed system header files yet.
+ // https://github.com/golang/go/blob/master/src/cmd/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go#L1007
+ const UTIME_OMIT: i64 = -3;
} else {
// http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/stat.h?annotate=1.68.30.1
// https://github.com/emscripten-core/emscripten/blob/master/system/include/libc/sys/stat.h#L71
diff --git a/vendor/filetime/src/unix/utimensat.rs b/vendor/filetime/src/unix/utimensat.rs
index 42a1ada2c..c9153a67f 100644
--- a/vendor/filetime/src/unix/utimensat.rs
+++ b/vendor/filetime/src/unix/utimensat.rs
@@ -32,7 +32,7 @@ pub fn set_file_handle_times(
}
pub fn set_symlink_file_times(p: &Path, atime: FileTime, mtime: FileTime) -> io::Result<()> {
- set_times(p, Some(atime), Some(mtime), false)
+ set_times(p, Some(atime), Some(mtime), true)
}
fn set_times(
@@ -42,6 +42,12 @@ fn set_times(
symlink: bool,
) -> io::Result<()> {
let flags = if symlink {
+ if cfg!(target_os = "emscripten") {
+ return Err(io::Error::new(
+ io::ErrorKind::Other,
+ "emscripten does not support utimensat for symlinks",
+ ));
+ }
libc::AT_SYMLINK_NOFOLLOW
} else {
0