Skip to main content

dump/
dump.rs

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}