diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-10-01 18:11:20 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-10-01 18:11:20 +0300 |
commit | 22fded7eb2bc84aceda4d67749d48554b80be2f1 (patch) | |
tree | 3179eed6eb72fc16ac2cac112dd8f440b47c3de5 /src | |
parent | 598bcdd90e38fc170c8b85ea713358adfd56ade9 (diff) | |
download | summainrs-22fded7eb2bc84aceda4d67749d48554b80be2f1.tar.gz |
Change: add rfc822-style output (not all fields yet)
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 63 |
1 files changed, 61 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index c31dd20..cdaa8e0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ use std::env; use std::io; use std::fs; use std::os::unix::fs::PermissionsExt; +use std::os::linux::fs::MetadataExt; mod fswalk; use fswalk::DirTree; @@ -20,11 +21,69 @@ fn main() -> io::Result<()> { fn write_info(path: &str, meta: &fs::Metadata) { - println!("{} {}", format_metadata(&meta), path); + println!("Name: {}", path); + println!("Mtime: {}", format_mtime(meta)); + println!("Mode: {}", format_mode(meta)); + println!("Ino: {}", format_inode(meta)); + println!("Dev: {}", format_dev(meta)); + println!("Nlink: {}", format_nlink(meta)); + println!("Size: {}", format_size(meta)); + println!("Uid: {}", format_uid(meta)); + println!("Username: {}", format_username(meta)); + println!("Gid: {}", format_gid(meta)); + println!("Group: {}", format_group(meta)); + println!("SHA256: xxx"); + println!(""); } -fn format_metadata(meta: &fs::Metadata) -> String { +fn format_mtime(meta: &fs::Metadata) -> String { + let mtime = meta.modified().unwrap(); + format!("{:?}", mtime) +} + + +fn format_mode(meta: &fs::Metadata) -> String { let mode = meta.permissions().mode(); format!("{:06o}", mode) } + + +fn format_inode(meta: &fs::Metadata) -> String { + format!("{}", meta.st_ino()) +} + + +fn format_dev(meta: &fs::Metadata) -> String { + format!("{}", meta.st_dev()) +} + + +fn format_nlink(meta: &fs::Metadata) -> String { + format!("{}", meta.st_nlink()) +} + + +fn format_size(meta: &fs::Metadata) -> String { + format!("{}", meta.len()) +} + + +fn format_uid(meta: &fs::Metadata) -> String { + format!("{}", meta.st_uid()) +} + + +fn format_gid(meta: &fs::Metadata) -> String { + format!("{}", meta.st_gid()) +} + + +fn format_username(meta: &fs::Metadata) -> String { + format!("xxx") +} + + +fn format_group(meta: &fs::Metadata) -> String { + format!("xxx") +} |