diff --git a/src/uu/base32/src/base_common.rs b/src/uu/base32/src/base_common.rs index d49f02bc8..41a9fcc6a 100644 --- a/src/uu/base32/src/base_common.rs +++ b/src/uu/base32/src/base_common.rs @@ -87,9 +87,7 @@ impl Config { pub fn parse_base_cmd_args(args: impl uucore::Args, about: &str, usage: &str) -> UResult { let command = base_app(about, usage); - let arg_list = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let arg_list = args.collect_str(InvalidEncodingHandling::ConvertLossy); Config::from(&command.try_get_matches_from(arg_list)?) } diff --git a/src/uu/basename/src/basename.rs b/src/uu/basename/src/basename.rs index b52717287..461dabb66 100644 --- a/src/uu/basename/src/basename.rs +++ b/src/uu/basename/src/basename.rs @@ -28,9 +28,7 @@ pub mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); // Since options have to go before names, // if the first argument is not an option, then there is no option, diff --git a/src/uu/basenc/src/basenc.rs b/src/uu/basenc/src/basenc.rs index 1ecacf936..9a4f19f2b 100644 --- a/src/uu/basenc/src/basenc.rs +++ b/src/uu/basenc/src/basenc.rs @@ -52,10 +52,7 @@ pub fn uu_app<'a>() -> Command<'a> { fn parse_cmd_args(args: impl uucore::Args) -> UResult<(Config, Format)> { let matches = uu_app() - .try_get_matches_from( - args.collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(), - ) + .try_get_matches_from(args.collect_str(InvalidEncodingHandling::ConvertLossy)) .with_exit_code(1)?; let format = ENCODINGS .iter() diff --git a/src/uu/cat/src/cat.rs b/src/uu/cat/src/cat.rs index 62afc0aa3..584e1d735 100644 --- a/src/uu/cat/src/cat.rs +++ b/src/uu/cat/src/cat.rs @@ -184,9 +184,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().try_get_matches_from(args)?; diff --git a/src/uu/chmod/src/chmod.rs b/src/uu/chmod/src/chmod.rs index d1a051a1c..458f788b2 100644 --- a/src/uu/chmod/src/chmod.rs +++ b/src/uu/chmod/src/chmod.rs @@ -46,9 +46,7 @@ fn get_long_usage() -> String { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let mut args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let mut args = args.collect_str(InvalidEncodingHandling::ConvertLossy); // Before we can parse 'args' with clap (and previously getopts), // a possible MODE prefix '-' needs to be removed (e.g. "chmod -x FILE"). diff --git a/src/uu/chroot/src/chroot.rs b/src/uu/chroot/src/chroot.rs index 6f575f4b1..79f679561 100644 --- a/src/uu/chroot/src/chroot.rs +++ b/src/uu/chroot/src/chroot.rs @@ -33,9 +33,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/cksum/src/cksum.rs b/src/uu/cksum/src/cksum.rs index fd9796769..62d658969 100644 --- a/src/uu/cksum/src/cksum.rs +++ b/src/uu/cksum/src/cksum.rs @@ -114,9 +114,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/comm/src/comm.rs b/src/uu/comm/src/comm.rs index d553a87ca..5ba9b434f 100644 --- a/src/uu/comm/src/comm.rs +++ b/src/uu/comm/src/comm.rs @@ -132,9 +132,7 @@ fn open_file(name: &str) -> io::Result { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); let filename1 = matches.value_of(options::FILE_1).unwrap(); diff --git a/src/uu/csplit/src/csplit.rs b/src/uu/csplit/src/csplit.rs index fc60ec1ca..4f94020b6 100644 --- a/src/uu/csplit/src/csplit.rs +++ b/src/uu/csplit/src/csplit.rs @@ -713,9 +713,7 @@ mod tests { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/cut/src/cut.rs b/src/uu/cut/src/cut.rs index 2d76648d0..f9319d0e8 100644 --- a/src/uu/cut/src/cut.rs +++ b/src/uu/cut/src/cut.rs @@ -398,9 +398,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let delimiter_is_equal = args.contains(&"-d=".to_string()); // special case let matches = uu_app().get_matches_from(args); diff --git a/src/uu/dd/src/dd.rs b/src/uu/dd/src/dd.rs index 94da4b7d3..d60ad1e3c 100644 --- a/src/uu/dd/src/dd.rs +++ b/src/uu/dd/src/dd.rs @@ -707,7 +707,6 @@ fn append_dashes_if_not_present(mut acc: Vec, mut s: String) -> Vec UResult<()> { let dashed_args = args .collect_str(InvalidEncodingHandling::Ignore) - .accept_any() .into_iter() .fold(Vec::new(), append_dashes_if_not_present); diff --git a/src/uu/dircolors/src/dircolors.rs b/src/uu/dircolors/src/dircolors.rs index 5a014eafe..04a9f6dd8 100644 --- a/src/uu/dircolors/src/dircolors.rs +++ b/src/uu/dircolors/src/dircolors.rs @@ -65,9 +65,7 @@ pub fn guess_syntax() -> OutputFmt { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(&args); diff --git a/src/uu/dirname/src/dirname.rs b/src/uu/dirname/src/dirname.rs index 5b7fa3c56..670a4a589 100644 --- a/src/uu/dirname/src/dirname.rs +++ b/src/uu/dirname/src/dirname.rs @@ -28,9 +28,7 @@ fn get_long_usage() -> String { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let after_help = get_long_usage(); diff --git a/src/uu/du/src/du.rs b/src/uu/du/src/du.rs index 22d229f83..649edcd8d 100644 --- a/src/uu/du/src/du.rs +++ b/src/uu/du/src/du.rs @@ -516,9 +516,7 @@ fn build_exclude_patterns(matches: &ArgMatches) -> UResult> { #[uucore::main] #[allow(clippy::cognitive_complexity)] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/echo/src/echo.rs b/src/uu/echo/src/echo.rs index f02f938f2..3904d6225 100644 --- a/src/uu/echo/src/echo.rs +++ b/src/uu/echo/src/echo.rs @@ -110,9 +110,7 @@ fn print_escaped(input: &str, mut output: impl Write) -> io::Result { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); let no_newline = matches.contains_id(options::NO_NEWLINE); diff --git a/src/uu/expand/src/expand.rs b/src/uu/expand/src/expand.rs index 06d903679..f1ece7d0c 100644 --- a/src/uu/expand/src/expand.rs +++ b/src/uu/expand/src/expand.rs @@ -269,9 +269,7 @@ fn expand_shortcuts(args: &[String]) -> Vec { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(expand_shortcuts(&args)); diff --git a/src/uu/expr/src/expr.rs b/src/uu/expr/src/expr.rs index 104398241..cf4e27d01 100644 --- a/src/uu/expr/src/expr.rs +++ b/src/uu/expr/src/expr.rs @@ -33,9 +33,7 @@ pub fn uu_app<'a>() -> Command<'a> { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); // For expr utility we do not want getopts. // The following usage should work without escaping hyphens: `expr -15 = 1 + 2 \* \( 3 - -4 \)` diff --git a/src/uu/fold/src/fold.rs b/src/uu/fold/src/fold.rs index 6484a56f9..b923e6fa7 100644 --- a/src/uu/fold/src/fold.rs +++ b/src/uu/fold/src/fold.rs @@ -31,9 +31,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let (args, obs_width) = handle_obsolete(&args[..]); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/kill/src/kill.rs b/src/uu/kill/src/kill.rs index 3c8f62d59..f7548dbed 100644 --- a/src/uu/kill/src/kill.rs +++ b/src/uu/kill/src/kill.rs @@ -38,9 +38,7 @@ pub enum Mode { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let mut args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let mut args = args.collect_str(InvalidEncodingHandling::Ignore); let obs_signal = handle_obsolete(&mut args); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/logname/src/logname.rs b/src/uu/logname/src/logname.rs index 29a74a373..5fe2181af 100644 --- a/src/uu/logname/src/logname.rs +++ b/src/uu/logname/src/logname.rs @@ -37,9 +37,7 @@ static ABOUT: &str = "Print user's login name"; #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let _ = uu_app().get_matches_from(args); diff --git a/src/uu/mkdir/src/mkdir.rs b/src/uu/mkdir/src/mkdir.rs index 8a6d2e9dd..b6a13f2fc 100644 --- a/src/uu/mkdir/src/mkdir.rs +++ b/src/uu/mkdir/src/mkdir.rs @@ -83,9 +83,7 @@ fn strip_minus_from_mode(args: &mut Vec) -> bool { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let mut args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let mut args = args.collect_str(InvalidEncodingHandling::ConvertLossy); // Before we can parse 'args' with clap (and previously getopts), // a possible MODE prefix '-' needs to be removed (e.g. "chmod -x FILE"). diff --git a/src/uu/mkfifo/src/mkfifo.rs b/src/uu/mkfifo/src/mkfifo.rs index 3530b5c9e..2e8d0c7b1 100644 --- a/src/uu/mkfifo/src/mkfifo.rs +++ b/src/uu/mkfifo/src/mkfifo.rs @@ -28,9 +28,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/mknod/src/mknod.rs b/src/uu/mknod/src/mknod.rs index cda500f65..1b6f8c5c5 100644 --- a/src/uu/mknod/src/mknod.rs +++ b/src/uu/mknod/src/mknod.rs @@ -81,9 +81,7 @@ fn _mknod(file_name: &str, mode: mode_t, dev: dev_t) -> i32 { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); // Linux-specific options, not implemented // opts.optflag("Z", "", "set the SELinux security context to default type"); // opts.optopt("", "context", "like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX"); diff --git a/src/uu/mktemp/src/mktemp.rs b/src/uu/mktemp/src/mktemp.rs index 561281c72..ab0970f15 100644 --- a/src/uu/mktemp/src/mktemp.rs +++ b/src/uu/mktemp/src/mktemp.rs @@ -11,7 +11,7 @@ use clap::{crate_version, Arg, ArgMatches, Command}; use uucore::display::{println_verbatim, Quotable}; use uucore::error::{FromIo, UError, UResult}; -use uucore::format_usage; +use uucore::{format_usage, InvalidEncodingHandling}; use std::env; use std::error::Error; @@ -316,7 +316,7 @@ impl Params { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args.collect_str_lossy().accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().try_get_matches_from(&args)?; diff --git a/src/uu/nl/src/nl.rs b/src/uu/nl/src/nl.rs index 7cea6f80f..b9311adba 100644 --- a/src/uu/nl/src/nl.rs +++ b/src/uu/nl/src/nl.rs @@ -84,9 +84,7 @@ pub mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/nohup/src/nohup.rs b/src/uu/nohup/src/nohup.rs index 600dff388..2e4a45ec5 100644 --- a/src/uu/nohup/src/nohup.rs +++ b/src/uu/nohup/src/nohup.rs @@ -86,9 +86,7 @@ impl Display for NohupError { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/numfmt/src/numfmt.rs b/src/uu/numfmt/src/numfmt.rs index d259d001d..401b3348e 100644 --- a/src/uu/numfmt/src/numfmt.rs +++ b/src/uu/numfmt/src/numfmt.rs @@ -261,9 +261,7 @@ fn concat_format_arg_and_value(args: &[String]) -> Vec { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(concat_format_arg_and_value(&args)); diff --git a/src/uu/od/src/od.rs b/src/uu/od/src/od.rs index bdbe78fc7..0666e9752 100644 --- a/src/uu/od/src/od.rs +++ b/src/uu/od/src/od.rs @@ -256,9 +256,7 @@ impl OdOptions { /// opens the input and calls `odfunc` to process the input. #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let clap_opts = uu_app(); diff --git a/src/uu/pathchk/src/pathchk.rs b/src/uu/pathchk/src/pathchk.rs index 53689e4ff..b8fe0c485 100644 --- a/src/uu/pathchk/src/pathchk.rs +++ b/src/uu/pathchk/src/pathchk.rs @@ -39,9 +39,7 @@ const POSIX_NAME_MAX: usize = 14; #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/pinky/src/pinky.rs b/src/uu/pinky/src/pinky.rs index 6235566b1..e9fd28bd4 100644 --- a/src/uu/pinky/src/pinky.rs +++ b/src/uu/pinky/src/pinky.rs @@ -49,9 +49,7 @@ fn get_long_usage() -> String { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let after_help = get_long_usage(); diff --git a/src/uu/pr/src/pr.rs b/src/uu/pr/src/pr.rs index e062b6c7f..8112555f5 100644 --- a/src/uu/pr/src/pr.rs +++ b/src/uu/pr/src/pr.rs @@ -378,9 +378,7 @@ pub fn uu_app<'a>() -> Command<'a> { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(uucore::InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(uucore::InvalidEncodingHandling::Ignore); let opt_args = recreate_arguments(&args); diff --git a/src/uu/printf/src/printf.rs b/src/uu/printf/src/printf.rs index b0c3e0b50..b1b6d146e 100644 --- a/src/uu/printf/src/printf.rs +++ b/src/uu/printf/src/printf.rs @@ -271,9 +271,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(args); let format_string = matches diff --git a/src/uu/ptx/src/ptx.rs b/src/uu/ptx/src/ptx.rs index cb593c356..8873607f4 100644 --- a/src/uu/ptx/src/ptx.rs +++ b/src/uu/ptx/src/ptx.rs @@ -722,9 +722,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); // let mut opts = Options::new(); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/relpath/src/relpath.rs b/src/uu/relpath/src/relpath.rs index 1fd0f0680..aa54c5716 100644 --- a/src/uu/relpath/src/relpath.rs +++ b/src/uu/relpath/src/relpath.rs @@ -27,9 +27,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/shred/src/shred.rs b/src/uu/shred/src/shred.rs index e0ab886bb..7b08a09b1 100644 --- a/src/uu/shred/src/shred.rs +++ b/src/uu/shred/src/shred.rs @@ -266,9 +266,7 @@ pub mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/shuf/src/shuf.rs b/src/uu/shuf/src/shuf.rs index 418924ec7..e4b1516ca 100644 --- a/src/uu/shuf/src/shuf.rs +++ b/src/uu/shuf/src/shuf.rs @@ -56,9 +56,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/sort/src/sort.rs b/src/uu/sort/src/sort.rs index 5b2cbc714..d3ba90489 100644 --- a/src/uu/sort/src/sort.rs +++ b/src/uu/sort/src/sort.rs @@ -1055,9 +1055,7 @@ fn make_sort_mode_arg<'a>(mode: &'a str, short: char, help: &'a str) -> Arg<'a> #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let mut settings: GlobalSettings = Default::default(); let matches = match uu_app().try_get_matches_from(args) { diff --git a/src/uu/stdbuf/src/stdbuf.rs b/src/uu/stdbuf/src/stdbuf.rs index 49654c39a..72f923606 100644 --- a/src/uu/stdbuf/src/stdbuf.rs +++ b/src/uu/stdbuf/src/stdbuf.rs @@ -156,9 +156,7 @@ fn get_preload_env(tmp_dir: &mut TempDir) -> io::Result<(String, PathBuf)> { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/sum/src/sum.rs b/src/uu/sum/src/sum.rs index 01758d90a..abd536900 100644 --- a/src/uu/sum/src/sum.rs +++ b/src/uu/sum/src/sum.rs @@ -109,9 +109,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/tac/src/tac.rs b/src/uu/tac/src/tac.rs index f6baed971..b9786123b 100644 --- a/src/uu/tac/src/tac.rs +++ b/src/uu/tac/src/tac.rs @@ -37,9 +37,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/timeout/src/timeout.rs b/src/uu/timeout/src/timeout.rs index 187294ba3..6c42b17eb 100644 --- a/src/uu/timeout/src/timeout.rs +++ b/src/uu/timeout/src/timeout.rs @@ -106,9 +106,7 @@ impl Config { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let command = uu_app(); diff --git a/src/uu/tr/src/tr.rs b/src/uu/tr/src/tr.rs index 3208a7ee1..825188383 100644 --- a/src/uu/tr/src/tr.rs +++ b/src/uu/tr/src/tr.rs @@ -40,9 +40,7 @@ fn get_long_usage() -> String { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let after_help = get_long_usage(); diff --git a/src/uu/tsort/src/tsort.rs b/src/uu/tsort/src/tsort.rs index 056c2be8d..47fb05c83 100644 --- a/src/uu/tsort/src/tsort.rs +++ b/src/uu/tsort/src/tsort.rs @@ -25,9 +25,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/tty/src/tty.rs b/src/uu/tty/src/tty.rs index 953d6d954..4b492c50f 100644 --- a/src/uu/tty/src/tty.rs +++ b/src/uu/tty/src/tty.rs @@ -24,9 +24,7 @@ mod options { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::ConvertLossy) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::ConvertLossy); let matches = uu_app().get_matches_from(args); diff --git a/src/uu/unexpand/src/unexpand.rs b/src/uu/unexpand/src/unexpand.rs index 1b67785a2..f333f9c18 100644 --- a/src/uu/unexpand/src/unexpand.rs +++ b/src/uu/unexpand/src/unexpand.rs @@ -165,9 +165,7 @@ fn expand_shortcuts(args: &[String]) -> Vec { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let matches = uu_app().get_matches_from(expand_shortcuts(&args)); diff --git a/src/uu/who/src/who.rs b/src/uu/who/src/who.rs index a01cb0dda..76b01f850 100644 --- a/src/uu/who/src/who.rs +++ b/src/uu/who/src/who.rs @@ -56,9 +56,7 @@ fn get_long_usage() -> String { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args = args - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + let args = args.collect_str(InvalidEncodingHandling::Ignore); let after_help = get_long_usage(); diff --git a/src/uucore/src/lib/lib.rs b/src/uucore/src/lib/lib.rs index 58893623d..c6c3200ef 100644 --- a/src/uucore/src/lib/lib.rs +++ b/src/uucore/src/lib/lib.rs @@ -155,38 +155,6 @@ pub enum InvalidEncodingHandling { ConvertLossy, } -#[must_use] -pub enum ConversionResult { - Complete(Vec), - Lossy(Vec), -} - -impl ConversionResult { - pub fn accept_any(self) -> Vec { - match self { - Self::Complete(result) | Self::Lossy(result) => result, - } - } - - pub fn expect_lossy(self, msg: &str) -> Vec { - match self { - Self::Lossy(result) => result, - Self::Complete(_) => { - panic!("{}", msg); - } - } - } - - pub fn expect_complete(self, msg: &str) -> Vec { - match self { - Self::Complete(result) => result, - Self::Lossy(_) => { - panic!("{}", msg); - } - } - } -} - pub trait Args: Iterator + Sized { /// Converts each iterator item to a String and collects these into a vector /// On invalid encoding, the result will depend on the argument. This method allows to either drop entries with illegal encoding @@ -194,45 +162,31 @@ pub trait Args: Iterator + Sized { /// which will result in strange strings or can chosen to panic. /// # Arguments /// * `handling` - This switch allows to switch the behavior, when invalid encoding is encountered - fn collect_str(self, handling: InvalidEncodingHandling) -> ConversionResult { - let mut full_conversion = true; - let result_vector: Vec = self - .map(|s| match s.into_string() { - Ok(string) => Ok(string), - Err(s_ret) => { - full_conversion = false; - eprintln!( - "Input with broken encoding occurred! (s = {}) ", - s_ret.quote() - ); - match handling { - InvalidEncodingHandling::Ignore => Err(String::new()), - InvalidEncodingHandling::ConvertLossy => { - Err(s_ret.to_string_lossy().into_owned()) - } + fn collect_str(self, handling: InvalidEncodingHandling) -> Vec { + self.map(|s| match s.into_string() { + Ok(string) => Ok(string), + Err(s_ret) => { + eprintln!( + "Input with broken encoding occurred! (s = {}) ", + s_ret.quote() + ); + match handling { + InvalidEncodingHandling::Ignore => Err(String::new()), + InvalidEncodingHandling::ConvertLossy => { + Err(s_ret.to_string_lossy().into_owned()) } } - }) - .filter(|s| match handling { - InvalidEncodingHandling::Ignore => s.is_ok(), - _ => true, - }) - .map(|s| match s { - Ok(v) => v, - Err(e) => e, - }) - .collect(); - - if full_conversion { - ConversionResult::Complete(result_vector) - } else { - ConversionResult::Lossy(result_vector) - } - } - - /// convenience function for a more slim interface - fn collect_str_lossy(self) -> ConversionResult { - self.collect_str(InvalidEncodingHandling::ConvertLossy) + } + }) + .filter(|s| match handling { + InvalidEncodingHandling::Ignore => s.is_ok(), + _ => true, + }) + .map(|s| match s { + Ok(v) => v, + Err(e) => e, + }) + .collect() } } @@ -255,7 +209,7 @@ mod tests { ] } - fn collect_os_str(vec: Vec, handling: InvalidEncodingHandling) -> ConversionResult { + fn collect_os_str(vec: Vec, handling: InvalidEncodingHandling) -> Vec { vec.into_iter().collect_str(handling) } @@ -265,8 +219,7 @@ mod tests { assert!(os_str.to_os_string().into_string().is_err()); let test_vec = make_os_vec(os_str); let collected_to_str = - collect_os_str(test_vec.clone(), InvalidEncodingHandling::ConvertLossy) - .expect_lossy("Lossy conversion expected in this test: bad encoding entries should be converted as good as possible"); + collect_os_str(test_vec.clone(), InvalidEncodingHandling::ConvertLossy); //conservation of length - when accepting lossy conversion no arguments may be dropped assert_eq!(collected_to_str.len(), test_vec.len()); //first indices identical @@ -288,10 +241,7 @@ mod tests { //assert our string is invalid utf8 assert!(os_str.to_os_string().into_string().is_err()); let test_vec = make_os_vec(os_str); - let collected_to_str = collect_os_str(test_vec.clone(), InvalidEncodingHandling::Ignore) - .expect_lossy( - "Lossy conversion expected in this test: bad encoding entries should be filtered", - ); + let collected_to_str = collect_os_str(test_vec.clone(), InvalidEncodingHandling::Ignore); //assert that the broken entry is filtered out assert_eq!(collected_to_str.len(), test_vec.len() - 1); //assert that the unbroken indices are converted as expected @@ -308,8 +258,7 @@ mod tests { //create a vector containing only correct encoding let test_vec = make_os_vec(&OsString::from("test2")); //expect complete conversion without losses, even when lossy conversion is accepted - let _ = collect_os_str(test_vec, InvalidEncodingHandling::ConvertLossy) - .expect_complete("Lossy conversion not expected in this test"); + let _ = collect_os_str(test_vec, InvalidEncodingHandling::ConvertLossy); } #[cfg(any(unix, target_os = "redox"))] diff --git a/tests/common/util.rs b/tests/common/util.rs index 93c7e3d12..03876a570 100644 --- a/tests/common/util.rs +++ b/tests/common/util.rs @@ -1021,8 +1021,7 @@ impl UCommand { let strings = args .iter() .map(|s| s.as_ref().to_os_string()) - .collect_str(InvalidEncodingHandling::Ignore) - .accept_any(); + .collect_str(InvalidEncodingHandling::Ignore); for s in strings { self.comm_string.push(' ');