1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 03:27:44 +00:00

wc: fix FilesDisabled error message

This commit is contained in:
zhitkoff 2023-11-25 18:16:34 -05:00
parent 84b5e6f0a1
commit f8f6346126
2 changed files with 10 additions and 5 deletions

View file

@ -167,7 +167,7 @@ impl<'a> Inputs<'a> {
None => Ok(Self::Files0From(input)),
}
}
(Some(_), Some(_)) => Err(WcError::FilesDisabled.into()),
(Some(mut files), Some(_)) => Err(WcError::files_disabled(files.next()).into()),
}
}
@ -342,8 +342,8 @@ impl TotalWhen {
#[derive(Debug, Error)]
enum WcError {
#[error("file operands cannot be combined with --files0-from")]
FilesDisabled,
#[error("extra operand '{extra}'\nfile operands cannot be combined with --files0-from")]
FilesDisabled { extra: Cow<'static, str> },
#[error("when reading file names from stdin, no file name of '-' allowed")]
StdinReprNotAllowed,
#[error("invalid zero-length file name")]
@ -365,11 +365,15 @@ impl WcError {
None => Self::ZeroLengthFileName,
}
}
fn files_disabled(first_extra: Option<&OsString>) -> Self {
let extra = first_extra.unwrap().to_string_lossy().into_owned().into();
Self::FilesDisabled { extra }
}
}
impl UError for WcError {
fn usage(&self) -> bool {
matches!(self, Self::FilesDisabled)
matches!(self, Self::FilesDisabled { .. })
}
}

View file

@ -423,7 +423,8 @@ fn test_files_from_pseudo_filesystem() {
#[test]
fn test_files0_disabled_files_argument() {
const MSG: &str = "file operands cannot be combined with --files0-from";
const MSG: &str =
"extra operand 'lorem_ipsum.txt'\nfile operands cannot be combined with --files0-from";
new_ucmd!()
.args(&["--files0-from=files0_list.txt"])
.arg("lorem_ipsum.txt")