1use std::fs::File;
2use tarfs::{file_device::FileDevice, TarFS};
3
4fn main() {
5 let filename = match std::env::args().skip(1).next() {
6 Some(f) => f,
7 None => {
8 eprintln!("Please provide the name of a file.");
9 std::process::exit(1);
10 },
11 };
12
13 let fs = TarFS::from_device(FileDevice(File::open(filename).unwrap()));
14
15 if fs.is_none() {
16 println!("Failed to open TAR file.");
17 return;
18 }
19
20 let mut fs = fs.unwrap();
21
22 let ents = fs.list();
23
24 for i in ents {
25 let i = i.unwrap();
26
27 println!("{:40} - {:12} bytes", &i.name, i.size);
28 }
29}