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} [args...]"); process::exit(1); }; match command.to_str() { Some("device") => device::main(argv0, config, args), _ => { eprintln!("{argv0}: error: Unknown command: {command:?}"); process::exit(1); } } }