diff --git a/peek/Makefile b/Retired/peek/Makefile similarity index 100% rename from peek/Makefile rename to Retired/peek/Makefile diff --git a/peek/peek.1 b/Retired/peek/peek.1 similarity index 100% rename from peek/peek.1 rename to Retired/peek/peek.1 diff --git a/peek/peek.c b/Retired/peek/peek.c similarity index 100% rename from peek/peek.c rename to Retired/peek/peek.c diff --git a/retval/Makefile b/retval/Makefile index f954e17..ecbf7af 100644 --- a/retval/Makefile +++ b/retval/Makefile @@ -1,2 +1,4 @@ -retval: retval.c - $(CC) -o retval retval.c +RUSTC = rustc + +retval: retval.rs + $(RUSTC) $(RUSTCFLAGS) -o retval retval.rs diff --git a/retval/retval.rs b/retval/retval.rs new file mode 100644 index 0000000..50de9c0 --- /dev/null +++ b/retval/retval.rs @@ -0,0 +1,18 @@ +use std::{env::args, process::ExitCode}; + +fn usage(s: &str) -> ExitCode { + eprintln!("Usage: {} [status]", s); + ExitCode::from(64 /* NetBSD sysexits(3) EX_USAGE */) +} + +fn main() -> ExitCode { + let argv = args().collect::>(); + + match argv.len() { + 2 => match argv[1].parse::() { + Ok(e) => ExitCode::from(e), + _ => usage(&argv[0]), + }, + _ => usage(&argv[0]), + } +}