diff --git a/src/sbbs3/exec.cpp b/src/sbbs3/exec.cpp index c94c0174a10b0c234f5ba7d8a9883316f312ec63..c50f241ce0d69d90fca648b22c04db3236fe1418 100644 --- a/src/sbbs3/exec.cpp +++ b/src/sbbs3/exec.cpp @@ -692,7 +692,8 @@ int sbbs_t::js_execfile(const char *cmd, const char* startup_dir, JSObject* scop js_callback.rq_tail = NULL; listeners = js_callback.listeners; js_callback.listeners = NULL; - JS_ExecuteScript(js_cx, js_scope, js_script, &rval); + if(!JS_ExecuteScript(js_cx, js_scope, js_script, &rval)) + result = -1; js_handle_events(js_cx, &js_callback, &terminated); // sys_status &=~ SS_ABORT; diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index dd124e655ea4d1baac7fdc93bd8b93d309a85e78..e8c5f2fda18c595c3a48f1a462eb6cfe7765356e 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -4458,14 +4458,16 @@ void node_thread(void* arg) SAFEPRINTF2(str,"%s%s.js",sbbs->cfg.mods_dir ,sbbs->cfg.shell[sbbs->useron.shell]->code); if(fexistcase(str)) { - sbbs->js_execfile(str); + if(sbbs->js_execfile(str) != 0) + break; continue; } } SAFEPRINTF2(str, "%s%s.js", sbbs->cfg.exec_dir ,sbbs->cfg.shell[sbbs->useron.shell]->code); if(fexistcase(str)) { - sbbs->js_execfile(str); + if(sbbs->js_execfile(str) != 0) + break; continue; } SAFEPRINTF2(str,"%s%s.bin",sbbs->cfg.mods_dir