diff options
author | Tomasz Kramkowski <tomasz@kramkow.ski> | 2025-05-03 20:00:17 +0100 |
---|---|---|
committer | Tomasz Kramkowski <tomasz@kramkow.ski> | 2025-05-03 20:00:17 +0100 |
commit | 6b2711c5703c2b724066c88967c1924f1f1dbedf (patch) | |
tree | 4561b0fb47a3429b86e82b19f335b6aed1081e5f /src/main.rs | |
download | z2m-utils-master.tar.gz z2m-utils-master.tar.xz z2m-utils-master.zip |
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..a4f8963 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,27 @@ +mod device; +mod config; + +use std::{env, process, str}; + +const PROGRAM: &str = "z2m-utils"; + +fn main() { + let config = config::get(); + + let mut args = env::args_os(); + // Can't fail (it's a bug for sure) + let argv0 = args.next().unwrap(); + let argv0 = argv0.to_str().unwrap_or(PROGRAM); + let Some(command) = args.next() else { + eprintln!("Usage: {argv0} <command> [args...]"); + process::exit(1); + }; + + match command.to_str() { + Some("device") => device::main(argv0, config, args), + _ => { + eprintln!("{argv0}: error: Unknown command: {command:?}"); + process::exit(1); + } + } +} |