Do not use feature exit_status

This commit is contained in:
Mathijs van de Nes 2015-04-03 14:54:57 +02:00
parent b4d7747966
commit a328b8ba2c
3 changed files with 25 additions and 14 deletions

View file

@ -1,17 +1,18 @@
#![feature(exit_status)]
extern crate zip; extern crate zip;
use std::io; use std::io;
use std::fs; use std::fs;
fn main() fn main() {
std::process::exit(real_main());
}
fn real_main() -> i32
{ {
let args: Vec<_> = std::env::args().collect(); let args: Vec<_> = std::env::args().collect();
if args.len() < 2 { if args.len() < 2 {
println!("Usage: {} <filename>", args[0]); println!("Usage: {} <filename>", args[0]);
std::env::set_exit_status(1); return 1;
return;
} }
let fname = std::path::Path::new(&*args[1]); let fname = std::path::Path::new(&*args[1]);
let file = fs::File::open(&fname).unwrap(); let file = fs::File::open(&fname).unwrap();
@ -38,6 +39,8 @@ fn main()
write_file(&mut file, &outpath); write_file(&mut file, &outpath);
} }
} }
return 0;
} }
fn write_file(reader: &mut zip::read::ZipFile, outpath: &std::path::Path) fn write_file(reader: &mut zip::read::ZipFile, outpath: &std::path::Path)

View file

@ -1,16 +1,18 @@
#![feature(exit_status)]
use std::io::prelude::*; use std::io::prelude::*;
extern crate zip; extern crate zip;
fn main() fn main()
{
std::process::exit(real_main());
}
fn real_main() -> i32
{ {
let args: Vec<_> = std::env::args().collect(); let args: Vec<_> = std::env::args().collect();
if args.len() < 2 { if args.len() < 2 {
println!("Usage: {} <filename>", args[0]); println!("Usage: {} <filename>", args[0]);
std::env::set_exit_status(1); return 1;
return;
} }
let fname = std::path::Path::new(&*args[1]); let fname = std::path::Path::new(&*args[1]);
let zipfile = std::fs::File::open(&fname).unwrap(); let zipfile = std::fs::File::open(&fname).unwrap();
@ -20,10 +22,12 @@ fn main()
let mut file = match archive.by_name("test/lorem_ipsum.txt") let mut file = match archive.by_name("test/lorem_ipsum.txt")
{ {
Ok(file) => file, Ok(file) => file,
Err(..) => { println!("File test/lorem_ipsum.txt not found"); return } Err(..) => { println!("File test/lorem_ipsum.txt not found"); return 2;}
}; };
let mut contents = String::new(); let mut contents = String::new();
file.read_to_string(&mut contents).unwrap(); file.read_to_string(&mut contents).unwrap();
println!("{}", contents); println!("{}", contents);
return 0;
} }

View file

@ -1,16 +1,18 @@
#![feature(exit_status)]
use std::io::prelude::*; use std::io::prelude::*;
extern crate zip; extern crate zip;
fn main() fn main()
{
std::process::exit(real_main());
}
fn real_main() -> i32
{ {
let args: Vec<_> = std::env::args().collect(); let args: Vec<_> = std::env::args().collect();
if args.len() < 2 { if args.len() < 2 {
println!("Usage: {} <filename>", args[0]); println!("Usage: {} <filename>", args[0]);
std::env::set_exit_status(1); return 1;
return;
} }
let filename = &*args[1]; let filename = &*args[1];
@ -19,6 +21,8 @@ fn main()
Ok(_) => println!("File written to {}", filename), Ok(_) => println!("File written to {}", filename),
Err(e) => println!("Error: {:?}", e), Err(e) => println!("Error: {:?}", e),
} }
return 0;
} }
fn doit(filename: &str) -> zip::result::ZipResult<()> fn doit(filename: &str) -> zip::result::ZipResult<()>