coreutils: --help args is same with --help

This commit is contained in:
oech3
2026-03-17 22:35:34 +09:00
committed by Sylvestre Ledru
parent ef5243ea21
commit 36265cb9ee
2 changed files with 13 additions and 19 deletions
+1 -19
View File
@@ -125,26 +125,8 @@ fn main() {
process::exit(uumain(vec![util_os].into_iter().chain(args)));
}
None => {
// GNU coreutils --help string shows help for coreutils
if util == "--help" || util == "-h" {
// see if they want help on a specific util
if let Some(util_os) = args.next() {
let Some(util) = util_os.to_str() else {
validation::not_found(&util_os)
};
match utils.get(util) {
Some(&(uumain, _)) => {
let code = uumain(
vec![util_os, OsString::from("--help")]
.into_iter()
.chain(args),
);
io::stdout().flush().expect("could not flush stdout");
process::exit(code);
}
None => validation::not_found(&util_os),
}
}
usage(&utils, binary_as_util);
process::exit(0);
} else if util.starts_with('-') {
+12
View File
@@ -40,6 +40,18 @@ fn binary_name_protection() {
.stdout_contains("coreutils");
}
#[test]
fn test_coreutils_help_ignore_args() {
let scenario = TestScenario::new("help_ignoring_args");
let output = std::process::Command::new(&scenario.bin_path)
.arg("--help")
.arg("---")
.output()
.unwrap();
assert_eq!(output.status.code(), Some(0));
}
#[test]
#[cfg(feature = "ls")]
fn execution_phrase_double() {