diff --git a/src/uu/head/src/head.rs b/src/uu/head/src/head.rs index 7e67e07e8..903eb97c9 100644 --- a/src/uu/head/src/head.rs +++ b/src/uu/head/src/head.rs @@ -554,15 +554,10 @@ fn uu_head(options: &HeadOptions) -> UResult<()> { #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { - let args_vec: Vec<_> = arg_iterate(args)?.collect(); - let matches = uu_app().get_matches_from_localized(args_vec); - let args = match HeadOptions::get_from(&matches) { - Ok(o) => o, - Err(s) => { - return Err(HeadError::MatchOption(s).into()); - } - }; - uu_head(&args) + let args: Vec<_> = arg_iterate(args)?.collect(); + let matches = uu_app().get_matches_from_localized(args); + let options = HeadOptions::get_from(&matches).map_err(HeadError::MatchOption)?; + uu_head(&options) } #[cfg(test)]