Check argc instead of settings exclusive flag

This commit is contained in:
Jaroslaw Konik 2022-08-15 18:36:26 +02:00
parent 025a0dfa9e
commit 710e2af5fd
2 changed files with 12 additions and 4 deletions

View file

@ -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<OsString> = 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(

View file

@ -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<OsString> = 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(