From b05908eb992740f4d26189af07cb5da2543c653b Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 13 Mar 2003 01:49:09 +0000 Subject: [PATCH] Now clears pending exceptions before compiling script. --- src/sbbs3/exec.cpp | 2 ++ src/sbbs3/ftpsrvr.c | 3 +++ src/sbbs3/services.c | 4 ++++ src/sbbs3/websrvr.c | 2 ++ 4 files changed, 11 insertions(+) diff --git a/src/sbbs3/exec.cpp b/src/sbbs3/exec.cpp index 6b2b6af401..d9e68b5295 100644 --- a/src/sbbs3/exec.cpp +++ b/src/sbbs3/exec.cpp @@ -633,6 +633,8 @@ long sbbs_t::js_execfile(const char *cmd) JS_DefineProperty(js_cx, js_scope, "argc", INT_TO_JSVAL(argc) ,NULL,NULL,JSPROP_READONLY|JSPROP_ENUMERATE); + JS_ClearPendingException(js_cx); + js_script=JS_CompileFile(js_cx, js_scope, path); } diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 34ec035486..c06447c495 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -974,7 +974,10 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, globfree(&g); } + /* RUN SCRIPT */ + JS_ClearPendingException(js_cx); + if((js_script=JS_CompileFile(js_cx, parent, spath))==NULL) { lprintf("%04d !JavaScript FAILED to compile script (%s)",sock,spath); break; diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 136a414617..5f063351a0 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -853,6 +853,8 @@ static void js_service_thread(void* arg) JS_SetProperty(js_cx, js_glob, "datagram", &val); FREE_AND_NULL(service_client.udp_buf); + JS_ClearPendingException(js_cx); + js_script=JS_CompileFile(js_cx, js_glob, spath); if(js_script==NULL) @@ -938,6 +940,8 @@ static void js_static_service_thread(void* arg) val = BOOLEAN_TO_JSVAL(JS_FALSE); JS_SetProperty(js_cx, js_glob, "logged_in", &val); + JS_ClearPendingException(js_cx); + js_script=JS_CompileFile(js_cx, js_glob, spath); if(js_script==NULL) diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 3ba6307337..411db2234c 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -2004,6 +2004,8 @@ static void respond(http_session_t * session) do { /* RUN SCRIPT */ + JS_ClearPendingException(session->js_cx); + if((js_script=JS_CompileFile(session->js_cx, session->js_glob ,session->req.physical_path))==NULL) { lprintf("%04d !JavaScript FAILED to compile script (%s)" -- GitLab