summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen S <ogham@bsago.me>2015-05-03 16:25:53 +0100
committerBen S <ogham@bsago.me>2015-05-03 16:25:53 +0100
commit8eaa4c550cea212bd8c193e757f55bdf3d09bdae (patch)
tree3e526ab7e99be18d3db8ec79c4423d9ed596e749
parent06ef372560048a048d765787c95b5b2a36130565 (diff)
Continue using new metadata fields
-rw-r--r--src/file.rs6
-rw-r--r--src/main.rs3
-rw-r--r--src/options.rs9
3 files changed, 9 insertions, 9 deletions
diff --git a/src/file.rs b/src/file.rs
index af93e07..afa6bf5 100644
--- a/src/file.rs
+++ b/src/file.rs
@@ -346,9 +346,9 @@ impl<'a> File<'a> {
// Need to convert these values from milliseconds into seconds.
let time_in_seconds = match time_type {
- TimeType::FileAccessed => self.stat.accessed(),
- TimeType::FileModified => self.stat.modified(),
- TimeType::FileCreated => 0 // self.stat.created(),
+ TimeType::FileAccessed => self.stat.as_raw().atime(),
+ TimeType::FileModified => self.stat.as_raw().mtime(),
+ TimeType::FileCreated => self.stat.as_raw().ctime(),
} as i64 / 1000;
let date = LocalDateTime::at(time_in_seconds);
diff --git a/src/main.rs b/src/main.rs
index 49b5bfc..aa31955 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,6 +1,5 @@
-#![feature(collections, convert, core, exit_status, file_type, fs_ext, fs_mode, fs_time)]
+#![feature(collections, convert, core, exit_status, file_type, fs_ext, fs_mode)]
#![feature(libc, metadata_ext, scoped, symlink_metadata)]
-#![allow(deprecated)]
extern crate ansi_term;
extern crate datetime;
diff --git a/src/options.rs b/src/options.rs
index b2f2d91..5483cdf 100644
--- a/src/options.rs
+++ b/src/options.rs
@@ -9,6 +9,7 @@ use term::dimensions;
use std::cmp::Ordering;
use std::fmt;
use std::num::ParseIntError;
+use std::os::unix::fs::MetadataExt;
use getopts;
use natord;
@@ -138,14 +139,14 @@ impl FileFilter {
SortField::Unsorted => {},
SortField::Name => files.sort_by(|a, b| natord::compare(&*a.name, &*b.name)),
SortField::Size => files.sort_by(|a, b| a.stat.len().cmp(&b.stat.len())),
- SortField::FileInode => {}, // files.sort_by(|a, b| a.stat.unstable.inode.cmp(&b.stat.unstable.inode)),
+ SortField::FileInode => files.sort_by(|a, b| a.stat.as_raw().ino().cmp(&b.stat.as_raw().ino())),
SortField::Extension => files.sort_by(|a, b| match a.ext.cmp(&b.ext) {
Ordering::Equal => natord::compare(&*a.name, &*b.name),
order => order
}),
- SortField::ModifiedDate => files.sort_by(|a, b| a.stat.modified().cmp(&b.stat.modified())),
- SortField::AccessedDate => files.sort_by(|a, b| a.stat.accessed().cmp(&b.stat.accessed())),
- SortField::CreatedDate => {}, // files.sort_by(|a, b| a.stat.created().cmp(&b.stat.created())),
+ SortField::ModifiedDate => files.sort_by(|a, b| a.stat.as_raw().mtime().cmp(&b.stat.as_raw().mtime())),
+ SortField::AccessedDate => files.sort_by(|a, b| a.stat.as_raw().atime().cmp(&b.stat.as_raw().atime())),
+ SortField::CreatedDate => files.sort_by(|a, b| a.stat.as_raw().ctime().cmp(&b.stat.as_raw().ctime())),
}
if self.reverse {