Use statx's 64-bit times on 32-bit linux-gnu
This commit is contained in:
parent
97b49a0cc5
commit
fec4818fdb
3 changed files with 97 additions and 41 deletions
|
@ -356,19 +356,34 @@ impl MetadataExt for Metadata {
|
|||
self.as_inner().as_inner().st_size as u64
|
||||
}
|
||||
fn st_atime(&self) -> i64 {
|
||||
self.as_inner().as_inner().st_atime as i64
|
||||
let file_attr = self.as_inner();
|
||||
#[cfg(all(target_env = "gnu", target_pointer_width = "32"))]
|
||||
if let Some(atime) = file_attr.stx_atime() {
|
||||
return atime.tv_sec;
|
||||
}
|
||||
file_attr.as_inner().st_atime as i64
|
||||
}
|
||||
fn st_atime_nsec(&self) -> i64 {
|
||||
self.as_inner().as_inner().st_atime_nsec as i64
|
||||
}
|
||||
fn st_mtime(&self) -> i64 {
|
||||
self.as_inner().as_inner().st_mtime as i64
|
||||
let file_attr = self.as_inner();
|
||||
#[cfg(all(target_env = "gnu", target_pointer_width = "32"))]
|
||||
if let Some(mtime) = file_attr.stx_mtime() {
|
||||
return mtime.tv_sec;
|
||||
}
|
||||
file_attr.as_inner().st_mtime as i64
|
||||
}
|
||||
fn st_mtime_nsec(&self) -> i64 {
|
||||
self.as_inner().as_inner().st_mtime_nsec as i64
|
||||
}
|
||||
fn st_ctime(&self) -> i64 {
|
||||
self.as_inner().as_inner().st_ctime as i64
|
||||
let file_attr = self.as_inner();
|
||||
#[cfg(all(target_env = "gnu", target_pointer_width = "32"))]
|
||||
if let Some(ctime) = file_attr.stx_ctime() {
|
||||
return ctime.tv_sec;
|
||||
}
|
||||
file_attr.as_inner().st_ctime as i64
|
||||
}
|
||||
fn st_ctime_nsec(&self) -> i64 {
|
||||
self.as_inner().as_inner().st_ctime_nsec as i64
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue