diff options
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs index 5639158..7e5787a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -20,6 +20,10 @@ fn parse_args() -> Option<String> { loop { match args.next() { Some(arg) => { + if arg == "-h" || arg == "--help" { + help(); + return None; + } if arg == "-c" || arg == "--config" { let config_fname = args.next().unwrap(); return Some(config_fname); @@ -29,7 +33,7 @@ fn parse_args() -> Option<String> { } } - None + Some("/etc/sheldond.conf".to_string()) } fn parse_config(fname: String) -> server::ServerConfig { @@ -38,8 +42,8 @@ fn parse_config(fname: String) -> server::ServerConfig { let file = match File::open(path) { Ok(file) => BufReader::new(file), - Err(e) => { - panic!(e); + Err(_) => { + panic!("could not open config file: {}", fname); } }; @@ -77,13 +81,13 @@ fn parse_config(fname: String) -> server::ServerConfig { } fn main() { - let config = match parse_args() { - Some(config_fname) => parse_config(config_fname), + let config_fname = match parse_args() { + Some(config_fname) => config_fname, None => { - help(); return; } }; + let config = parse_config(config_fname); let server = server::Server::new(&config); server.serve(); |
