summary refs log tree commit diff
path: root/ripple/fossil
diff options
context:
space:
mode:
Diffstat (limited to 'ripple/fossil')
-rw-r--r--ripple/fossil/src/bin/mount.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/ripple/fossil/src/bin/mount.rs b/ripple/fossil/src/bin/mount.rs
index ee46b8e..f1bcdde 100644
--- a/ripple/fossil/src/bin/mount.rs
+++ b/ripple/fossil/src/bin/mount.rs
@@ -388,23 +388,23 @@ impl fuser::Filesystem for Filesystem {
 					}
 				};
 
-				let mut children = vec![
-					(ino, fuser::FileType::Directory, "."),
-					(ino, fuser::FileType::Directory, ".."),
-				];
-
-				for entry in dir.iter() {
+				let children = dir.iter().map(|entry| {
 					let kind = match entry.node() {
 						memtree::Node::Directory(_) => fuser::FileType::Directory,
 						memtree::Node::File(_) => fuser::FileType::RegularFile,
 						memtree::Node::Link { .. } => fuser::FileType::Symlink,
 					};
-					children.push((ino + entry.index as u64 + 1, kind, &entry.name));
-				}
+					(ino + entry.index as u64 + 1, kind, entry.name.as_str())
+				});
+
+				let children = [
+					(ino, fuser::FileType::Directory, "."),
+					(ino, fuser::FileType::Directory, ".."),
+				]
+				.into_iter()
+				.chain(children);
 
-				for (offset, &(ino, kind, name)) in
-					children.iter().enumerate().skip(offset as usize)
-				{
+				for (offset, (ino, kind, name)) in children.enumerate().skip(offset as usize) {
 					if reply.add(ino, (offset + 1) as i64, kind, name) {
 						break;
 					}