From 9eadce68d85a741bd188816a582feef30446415c Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sat, 16 Feb 2019 18:40:43 +0000 Subject: fixup! Manually handle -V/--version argument --- nitrocli/src/args.rs | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/nitrocli/src/args.rs b/nitrocli/src/args.rs index 33069e6..6d77894 100644 --- a/nitrocli/src/args.rs +++ b/nitrocli/src/args.rs @@ -864,25 +864,28 @@ pub(crate) fn handle_arguments(ctx: &mut RunCtx<'_>, args: Vec) -> Resul "The arguments for the command", ); parser.stop_on_first_argument(true); - parse(ctx, parser, args)?; - - subargs.insert(0, format!("nitrocli {}", command)); + let result = parse(ctx, parser, args); if version { ctx.stdout.write_all(concat!("nitrocli ", env!("CARGO_PKG_VERSION")).as_ref())?; Ok(()) } else { - let mut ctx = ExecCtx { - model, - stdout: ctx.stdout, - stderr: ctx.stderr, - admin_pin: ctx.admin_pin.take(), - user_pin: ctx.user_pin.take(), - new_admin_pin: ctx.new_admin_pin.take(), - new_user_pin: ctx.new_user_pin.take(), - password: ctx.password.take(), - verbosity, - }; - command.execute(&mut ctx, subargs) + if result.is_ok() { + subargs.insert(0, format!("nitrocli {}", command)); + let mut ctx = ExecCtx { + model, + stdout: ctx.stdout, + stderr: ctx.stderr, + admin_pin: ctx.admin_pin.take(), + user_pin: ctx.user_pin.take(), + new_admin_pin: ctx.new_admin_pin.take(), + new_user_pin: ctx.new_user_pin.take(), + password: ctx.password.take(), + verbosity, + }; + command.execute(&mut ctx, subargs) + } else { + result + } } } -- cgit v1.2.1