From 63330d6502661b97193e5c2eb1c23e51eaf5596b Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 9 Dec 2004 08:07:13 +0000 Subject: [PATCH] Renamed js_CreateGlobalObjects() to js_CreateCommonObjects() - this function now (optionally) creates the "server" object. Bugfix (in websrvr.c), wasn't creating the server object any more. --- src/sbbs3/js_global.c | 10 ++++++++-- src/sbbs3/jsexec.c | 3 ++- src/sbbs3/main.cpp | 6 ++---- src/sbbs3/sbbs.h | 3 ++- src/sbbs3/websrvr.c | 3 ++- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index bd8b4c7e59..c3be2b4860 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -191,7 +191,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((bg->cx = JS_NewContext(bg->runtime, JAVASCRIPT_CONTEXT_STACK))==NULL) return(JS_FALSE); - if((bg->obj=js_CreateGlobalObjects(bg->cx + if((bg->obj=js_CreateCommonObjects(bg->cx ,cfg /* common config */ ,NULL /* node-specific config */ ,NULL /* additional global methods */ @@ -201,6 +201,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ,&bg->branch /* js */ ,NULL /* client */ ,INVALID_SOCKET /* client_socket */ + ,NULL /* server props */ ))==NULL) return(JS_FALSE); @@ -2753,7 +2754,7 @@ JSObject* DLLCALL js_CreateGlobalObject(JSContext* cx, scfg_t* cfg, jsSyncMethod return(glob); } -JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx +JSObject* DLLCALL js_CreateCommonObjects(JSContext* js_cx ,scfg_t* cfg /* common */ ,scfg_t* node_cfg /* node-specific */ ,jsSyncMethodSpec* methods /* global */ @@ -2763,6 +2764,7 @@ JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx ,js_branch_t* branch /* js */ ,client_t* client /* client */ ,SOCKET client_socket /* client */ + ,js_server_props_t* props /* server */ ) { JSObject* js_glob; @@ -2788,6 +2790,10 @@ JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx && js_CreateClientObject(js_cx, js_glob, "client", client, client_socket)==NULL) return(NULL); + if(props!=NULL + && js_CreateServerObject(js_cx, js_glob, props)==NULL) + return(NULL); + /* Socket Class */ if(js_CreateSocketClass(js_cx, js_glob)==NULL) return(NULL); diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index 485aa3135e..59e79990d6 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -514,10 +514,11 @@ static BOOL js_init(char** environ) JS_SetErrorReporter(js_cx, js_ErrorReporter); /* Global Object */ - if((js_glob=js_CreateGlobalObjects(js_cx, &scfg, NULL, js_global_functions + if((js_glob=js_CreateCommonObjects(js_cx, &scfg, NULL, js_global_functions ,time(NULL), host_name, SOCKLIB_DESC /* system */ ,&branch /* js */ ,NULL,INVALID_SOCKET /* client */ + ,NULL /* server */ ))==NULL) return(FALSE); diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index c70aab0eae..e237142aa6 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -884,10 +884,11 @@ bool sbbs_t::js_init() JS_SetContextPrivate(js_cx, this); /* Store a pointer to sbbs_t instance */ /* Global Objects (including system, js, client, Socket, MsgBase, File, User, etc. */ - if((js_glob=js_CreateGlobalObjects(js_cx, &scfg, &cfg, js_global_functions + if((js_glob=js_CreateCommonObjects(js_cx, &scfg, &cfg, js_global_functions ,uptime, startup->host_name, SOCKLIB_DESC /* system */ ,&js_branch /* js */ ,&client, client_socket /* client */ + ,&js_server_props /* server */ ))==NULL) break; @@ -905,9 +906,6 @@ bool sbbs_t::js_init() if(js_CreateConsoleObject(js_cx, js_glob)==NULL) break; - if(js_CreateServerObject(js_cx,js_glob,&js_server_props)==NULL) - break; - success=true; } while(0); diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 097afa3fed..b8983813fb 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -947,7 +947,7 @@ extern "C" { /* js_global.c */ DLLEXPORT JSObject* DLLCALL js_CreateGlobalObject(JSContext* cx, scfg_t* cfg, jsSyncMethodSpec* methods); - DLLEXPORT JSObject* DLLCALL js_CreateGlobalObjects(JSContext* cx + DLLEXPORT JSObject* DLLCALL js_CreateCommonObjects(JSContext* cx ,scfg_t* cfg /* common */ ,scfg_t* node_cfg /* node-specific */ ,jsSyncMethodSpec* methods /* global */ @@ -957,6 +957,7 @@ extern "C" { ,js_branch_t* js_branch /* js */ ,client_t* client /* client */ ,SOCKET client_socket /* client */ + ,js_server_props_t* props /* server */ ); /* js_internal.c */ diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 6162078b19..b568e82564 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -2468,7 +2468,7 @@ js_initcx(http_session_t *session) JS_SetBranchCallback(js_cx, js_BranchCallback); lprintf(LOG_INFO,"%04d JavaScript: Creating Global Objects and Classes",session->socket); - if((session->js_glob=js_CreateGlobalObjects(js_cx, &scfg, NULL + if((session->js_glob=js_CreateCommonObjects(js_cx, &scfg, NULL ,NULL /* global */ ,uptime /* system */ ,startup->host_name /* system */ @@ -2476,6 +2476,7 @@ js_initcx(http_session_t *session) ,&session->js_branch /* js */ ,&session->client /* client */ ,session->socket /* client */ + ,&js_server_props /* server */ ))==NULL || !JS_DefineFunctions(js_cx, session->js_glob, js_global_functions)) { JS_DestroyContext(js_cx); -- GitLab