From c030d6828ce7f992546923e34bb673dfa6a3dcba Mon Sep 17 00:00:00 2001 From: emma Date: Mon, 5 Dec 2022 21:03:42 -0500 Subject: [PATCH] actually added stdin support to cat --- src/rs/cat.rs | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/rs/cat.rs b/src/rs/cat.rs index 14106f5..239d364 100644 --- a/src/rs/cat.rs +++ b/src/rs/cat.rs @@ -25,6 +25,8 @@ fn main() { // delay as each is read. "-u" => {}, + "-" => {}, + _ => { println!("Usage: {} [options...] [files...]", argv0); process::exit(64); // sysexits(3) EX_USAGE @@ -32,35 +34,33 @@ fn main() { }; } } - else { - for path in args { - let mut val = String::new(); + for path in args { + let mut val = String::new(); - match path.as_str() { - "-" => { - let mut content = String::new(); - match io::stdin().read_line(&mut content) { - Ok(_) => { val.push_str(&content); }, - Err(_) => { - println!("Usage: {} [options...] [files...]", argv0); - process::exit(64); // sysexits(3) EX_USAGE - }, - }; - }, + match path.as_str() { + "-" => { + let mut content = String::new(); + match io::stdin().read_line(&mut content) { + Ok(_) => { val.push_str(&content); }, + Err(_) => { + println!("Usage: {} [options...] [files...]", argv0); + process::exit(64); // sysexits(3) EX_USAGE + }, + }; + }, - _ => { - match read_to_string(&path) { - Ok(output) => { val.push_str(&output); }, - Err(_) => { - println!("{}: {}: No such file or directory.", argv0, path); - process::exit(66); // sysexits(3) EX_NOINPUT - }, - }; - }, - } + _ => { + match read_to_string(&path) { + Ok(output) => { val.push_str(&output); }, + Err(_) => { + println!("{}: {}: No such file or directory.", argv0, path); + process::exit(66); // sysexits(3) EX_NOINPUT + }, + }; + }, + } print!("{}", val); } - } io::stdout().flush().unwrap(); }