Fix more opts.
This commit is contained in:
18
src/main.rs
18
src/main.rs
@@ -14,24 +14,32 @@ use byteorder::{ReadBytesExt, WriteBytesExt, LittleEndian};
|
|||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args: Vec<String> = env::args().collect();
|
let args: Vec<String> = env::args().collect();
|
||||||
|
let program = args[0].clone();
|
||||||
|
|
||||||
let mut opts = Options::new();
|
let mut opts = Options::new();
|
||||||
|
|
||||||
opts.optflag("c", "", "Compress file");
|
opts.optflag("c", "", "compress file");
|
||||||
opts.optflag("x", "", "Extract file");
|
opts.optflag("d", "", "decompress file");
|
||||||
|
opts.optflag("h", "help", "display this help and exit");
|
||||||
|
|
||||||
let matches = match opts.parse(&args[1..]) {
|
let matches = match opts.parse(&args[1..]) {
|
||||||
Ok(m) => { m }
|
Ok(m) => { m }
|
||||||
Err(f) => { panic!(f.to_string()) }
|
Err(f) => { panic!(f.to_string()) }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if matches.opt_present("help") {
|
||||||
|
let brief = format!("Usage: {} [option] INPUT OUTPUT", program);
|
||||||
|
print!("{}", opts.usage(&brief));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if matches.opt_present("c") {
|
if matches.opt_present("c") {
|
||||||
let input = &matches.free[0];
|
let input = &matches.free[0];
|
||||||
let output = &matches.free[1];
|
let output = &matches.free[1];
|
||||||
|
|
||||||
create(&input, &output);
|
compress(&input, &output);
|
||||||
}
|
}
|
||||||
else if matches.opt_present("x") {
|
else if matches.opt_present("d") {
|
||||||
let input = &matches.free[0];
|
let input = &matches.free[0];
|
||||||
let output = &matches.free[1];
|
let output = &matches.free[1];
|
||||||
|
|
||||||
@@ -39,7 +47,7 @@ fn main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn create(input: &String, output: &String) {
|
fn compress(input: &String, output: &String) {
|
||||||
let mut output_file = fs::File::create(output).unwrap();
|
let mut output_file = fs::File::create(output).unwrap();
|
||||||
|
|
||||||
let input_file = fs::File::open(input).unwrap();
|
let input_file = fs::File::open(input).unwrap();
|
||||||
|
|||||||
Reference in New Issue
Block a user