diff --git a/src/uu/false/src/false.rs b/src/uu/false/src/false.rs index c9447598b..4b8ef36e2 100644 --- a/src/uu/false/src/false.rs +++ b/src/uu/false/src/false.rs @@ -5,7 +5,7 @@ // * For the full copyright and license information, please view the LICENSE // * file that was distributed with this source code. use clap::{Arg, ArgAction, Command}; -use std::io::Write; +use std::{ffi::OsString, io::Write}; use uucore::error::{set_exit_code, UResult}; static ABOUT: &str = "\ @@ -26,6 +26,11 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { // and unwind through the standard library allocation handling machinery. set_exit_code(1); + let args: Vec = args.collect(); + if args.len() > 2 { + return Ok(()); + } + if let Err(e) = command.try_get_matches_from_mut(args) { let error = match e.kind() { clap::ErrorKind::DisplayHelp => command.print_help(), @@ -56,7 +61,6 @@ pub fn uu_app<'a>() -> Command<'a> { Arg::new("help") .long("help") .help("Print help information") - .exclusive(true) .action(ArgAction::Help), ) .arg( diff --git a/src/uu/true/src/true.rs b/src/uu/true/src/true.rs index 20a9f39f0..50a0636aa 100644 --- a/src/uu/true/src/true.rs +++ b/src/uu/true/src/true.rs @@ -5,7 +5,7 @@ // * For the full copyright and license information, please view the LICENSE // * file that was distributed with this source code. use clap::{Arg, ArgAction, Command}; -use std::io::Write; +use std::{ffi::OsString, io::Write}; use uucore::error::{set_exit_code, UResult}; static ABOUT: &str = "\ @@ -20,6 +20,11 @@ operation causes the program to return `1` instead. pub fn uumain(args: impl uucore::Args) -> UResult<()> { let mut command = uu_app(); + let args: Vec = args.collect(); + if args.len() > 2 { + return Ok(()); + } + if let Err(e) = command.try_get_matches_from_mut(args) { let error = match e.kind() { clap::ErrorKind::DisplayHelp => command.print_help(), @@ -53,7 +58,6 @@ pub fn uu_app<'a>() -> Command<'a> { Arg::new("help") .long("help") .help("Print help information") - .exclusive(true) .action(ArgAction::Help), ) .arg(