diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index 2c811de9759997b5779ebeef7440ca7bf90ef335..1bf44214c230c096756cf11b2bb37443109ed068 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -192,7 +192,8 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); if((bg->obj=js_CreateGlobalObjects(bg->cx - ,cfg + ,cfg /* common config */ + ,NULL /* node-specific config */ ,NULL /* additional global methods */ ,0 /* uptime */ ,"" /* hostname */ @@ -2754,6 +2755,7 @@ JSObject* DLLCALL js_CreateGlobalObject(JSContext* cx, scfg_t* cfg, jsSyncMethod JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx ,scfg_t* cfg /* common */ + ,scfg_t* node_cfg /* node-specific */ ,jsSyncMethodSpec* methods /* global */ ,time_t uptime /* system */ ,char* host_name /* system */ @@ -2765,12 +2767,15 @@ JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx { JSObject* js_glob; + if(node_cfg==NULL) + node_cfg=cfg; + /* Global Object */ if((js_glob=js_CreateGlobalObject(js_cx, cfg, methods))==NULL) return(NULL); /* System Object */ - if(js_CreateSystemObject(js_cx, js_glob, cfg, uptime, host_name, socklib_desc)==NULL) + if(js_CreateSystemObject(js_cx, js_glob, node_cfg, uptime, host_name, socklib_desc)==NULL) return(NULL); /* Internal JS Object */ diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index f0b64cb3380cc7b3b83c3d865df262a4c5b6bfc4..35a0fdeb3342435a705d0592ab0bc0018ca9c5f2 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -534,7 +534,7 @@ static BOOL js_init(char** environ) JS_SetErrorReporter(js_cx, js_ErrorReporter); /* Global Object */ - if((js_glob=js_CreateGlobalObjects(js_cx, &scfg, js_global_functions + if((js_glob=js_CreateGlobalObjects(js_cx, &scfg, NULL, js_global_functions ,time(NULL), host_name, SOCKLIB_DESC /* system */ ,&branch /* js */ ,NULL,INVALID_SOCKET /* client */ diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 0f1e28a0dde48e12efced7c1c57cb7ff9836c3af..faef5ab006f62b1ce6fc4be3e6e1e9627580ab49 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -884,7 +884,7 @@ 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, js_global_functions + if((js_glob=js_CreateGlobalObjects(js_cx, &scfg, &cfg, js_global_functions ,uptime, startup->host_name, SOCKLIB_DESC /* system */ ,&js_branch /* js */ ,&client, client_socket /* client */ diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index e0b4946dc8d59e46b23130d59d34595873df3443..353e3798f117e80230b1c2e0fb929c671deed9e0 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -949,6 +949,7 @@ extern "C" { DLLEXPORT JSObject* DLLCALL js_CreateGlobalObject(JSContext* cx, scfg_t* cfg, jsSyncMethodSpec* methods); DLLEXPORT JSObject* DLLCALL js_CreateGlobalObjects(JSContext* cx ,scfg_t* cfg /* common */ + ,scfg_t* node_cfg /* node-specific */ ,jsSyncMethodSpec* methods /* global */ ,time_t uptime /* system */ ,char* host_name /* system */