diff options
Diffstat (limited to 'cli/mainrt.rs')
-rw-r--r-- | cli/mainrt.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/cli/mainrt.rs b/cli/mainrt.rs index 9c7ee3c5c..ae4ea727f 100644 --- a/cli/mainrt.rs +++ b/cli/mainrt.rs @@ -69,11 +69,16 @@ fn unwrap_or_exit<T>(result: Result<T, AnyError>) -> T { fn main() { let args: Vec<String> = env::args().collect(); + let current_exe_path = current_exe().unwrap(); + let standalone = + standalone::extract_standalone(¤t_exe_path, args.clone()); let future = async move { - let current_exe_path = current_exe().unwrap(); - match standalone::extract_standalone(¤t_exe_path, args).await { - Ok(Some((metadata, eszip))) => standalone::run(eszip, metadata).await, - Ok(None) => Err(generic_error("No archive found.")), + match standalone { + Ok(Some(future)) => { + let (metadata, eszip) = future.await?; + standalone::run(eszip, metadata).await + } + Ok(None) => Ok(()), Err(err) => Err(err), } }; |