From 4d46a0438ee376b0d409f5e5ed0189a68c58f53f Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Fri, 26 Jul 2002 08:40:46 +0000 Subject: [PATCH] Created js_CreateMsgAreaProperties function. --- src/sbbs3/js_msg_area.c | 112 ++++++++++++++++++++++------------------ src/sbbs3/sbbs.h | 2 + 2 files changed, 63 insertions(+), 51 deletions(-) diff --git a/src/sbbs3/js_msg_area.c b/src/sbbs3/js_msg_area.c index f8fbfc8d63..2cfcf25d55 100644 --- a/src/sbbs3/js_msg_area.c +++ b/src/sbbs3/js_msg_area.c @@ -56,6 +56,65 @@ static JSClass js_msg_area_class = { ,JS_FinalizeStub /* finalize */ }; +BOOL DLLCALL js_CreateMsgAreaProperties(JSContext* cx, JSObject* subobj, sub_t* sub) +{ + jsval val; + + val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, sub->code)); + if(!JS_SetProperty(cx, subobj, "code", &val)) + return(FALSE); + + val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, sub->sname)); + if(!JS_SetProperty(cx, subobj, "name", &val)) + return(FALSE); + + val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, sub->lname)); + if(!JS_SetProperty(cx, subobj, "description", &val)) + return(FALSE); + + val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, sub->qwkname)); + if(!JS_SetProperty(cx, subobj, "qwk_name", &val)) + return(FALSE); + + val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, sub->data_dir)); + if(!JS_SetProperty(cx, subobj, "data_dir", &val)) + return(FALSE); + + val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, sub->origline)); + if(!JS_SetProperty(cx, subobj, "fidonet_origin", &val)) + return(FALSE); + + val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, sub->tagline)); + if(!JS_SetProperty(cx, subobj, "qwknet_tagline", &val)) + return(FALSE); + + val=INT_TO_JSVAL(sub->misc); + if(!JS_SetProperty(cx, subobj, "settings", &val)) + return(FALSE); + + val=INT_TO_JSVAL(sub->ptridx); + if(!JS_SetProperty(cx, subobj, "ptridx", &val)) + return(FALSE); + + val=INT_TO_JSVAL(sub->qwkconf); + if(!JS_SetProperty(cx, subobj, "qwk_conf", &val)) + return(FALSE); + + val=INT_TO_JSVAL(sub->maxage); + if(!JS_SetProperty(cx, subobj, "max_age", &val)) + return(FALSE); + + val=INT_TO_JSVAL(sub->maxmsgs); + if(!JS_SetProperty(cx, subobj, "max_msgs", &val)) + return(FALSE); + + val=INT_TO_JSVAL(sub->maxcrcs); + if(!JS_SetProperty(cx, subobj, "max_crcs", &val)) + return(FALSE); + + return(TRUE); +} + JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t* cfg ,user_t* user, subscan_t* subscan) { @@ -126,56 +185,7 @@ JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t if(!JS_SetProperty(cx, subobj, "number", &val)) return(NULL); - val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->sub[d]->code)); - if(!JS_SetProperty(cx, subobj, "code", &val)) - return(NULL); - - val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->sub[d]->sname)); - if(!JS_SetProperty(cx, subobj, "name", &val)) - return(NULL); - - val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->sub[d]->lname)); - if(!JS_SetProperty(cx, subobj, "description", &val)) - return(NULL); - - val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->sub[d]->qwkname)); - if(!JS_SetProperty(cx, subobj, "qwk_name", &val)) - return(NULL); - - val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->sub[d]->data_dir)); - if(!JS_SetProperty(cx, subobj, "data_dir", &val)) - return(NULL); - - val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->sub[d]->origline)); - if(!JS_SetProperty(cx, subobj, "fidonet_origin", &val)) - return(NULL); - - val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->sub[d]->tagline)); - if(!JS_SetProperty(cx, subobj, "qwknet_tagline", &val)) - return(NULL); - - val=INT_TO_JSVAL(cfg->sub[d]->misc); - if(!JS_SetProperty(cx, subobj, "settings", &val)) - return(NULL); - - val=INT_TO_JSVAL(cfg->sub[d]->ptridx); - if(!JS_SetProperty(cx, subobj, "ptridx", &val)) - return(NULL); - - val=INT_TO_JSVAL(cfg->sub[d]->qwkconf); - if(!JS_SetProperty(cx, subobj, "qwk_conf", &val)) - return(NULL); - - val=INT_TO_JSVAL(cfg->sub[d]->maxage); - if(!JS_SetProperty(cx, subobj, "max_age", &val)) - return(NULL); - - val=INT_TO_JSVAL(cfg->sub[d]->maxmsgs); - if(!JS_SetProperty(cx, subobj, "max_msgs", &val)) - return(NULL); - - val=INT_TO_JSVAL(cfg->sub[d]->maxcrcs); - if(!JS_SetProperty(cx, subobj, "max_crcs", &val)) + if(!js_CreateMsgAreaProperties(cx, subobj, cfg->sub[d])) return(NULL); if(cfg->sub[d]->newsgroup[0]) @@ -189,7 +199,7 @@ JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); if(!JS_SetProperty(cx, subobj, "newsgroup", &val)) return(NULL); - + if(user==NULL || chk_ar(cfg,cfg->sub[d]->read_ar,user)) val=BOOLEAN_TO_JSVAL(JS_TRUE); else diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index ef057bfb44..345c8e3d8f 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -851,6 +851,8 @@ extern "C" { /* js_msg_area.c */ DLLEXPORT JSObject* DLLCALL js_CreateMsgAreaObject(JSContext* cx, JSObject* parent, scfg_t* cfg ,user_t* user, subscan_t* subscan); + DLLEXPORT BOOL DLLCALL js_CreateMsgAreaProperties(JSContext* cx, JSObject* subobj + ,sub_t* sub); /* js_msgbase.c */ DLLEXPORT JSObject* DLLCALL js_CreateMsgBaseClass(JSContext* cx, JSObject* parent, scfg_t* cfg); -- GitLab