summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-10-02 10:39:25 +0300
committerLars Wirzenius <liw@liw.fi>2018-10-02 10:39:25 +0300
commit3b96be47ec5409dda2c43207c4e86b76bb35ae70 (patch)
treeee72f4d23696666c3ee93a6b1ba1e6dd64afd8f9
parenta868123414a50af8be5cd3f5a27b4fa372987ca9 (diff)
downloadsummainrs-3b96be47ec5409dda2c43207c4e86b76bb35ae70.tar.gz
Change: use BTReeMap to retain order of fields in output
-rw-r--r--src/main.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/main.rs b/src/main.rs
index 3813671..ea37040 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,6 +1,6 @@
use std::env;
use std::io;
-use std::collections::HashMap;
+use std::collections::BTreeMap;
extern crate walkdir;
use walkdir::{WalkDir, DirEntry};
@@ -15,15 +15,15 @@ mod format;
fn main() -> io::Result<()> {
for dirname in env::args().skip(1) {
for e in WalkDir::new(&dirname).into_iter().filter_map(|e| e.ok()) {
- let hash = mkhash(&e);
- println!("{}", serde_yaml::to_string(&hash).unwrap());
+ let map = mkmap(&e);
+ println!("{}", serde_yaml::to_string(&map).unwrap());
}
}
Ok(())
}
-fn mkhash(e: &DirEntry) -> HashMap<&str, String> {
+fn mkmap(e: &DirEntry) -> BTreeMap<&str, String> {
let fields = vec![
("Name", format::name(e)),
("Mtime", format::mtime(e)),
@@ -37,13 +37,13 @@ fn mkhash(e: &DirEntry) -> HashMap<&str, String> {
("Gid", format::gid(e)),
("Group", format::group(e)),
];
- let mut hash: HashMap<&str, String> =
- HashMap::from(fields.iter().cloned().collect());
+ let mut map: BTreeMap<&str, String> =
+ BTreeMap::from(fields.iter().cloned().collect());
if let Ok(m) = e.metadata() {
if m.is_file() {
- hash.insert("SHA256", format::sha256(e));
+ map.insert("SHA256", format::sha256(e));
}
}
- hash
+ map
}