From c33d9e0556b413a2e4f7abccd2c398b82e3aaaa7 Mon Sep 17 00:00:00 2001 From: emma Date: Sat, 24 Dec 2022 20:19:38 -0500 Subject: [PATCH] cat(1): better argv0 parsing --- src/cat.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cat.rs b/src/cat.rs index e3b09a1..6e81ccd 100644 --- a/src/cat.rs +++ b/src/cat.rs @@ -29,6 +29,8 @@ use sysexits::ExitCode; #[derive(Args, Debug)] struct Arguments { + argv0: String, + #[arg(short = "u")] u: bool, @@ -36,15 +38,15 @@ struct Arguments { } fn main() -> ExitCode { - let mut arguments = env::args().collect::>(); - let argv0 = arguments.remove(0); - - let mut args = Arguments::from_args(arguments + let mut args = Arguments::from_args(env::args() + .collect::>() .iter() .map(String::as_str) .collect::>() ).unwrap(); + let argv0 = args.argv0; + let mut output = String::new(); if args.paths.is_empty() { args.paths.push("-".to_string()); }