diff --git a/codegen/luajit/src/bin/wasm2luajit.rs b/codegen/luajit/src/bin/wasm2luajit.rs index 34ccd23..56c22a4 100644 --- a/codegen/luajit/src/bin/wasm2luajit.rs +++ b/codegen/luajit/src/bin/wasm2luajit.rs @@ -1,11 +1,21 @@ -use std::io::{Result, Write}; +use std::io::{ErrorKind, Result, Write}; use wasm_ast::module::Module; fn load_arg_source() -> Result> { - let name = std::env::args().nth(1).expect("usage: wasm2luajit "); + let mut arguments = std::env::args(); + let path = arguments + .next() + .unwrap_or_else(|| "wasm2luajit".to_string()); - std::fs::read(name) + arguments.next().map_or_else( + || { + eprintln!("usage: {path} \n"); + + Err(ErrorKind::NotFound.into()) + }, + std::fs::read, + ) } fn do_runtime(lock: &mut dyn Write) -> Result<()> { diff --git a/codegen/luau/src/bin/wasm2luau.rs b/codegen/luau/src/bin/wasm2luau.rs index 4bfa8fb..c3c2ce9 100644 --- a/codegen/luau/src/bin/wasm2luau.rs +++ b/codegen/luau/src/bin/wasm2luau.rs @@ -1,11 +1,19 @@ -use std::io::{Result, Write}; +use std::io::{ErrorKind, Result, Write}; use wasm_ast::module::Module; fn load_arg_source() -> Result> { - let name = std::env::args().nth(1).expect("usage: wasm2luajit "); + let mut arguments = std::env::args(); + let path = arguments.next().unwrap_or_else(|| "wasm2luau".to_string()); - std::fs::read(name) + arguments.next().map_or_else( + || { + eprintln!("usage: {path} \n"); + + Err(ErrorKind::NotFound.into()) + }, + std::fs::read, + ) } fn do_runtime(lock: &mut dyn Write) -> Result<()> {