From 29afca124cb2d85903cee44af24c4acad3e118c0 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 9 Aug 2020 18:32:25 +0100 Subject: [PATCH] reorg, compiles --- src/bin/otter.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/otter.rs b/src/bin/otter.rs index 01e16eaf..863ac39b 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -116,7 +116,10 @@ where T: Default, let mut parsed = Default::default(); let ap = apmaker(&mut parsed); - ap.parse_args().unwrap_or_else(|rc| exit(if rc!=0 { EXIT_USAGE } else { 0 })); + if let Err(mut rc) = ap.parse_args() { + if rc!=0 { rc = EXIT_USAGE } + exit(rc); + } mem::drop(ap); completer(&mut parsed).unwrap_or_else(|e| { eprintln!("bad usage: {}", &e); @@ -134,7 +137,7 @@ fn main() { subcommand: String, subargs: Vec, }; - let ma = parse_args(&|ma: &mut MainArgs|{ + let ma = parse_args::(&|ma|{ let mut ap = ArgumentParser::new(); ap.stop_on_first_argument(true); ap.silence_double_dash(true); @@ -156,7 +159,7 @@ fn main() { StoreConst(None), "use USER scope"); ap - }, &|ma: &mut MainArgs| { + }, &|ma| { if let ref mut scope @None = ma.opts.scope { let user = env::var("USER").map_err(|e| ArgumentParseError( format!("--scope-unix needs USER env var: {}", &e) -- 2.30.2