From 65ae7f90e53ecec17bcab62814b0d71c7f06daee Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 21 Apr 2019 19:58:22 +0200 Subject: [PATCH 1/3] Debug --- src/args.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/args.rs b/src/args.rs index 50382a9..a03405c 100644 --- a/src/args.rs +++ b/src/args.rs @@ -34,7 +34,10 @@ pub(crate) fn parse_args() -> Result { Some("runner") => parse_runner_args(args), Some("--help") | Some("-h") => Ok(Command::Help), Some("--version") => Ok(Command::Version), - _ => Ok(Command::NoSubcommand), + x => { + println!("expected subcommand, found: {:?}", x); + Ok(Command::NoSubcommand) + }, } } From 57e6d318404fa247e1a685bba4ef7a4b42ddc836 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 21 Apr 2019 20:09:26 +0200 Subject: [PATCH 2/3] Debug --- src/args.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/args.rs b/src/args.rs index a03405c..9022290 100644 --- a/src/args.rs +++ b/src/args.rs @@ -35,7 +35,7 @@ pub(crate) fn parse_args() -> Result { Some("--help") | Some("-h") => Ok(Command::Help), Some("--version") => Ok(Command::Version), x => { - println!("expected subcommand, found: {:?}", x); + println!("expected subcommand, found: {:?}, executable name: {:?}", x, executable_name); Ok(Command::NoSubcommand) }, } From 9c60c1ee770aad63982eb272cc44a3ecce71768d Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 21 Apr 2019 20:25:53 +0200 Subject: [PATCH 3/3] Debug --- src/args.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/args.rs b/src/args.rs index 9022290..72b4d70 100644 --- a/src/args.rs +++ b/src/args.rs @@ -6,11 +6,15 @@ use std::{env, mem}; pub(crate) fn parse_args() -> Result { let mut args = env::args(); - let executable_name = args.next().ok_or("no first argument (executable name)")?; + let is_cargo_bootimage = { + let executable_name = args.next().ok_or("no first argument (executable name)")?; + let file_stem = Path::new(&executable_name).file_stem().and_then(|s| s.to_str()); + file_stem == Some("cargo-bootimage") + }; let first = args.next(); match first.as_ref().map(|s| s.as_str()) { Some("build") => parse_build_args(args), - Some("bootimage") if executable_name.ends_with("cargo-bootimage") => parse_build_args(args) + Some("bootimage") if is_cargo_bootimage => parse_build_args(args) .map(|cmd| match cmd { Command::BuildHelp => Command::CargoBootimageHelp, cmd => cmd, @@ -34,10 +38,7 @@ pub(crate) fn parse_args() -> Result { Some("runner") => parse_runner_args(args), Some("--help") | Some("-h") => Ok(Command::Help), Some("--version") => Ok(Command::Version), - x => { - println!("expected subcommand, found: {:?}, executable name: {:?}", x, executable_name); - Ok(Command::NoSubcommand) - }, + _ => Ok(Command::NoSubcommand), } }