yac
/
yacexits
Archived
3
0
Fork 0

fixed segfault

This commit is contained in:
Emma Tebibyte 2023-03-26 18:16:11 -04:00
parent 427403aa74
commit 0b191bb4fa
Signed by: emma
GPG Key ID: 6D661C738815E7DD
1 changed files with 5 additions and 7 deletions

View File

@ -75,7 +75,6 @@ pub use args::Args;
use libc::{
c_int,
printf,
strlen,
};
@ -114,15 +113,15 @@ extern "Rust" {
#[no_mangle]
pub unsafe extern fn main(argc: c_int, argv: *const *const u8) -> c_int {
match Args::new(argc as isize, argv) {
Ok(arguments) => {
let argv0 = &arguments
Ok(args) => {
let argv0 = &args
.into_iter()
.next()
.unwrap_or_else(|| {
printf("Unable to ascertain argv[0].\n\0".as_ptr() as _);
libc::exit(71);
libc_eprintln!("Unable to ascertain argv[0].");
exit(71);
});
rust_main(arguments).unwrap_or_else(|(err, code)| {
rust_main(args).unwrap_or_else(|(err, code)| {
libc_eprintln!("{}: {}", argv0, err);
code
}) as _
@ -133,4 +132,3 @@ pub unsafe extern fn main(argc: c_int, argv: *const *const u8) -> c_int {
},
}
}