From 049674ad1e4f4e14ea6508717f3a7fbe784db70d Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 10 Mar 2003 05:06:53 +0000 Subject: [PATCH] Created a new msg_area.sub property that contains all the sub-boards the user has access to in a single object (associative array). --- src/sbbs3/js_msg_area.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/sbbs3/js_msg_area.c b/src/sbbs3/js_msg_area.c index 98c2766636..442cfe3314 100644 --- a/src/sbbs3/js_msg_area.c +++ b/src/sbbs3/js_msg_area.c @@ -146,6 +146,7 @@ JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t { char str[128]; JSObject* areaobj; + JSObject* allsubs; JSObject* grpobj; JSObject* subobj; JSObject* grp_list; @@ -169,6 +170,9 @@ JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t js_DescribeObject(cx,areaobj,"Message Areas"); #endif + if((allsubs=JS_NewObject(cx, NULL, NULL, areaobj))==NULL) + return(NULL); + /* grp_list[] */ if((grp_list=JS_NewArrayObject(cx, 0, NULL))==NULL) return(NULL); @@ -307,6 +311,10 @@ JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t if(!JS_SetElement(cx, sub_list, index, &val)) return(NULL); + /* Add as property (associative array element) */ + if(!JS_SetProperty(cx, allsubs, cfg->sub[d]->code, &val)) + return(NULL); + #ifdef _DEBUG js_DescribeObject(cx,subobj,"Message Sub-boards"); #endif @@ -321,6 +329,10 @@ JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t return(NULL); } + val=OBJECT_TO_JSVAL(allsubs); + if(!JS_SetProperty(cx, areaobj, "sub", &val)) + return(NULL); + return(areaobj); } -- GitLab