diff --git a/src/main.rs b/src/main.rs index 48a7cb7..d05e3a6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -76,25 +76,16 @@ fn main() { _ => Box::new(BufReader::new(std::io::stdin())), }; + let input: Box = if args.decompress { + let gz_decoder = GzDecoder::new(input); + Box::new(BufReader::new(gz_decoder)) + } else { + Box::new(input) + }; + match &args.command { - Command::Info => { - if args.decompress { - let gz_decoder = GzDecoder::new(input); - let buf_reader = BufReader::new(gz_decoder); - info(buf_reader) - } else { - info(BufReader::new(input)) - } - } - Command::Scramble => { - if args.decompress { - let gz_decoder = GzDecoder::new(input); - let buf_reader = BufReader::new(gz_decoder); - scramble(buf_reader) - } else { - scramble(BufReader::new(input)) - } - } + Command::Info => info(input), + Command::Scramble => scramble(input), } println!()