From 0aa515730f73092e402bb65e6258e772fd2ad7bd Mon Sep 17 00:00:00 2001 From: McKay Marston <smazga@greymanlabs.com> Date: Fri, 3 Feb 2023 17:19:46 -0800 Subject: [PATCH] Fix exit call on plan9/9front * make sure exits is passed a nil on success * make sure main exits with a proper exits call --- main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 39109932..9ee0aff6 100644 --- a/main.c +++ b/main.c @@ -25,10 +25,11 @@ #ifdef PLAN9 #define exit_failure() exits("ERROR") +#define exit_success() exits(nil) #else #define exit_failure() exit(70) -#endif #define exit_success() exit(0) +#endif #if SEXP_USE_MAIN_HELP void sexp_usage(int err) { @@ -682,7 +683,12 @@ int main (int argc, char **argv) { sexp_scheme_init(); res = run_main(argc, argv); if (sexp_fixnump(res)) { - return sexp_unbox_fixnum(res); + int code = sexp_unbox_fixnum(res); + if (code == 0) { + exit_success(); + } else { + exit_failure(); + } } else if (res == SEXP_FALSE) { exit_failure(); } else {