aboutsummaryrefslogtreecommitdiffstats
path: root/examples/explode.rs
blob: 67e0e481a160e3de2440db4dcf6d1db72b7d933d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use std::io::Write as _;

fn main() {
    let file = std::env::args_os().nth(1).unwrap();
    let fh = std::fs::File::open(file).unwrap();
    let mut reader = ttyrec::blocking::Reader::new(fh);

    let mut idx = 1;
    loop {
        match reader.read_frame() {
            Ok(frame) => {
                let mut fh =
                    std::fs::File::create(&format!("{}.out", idx)).unwrap();
                fh.write_all(&frame.data).unwrap();
                idx += 1;
            }
            Err(ttyrec::Error::EOF) => {
                break;
            }
            Err(e) => {
                eprintln!("{}", e);
                std::process::exit(1);
            }
        }
    }
}