From 02c3428c09f29fdbc3c9e1e71629d2970c7bdeca Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 27 Nov 2017 22:38:59 +0000 Subject: [PATCH] Fix: when using the '-!' option, if the script failed with an exception, there would be no pause on exit. Now we insure an error level of (at least) 1 if the script execution fails for any reason. --- src/sbbs3/jsexec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index e2118bc933..fda2408347 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -876,6 +876,7 @@ long js_exec(const char *fname, char** args) int32 result=0; long double start; long double diff; + JSBool exec_result; if(fname!=NULL) { if(isfullpath(fname)) { @@ -981,7 +982,7 @@ long js_exec(const char *fname, char** args) start=xp_timer(); if(debugger) debug_prompt(js_cx, js_script); - JS_ExecuteScript(js_cx, js_glob, js_script, &rval); + exec_result = JS_ExecuteScript(js_cx, js_glob, js_script, &rval); JS_GetProperty(js_cx, js_glob, "exit_code", &rval); if(rval!=JSVAL_VOID && JSVAL_IS_NUMBER(rval)) { char *p; @@ -1003,6 +1004,8 @@ long js_exec(const char *fname, char** args) if(js_buf!=NULL) free(js_buf); + if(result == 0 && !exec_result) + return EXIT_FAILURE; return(result); } -- GitLab