1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37: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)), 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)] #[derive(Debug, Error)]
enum WcError { enum WcError {
#[error("file operands cannot be combined with --files0-from")] #[error("extra operand '{extra}'\nfile operands cannot be combined with --files0-from")]
FilesDisabled, FilesDisabled { extra: Cow<'static, str> },
#[error("when reading file names from stdin, no file name of '-' allowed")] #[error("when reading file names from stdin, no file name of '-' allowed")]
StdinReprNotAllowed, StdinReprNotAllowed,
#[error("invalid zero-length file name")] #[error("invalid zero-length file name")]
@ -365,11 +365,15 @@ impl WcError {
None => Self::ZeroLengthFileName, 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 { impl UError for WcError {
fn usage(&self) -> bool { 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] #[test]
fn test_files0_disabled_files_argument() { 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!() new_ucmd!()
.args(&["--files0-from=files0_list.txt"]) .args(&["--files0-from=files0_list.txt"])
.arg("lorem_ipsum.txt") .arg("lorem_ipsum.txt")