diff --git a/src/sbbs3/exec.cpp b/src/sbbs3/exec.cpp index 461d0a4990a634bd1cf5fc20eddde15c2b69617e..85e9dca054b957a26d766f7eb71921d6d197117c 100644 --- a/src/sbbs3/exec.cpp +++ b/src/sbbs3/exec.cpp @@ -37,6 +37,7 @@ #include "sbbs.h" #include "cmdshell.h" +#include "js_request.h" char ** sbbs_t::getstrvar(csi_t *bin, int32_t name) { @@ -594,6 +595,7 @@ long sbbs_t::js_execfile(const char *cmd) return(-1); } + JS_BEGINREQUEST(js_cx); js_scope=JS_NewObject(js_cx, NULL, NULL, js_glob); if(js_scope!=NULL) { @@ -655,6 +657,7 @@ long sbbs_t::js_execfile(const char *cmd) if(rval!=JSVAL_VOID) JS_ValueToInt32(js_cx,rval,&result); + JS_ENDREQUEST(js_cx); return(result); } diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 09227cd851afdbc9f6bd2bb241840c14ce35ed50..e98ec3849a65589e235d0eac283d5f4c52022c1e 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -52,6 +52,7 @@ #include "ftpsrvr.h" #include "telnet.h" #include "js_rtpool.h" +#include "js_request.h" /* Constants */ @@ -396,9 +397,9 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) str = JS_ValueToString(cx, argv[i]); if (!str) return JS_FALSE; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fprintf(fp,"%s",JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(str==NULL) @@ -418,9 +419,9 @@ js_writeln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); js_write(cx,obj,argc,argv,rval); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fprintf(fp,"\r\n"); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -483,7 +484,7 @@ js_initcx(JSRuntime* runtime, SOCKET sock, JSObject** glob, JSObject** ftp) if((js_cx = JS_NewContext(runtime, startup->js.cx_stack))==NULL) return(NULL); - JS_BeginRequest(js_cx); + JS_BEGINREQUEST(js_cx); lprintf(LOG_DEBUG,"%04d JavaScript: Context created",sock); @@ -517,7 +518,7 @@ js_initcx(JSRuntime* runtime, SOCKET sock, JSObject** glob, JSObject** ftp) } while(0); if(!success) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); JS_DestroyContext(js_cx); return(NULL); } @@ -667,7 +668,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, break; } - rc=JS_SuspendRequest(js_cx); + rc=JS_SUSPENDREQUEST(js_cx); if(strcspn(startup->html_index_script,"/\\")==strlen(startup->html_index_script)) { sprintf(spath,"%s%s",scfg.mods_dir,startup->html_index_script); if(scfg.mods_dir[0]==0 || !fexist(spath)) @@ -682,7 +683,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, lprintf(LOG_ERR,"%04d !HTML JavaScript (%s) doesn't exist",sock,spath); break; } - JS_ResumeRequest(js_cx, rc); + JS_RESUMEREQUEST(js_cx, rc); if((js_str=JS_NewStringCopyZ(js_cx, startup->html_index_file))==NULL) break; @@ -785,7 +786,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, if(lib<0) { /* root dir */ - rc=JS_SuspendRequest(js_cx); + rc=JS_SUSPENDREQUEST(js_cx); /* File Aliases */ sprintf(path,"%sftpalias.cfg",scfg.ctrl_dir); if((alias_fp=fopen(path,"r"))!=NULL) { @@ -845,7 +846,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, SAFEPRINTF2(vpath,"/%s/%s",p,startup->html_index_file); } else SAFECOPY(vpath,p); - JS_ResumeRequest(js_cx, rc); + JS_RESUMEREQUEST(js_cx, rc); js_add_file(js_cx ,alias_dir ? dir_array : file_array ,p /* filename */ @@ -861,12 +862,12 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, ,scfg.sys_id /* uploader */ ,vpath /* link */ ); - rc=JS_SuspendRequest(js_cx); + rc=JS_SUSPENDREQUEST(js_cx); } fclose(alias_fp); } - JS_ResumeRequest(js_cx, rc); + JS_RESUMEREQUEST(js_cx, rc); /* QWK Packet */ if(startup->options&FTP_OPT_ALLOW_QWK /* && fexist(qwkfile) */) { @@ -931,7 +932,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, } } else if(chk_ar(&scfg,scfg.dir[dir]->ar,user)){ SAFEPRINTF(path,"%s*",scfg.dir[dir]->path); - rc=JS_SuspendRequest(js_cx); + rc=JS_SUSPENDREQUEST(js_cx); glob(path,0,NULL,&g); for(i=0;i<(int)g.gl_pathc;i++) { if(isdir(g.gl_pathv[i])) @@ -956,7 +957,7 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, ,scfg.lib[scfg.dir[dir]->lib]->sname ,scfg.dir[dir]->code_suffix ,getfname(g.gl_pathv[i])); - JS_ResumeRequest(js_cx, rc); + JS_RESUMEREQUEST(js_cx, rc); js_add_file(js_cx ,file_array ,getfname(g.gl_pathv[i]) /* filename */ @@ -972,11 +973,11 @@ BOOL js_generate_index(JSContext* js_cx, JSObject* parent, ,f.uler /* uploader */ ,getfname(g.gl_pathv[i]) /* link */ ); - rc=JS_SuspendRequest(js_cx); + rc=JS_SUSPENDREQUEST(js_cx); } } globfree(&g); - JS_ResumeRequest(js_cx, rc); + JS_RESUMEREQUEST(js_cx, rc); } @@ -3911,7 +3912,7 @@ static void ctrl_thread(void* arg) lprintf(LOG_ERR,"%04d !JavaScript ERROR creating file area object",sock); } else - JS_BeginRequest(js_cx); + JS_BEGINREQUEST(js_cx); if((js_str=JS_NewStringCopyZ(js_cx, "name"))!=NULL) { js_val=STRING_TO_JSVAL(js_str); @@ -3955,7 +3956,7 @@ static void ctrl_thread(void* arg) js_val=BOOLEAN_TO_JSVAL(INT_TO_BOOL(user.misc&EXTDESC)); JS_SetProperty(js_cx, js_ftp, "extended_descriptions", &js_val); - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); #endif if((fp=fopen(ftp_tmpfname(fname,"html",sock),"w+b"))==NULL) { lprintf(LOG_ERR,"%04d !ERROR %d opening %s",sock,errno,fname); @@ -3970,12 +3971,12 @@ static void ctrl_thread(void* arg) tmpfile=TRUE; delfile=TRUE; #ifdef JAVASCRIPT - JS_BeginRequest(js_cx); + JS_BEGINREQUEST(js_cx); js_val=INT_TO_JSVAL(timeleft); if(!JS_SetProperty(js_cx, js_ftp, "time_left", &js_val)) lprintf(LOG_ERR,"%04d !JavaScript ERROR setting user.time_left",sock); js_generate_index(js_cx, js_ftp, sock, fp, lib, dir, &user); - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); #endif fclose(fp); } diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp index 4faa34c10b228cd285cbafbe65e5dbc380068564..d2ca7d2bbeddac65d3aaf57e8ed023afeb6fbfc0 100644 --- a/src/sbbs3/js_bbs.cpp +++ b/src/sbbs3/js_bbs.cpp @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs.h" +#include "js_request.h" #ifdef JAVASCRIPT @@ -284,9 +285,9 @@ static JSBool js_bbs_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) val=sbbs->online; break; case BBS_PROP_TIMELEFT: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); val=sbbs->gettimeleft(false); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case BBS_PROP_EVENT_TIME: val=sbbs->event_time; @@ -963,9 +964,9 @@ js_menu(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if (!str) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->menu(JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -979,9 +980,9 @@ js_hangup(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->hangup(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -995,10 +996,10 @@ js_nodesync(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->getnodedat(sbbs->cfg.node_num,&sbbs->thisnode,0); sbbs->nodesync(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1032,9 +1033,9 @@ js_exec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) p_startup_dir=JS_GetStringBytes(startup_dir); cstr=JS_GetStringBytes(cmd); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(sbbs->external(cstr,mode,p_startup_dir)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1069,9 +1070,9 @@ js_exec_xtrn(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->exec_xtrn(i)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1087,9 +1088,9 @@ js_user_event(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],&i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->user_event((user_event_t)i)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1102,9 +1103,9 @@ js_chksyspass(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->chksyspass()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1121,9 +1122,9 @@ js_chkpass(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JSString* str=JS_ValueToString(cx,argv[0]); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->chkpass(cstr,&sbbs->useron,true)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1250,7 +1251,7 @@ js_load_text(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } cstr=JS_GetStringBytes(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(i=0;i<TOTAL_TEXT;i++) { if(sbbs->text[i]!=sbbs->text_sav[i]) { if(sbbs->text[i]!=nulstr) @@ -1263,7 +1264,7 @@ js_load_text(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((stream=fnopen(NULL,path,O_RDONLY))==NULL) { *rval = JSVAL_FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } for(i=0;i<TOTAL_TEXT && !feof(stream);i++) { @@ -1286,7 +1287,7 @@ js_load_text(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) *rval = JSVAL_TRUE; fclose(stream); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1324,10 +1325,10 @@ js_atcode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(disp_len >= sizeof(str)) disp_len=sizeof(str)-1; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); cp=sbbs->atcode(instr,str2,sizeof(str2)); free(instr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(cp==NULL) *rval = JSVAL_NULL; else { @@ -1373,11 +1374,11 @@ js_logkey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->logch(*p ,comma ? true:false // This is a dumb bool conversion to make BC++ happy ); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = JSVAL_TRUE; return(JS_TRUE); @@ -1404,9 +1405,9 @@ js_logstr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->log(p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = JSVAL_TRUE; return(JS_TRUE); @@ -1433,9 +1434,9 @@ js_finduser(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(sbbs->finduser(p)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1472,9 +1473,9 @@ js_trashcan(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->trashcan(str,can)); // user args are reversed - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1487,9 +1488,9 @@ js_newuser(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->newuser()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1502,9 +1503,9 @@ js_logon(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->logon()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1533,9 +1534,9 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((pw=JS_GetStringBytes(js_pw))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->login(name,pw)==LOGIC_TRUE ? JS_TRUE:JS_FALSE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1549,7 +1550,7 @@ js_logoff(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!sbbs->noyes(sbbs->text[LogOffQ])) { if(sbbs->cfg.logoff_mod[0]) sbbs->exec_bin(sbbs->cfg.logoff_mod,&sbbs->main_csi); @@ -1557,7 +1558,7 @@ js_logoff(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) sbbs->menu("logoff"); sbbs->hangup(); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1571,9 +1572,9 @@ js_logout(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->logout(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1587,9 +1588,9 @@ js_automsg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->automsg(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1603,9 +1604,9 @@ js_time_bank(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->time_bank(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1619,9 +1620,9 @@ js_text_sec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->text_sec(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1635,9 +1636,9 @@ js_qwk_sec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->qwk_sec(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1651,9 +1652,9 @@ js_xtrn_sec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->xtrn_sec(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1667,9 +1668,9 @@ js_xfer_policy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->xfer_policy(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1683,9 +1684,9 @@ js_batchmenu(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->batchmenu(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1699,9 +1700,9 @@ js_batchdownload(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->start_batch_download()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1716,9 +1717,9 @@ js_batchaddlist(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv return(JS_FALSE); cstr=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->batch_add_list(cstr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1739,9 +1740,9 @@ js_sendfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) prot=*p; cstr=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->sendfile(cstr,prot)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1754,8 +1755,8 @@ js_recvfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) char* p; char* cstr; jsrefcount rc; - rc=JS_SuspendRequest(cx); - JS_ResumeRequest(cx, rc); + rc=JS_SUSPENDREQUEST(cx); + JS_RESUMEREQUEST(cx, rc); if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); @@ -1764,9 +1765,9 @@ js_recvfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) prot=*p; cstr=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->recvfile(cstr,prot)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1780,9 +1781,9 @@ js_temp_xfer(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->temp_xfer(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1796,11 +1797,11 @@ js_user_config(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->maindflts(&sbbs->useron); if(!(sbbs->useron.rest&FLAG('G'))) /* not guest */ getuserdat(&sbbs->cfg,&sbbs->useron); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1814,9 +1815,9 @@ js_user_sync(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); getuserdat(&sbbs->cfg,&sbbs->useron); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1830,9 +1831,9 @@ js_sys_info(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->sys_info(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1848,10 +1849,10 @@ js_sub_info(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) uint subnum=get_subnum(cx,sbbs,argv[0]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(subnum<sbbs->cfg.total_subs) sbbs->subinfo(subnum); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1866,10 +1867,10 @@ js_dir_info(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); uint dirnum=get_dirnum(cx,sbbs,argv[0]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(dirnum<sbbs->cfg.total_dirs) sbbs->dirinfo(dirnum); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1883,9 +1884,9 @@ js_user_info(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->user_info(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1899,9 +1900,9 @@ js_ver(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->ver(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1915,9 +1916,9 @@ js_sys_stats(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->sys_stats(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1935,9 +1936,9 @@ js_node_stats(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(argc>0 && JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],&node_num); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->node_stats(node_num); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1955,9 +1956,9 @@ js_userlist(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>0 && JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],&mode); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->userlist(mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1975,9 +1976,9 @@ js_useredit(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>0 && JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],&usernumber); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->useredit(usernumber); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1991,9 +1992,9 @@ js_change_user(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->change_user(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2007,9 +2008,9 @@ js_logonlist(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->logonlist(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2023,9 +2024,9 @@ js_nodelist(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->nodelist(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2039,9 +2040,9 @@ js_whos_online(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->whos_online(true); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2058,9 +2059,9 @@ js_spy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc && JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],&node_num); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->spy(node_num); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2082,9 +2083,9 @@ js_readmail(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>1 && JSVAL_IS_NUM(argv[1])) JS_ValueToInt32(cx,argv[1],&usernumber); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->readmail(usernumber,readwhich); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2120,9 +2121,9 @@ js_email(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(js_subj!=NULL) subj=JS_GetStringBytes(js_subj); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->email(usernumber,top,subj,mode)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } static JSBool @@ -2153,9 +2154,9 @@ js_netmail(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) subj=JS_GetStringBytes(js_subj); cstr=JS_GetStringBytes(js_to); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->netmail(cstr,subj,mode)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2176,11 +2177,11 @@ js_bulkmail(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ar=arstr(NULL,JS_GetStringBytes(js_ars), &sbbs->cfg); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->bulkmail(ar); if(ar && ar[0]) free(ar); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2202,9 +2203,9 @@ js_upload_file(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->upload(dirnum)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2226,9 +2227,9 @@ js_bulkupload(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->bulkupload(dirnum)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2249,9 +2250,9 @@ js_resort_dir(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->resort(dirnum); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = JSVAL_TRUE; return(JS_TRUE); @@ -2278,9 +2279,9 @@ js_telnet_gate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if(argc>1 && JSVAL_IS_NUM(argv[1])) JS_ValueToInt32(cx,argv[1],&mode); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->telnet_gate(addr,mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2294,9 +2295,9 @@ js_pagesysop(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->sysop_page()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2309,9 +2310,9 @@ js_pageguru(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->guru_page()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2328,9 +2329,9 @@ js_multinode_chat(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * if(argc>1 && JSVAL_IS_NUM(argv[1])) JS_ValueToInt32(cx,argv[1],&channel); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->multinodechat(channel); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2344,9 +2345,9 @@ js_private_message(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->nodemsg(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2364,9 +2365,9 @@ js_private_chat(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if(argc) JS_ValueToBoolean(cx,argv[0],&local); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->privchat(local ? true:false); // <- eliminates stupid msvc6 "performance warning" - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2380,9 +2381,9 @@ js_get_node_message(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->getnmsg(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2410,9 +2411,9 @@ js_put_node_message(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval if((msg=JS_GetStringBytes(js_msg))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(putnmsg(&sbbs->cfg,node,msg)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2431,9 +2432,9 @@ js_get_telegram(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if(argc && JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],&usernumber); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->getsmsg(usernumber); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2461,9 +2462,9 @@ js_put_telegram(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if((msg=JS_GetStringBytes(js_msg))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(putsmsg(&sbbs->cfg,usernumber,msg)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2497,9 +2498,9 @@ js_cmdstr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); p=sbbs->cmdstr(p,fpath,fspec,NULL); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx, p))==NULL) return(JS_FALSE); @@ -2518,9 +2519,9 @@ js_getfilespec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); p=sbbs->getfilespec(tmp); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(p==NULL) *rval=JSVAL_NULL; @@ -2563,12 +2564,12 @@ js_listfiles(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!(mode&(FL_FINDDESC|FL_EXFIND))) fspec=padfname(fspec,buf); *rval = INT_TO_JSVAL(sbbs->listfiles(dirnum,fspec,0 /* tofile */,mode)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2603,9 +2604,9 @@ js_listfileinfo(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(sbbs->listfileinfo(dirnum,padfname(fspec,buf),mode)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2645,10 +2646,10 @@ js_postmsg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->postmsg(subnum,remsg,mode)); smb_freemsgmem(&msg); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2666,9 +2667,9 @@ js_msgscan_cfg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if(argc && JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],(int32*)&mode); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->new_scan_cfg(mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2683,9 +2684,9 @@ js_msgscan_ptrs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->new_scan_ptr_cfg(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2699,13 +2700,13 @@ js_msgscan_reinit(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(uint i=0;i<sbbs->cfg.total_subs;i++) { sbbs->subscan[i].ptr=sbbs->subscan[i].sav_ptr; sbbs->subscan[i].last=sbbs->subscan[i].sav_last; } sbbs->bputs(sbbs->text[MsgPtrsInitialized]); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2728,12 +2729,12 @@ js_scansubs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) all=JSVAL_TO_BOOLEAN(argv[i]); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(all) sbbs->scanallsubs(mode); else sbbs->scansubs(mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2756,12 +2757,12 @@ js_scandirs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) all=JSVAL_TO_BOOLEAN(argv[i]); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(all) sbbs->scanalldirs(mode); else sbbs->scandirs(mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2795,9 +2796,9 @@ js_scanposts(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(*find) mode|=SCAN_FIND; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->scanposts(subnum,mode,find)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2829,9 +2830,9 @@ js_listmsgs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(JSVAL_IS_STRING(argv[argn])) find=JS_GetStringBytes(JS_ValueToString(cx,argv[argn++])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(sbbs->listsub(subnum,mode,start,find)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2850,13 +2851,13 @@ js_getnstime(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc && JSVAL_IS_NUM(argv[0])) JS_ValueToInt32(cx,argv[0],(int32*)&t); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(sbbs->inputnstime(&t)==true) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,t,rval); } else - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2870,9 +2871,9 @@ js_select_shell(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->select_shell()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2885,9 +2886,9 @@ js_select_editor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->select_editor()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2900,9 +2901,9 @@ js_get_time_left(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(sbbs->gettimeleft()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } diff --git a/src/sbbs3/js_conio.c b/src/sbbs3/js_conio.c index 7cf4d9adfbeaf4a4740f594038a566349053ed0a..14d1f98ed1a0cf6460bbf035f4c11e4e53c0c30c 100644 --- a/src/sbbs3/js_conio.c +++ b/src/sbbs3/js_conio.c @@ -41,6 +41,7 @@ #include "sbbs.h" #include "ciolib.h" +#include "js_request.h" /* Properties */ enum { @@ -77,7 +78,7 @@ static JSBool js_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) tiny = JSVAL_TO_INT(id); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); switch(tiny) { case PROP_WSCROLL: *vp=BOOLEAN_TO_JSVAL(_wscroll); @@ -152,7 +153,7 @@ static JSBool js_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) *vp=BOOLEAN_TO_JSVAL(!(cio_textinfo.attribute & 0x8)); break; } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -185,39 +186,39 @@ static JSBool js_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; case PROP_TEXTATTR: JS_ValueToInt32(cx, *vp, &i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); textattr(i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case PROP_WHEREX: JS_ValueToInt32(cx, *vp, &i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); gotoxy(i, cio_textinfo.cury); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case PROP_WHEREY: JS_ValueToInt32(cx, *vp, &i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); gotoxy(cio_textinfo.curx, i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case PROP_TEXTMODE: JS_ValueToInt32(cx, *vp, &i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); textmode(i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case PROP_TEXTBACKGROUND: JS_ValueToInt32(cx, *vp, &i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); textbackground(i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case PROP_TEXTCOLOR: JS_ValueToInt32(cx, *vp, &i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); textcolor(i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case PROP_CLIPBOARD: { @@ -225,28 +226,28 @@ static JSBool js_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) char *bytes; bytes=js_ValueToStringBytes(cx, *vp, &len); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); copytext(bytes, len+1); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } break; case PROP_HIGHVIDEO: JS_ValueToBoolean(cx, *vp, &b); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(b) highvideo(); else lowvideo(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case PROP_LOWVIDEO: JS_ValueToBoolean(cx, *vp, &b); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(b) lowvideo(); else highvideo(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; } @@ -307,14 +308,14 @@ js_conio_init(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval ciolib_mode=CIOLIB_MODE_CONIO; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(initciolib(ciolib_mode)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -323,10 +324,10 @@ js_conio_suspend(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); suspendciolib(); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -335,10 +336,10 @@ js_conio_clreol(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); clreol(); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -347,10 +348,10 @@ js_conio_clrscr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); clrscr(); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -359,10 +360,10 @@ js_conio_wscroll(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); wscroll(); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -371,10 +372,10 @@ js_conio_delline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); delline(); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -383,10 +384,10 @@ js_conio_insline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); insline(); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -395,10 +396,10 @@ js_conio_normvideo(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); normvideo(); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -407,9 +408,9 @@ js_conio_getch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(getch()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -418,9 +419,9 @@ js_conio_getche(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(getche()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -429,9 +430,9 @@ js_conio_beep(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(beep()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -440,9 +441,9 @@ js_conio_getfont(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(getfont()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -451,9 +452,9 @@ js_conio_hidemouse(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(hidemouse()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -462,9 +463,9 @@ js_conio_showmouse(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(showmouse()); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -475,10 +476,10 @@ js_conio_setcursortype(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, js jsrefcount rc; if(argc==1 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&type)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); _setcursortype(type); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -493,10 +494,10 @@ js_conio_gotoxy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if(argc==2 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&x) && JSVAL_IS_NUMBER(argv[1]) && JS_ValueToInt32(cx,argv[1],&y)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); gotoxy(x,y); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -510,9 +511,9 @@ js_conio_putch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva jsrefcount rc; if(argc==1 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&ch)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=INT_TO_JSVAL(putch(ch)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -526,9 +527,9 @@ js_conio_ungetch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r jsrefcount rc; if(argc==1 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&ch)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=INT_TO_JSVAL(ungetch(ch)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -542,9 +543,9 @@ js_conio_loadfont(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * jsrefcount rc; if(argc==1 && (str=js_ValueToStringBytes(cx,argv[0],NULL))!=NULL) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=INT_TO_JSVAL(loadfont(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -558,9 +559,9 @@ js_conio_settitle(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * jsrefcount rc; if(argc==1 && (str=js_ValueToStringBytes(cx,argv[0],NULL))!=NULL) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); settitle(str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval=JSVAL_TRUE; return(JS_TRUE); } @@ -575,9 +576,9 @@ js_conio_setname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r jsrefcount rc; if(argc==1 && (str=js_ValueToStringBytes(cx,argv[0],NULL))!=NULL) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); setname(str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval=JSVAL_TRUE; return(JS_TRUE); } @@ -592,9 +593,9 @@ js_conio_cputs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva jsrefcount rc; if(argc==1 && (str=js_ValueToStringBytes(cx,argv[0],NULL))!=NULL) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=INT_TO_JSVAL(cputs(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -618,9 +619,9 @@ js_conio_setfont(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(!JS_ValueToBoolean(cx, argv[1], &force)) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=INT_TO_JSVAL(setfont(font, force)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -635,9 +636,9 @@ js_conio_getpass(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r jsrefcount rc; if(argc==1 && (str=js_ValueToStringBytes(cx,argv[0],NULL))!=NULL) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); pwd=getpass(str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval=STRING_TO_JSVAL(JS_NewStringCopyZ(cx,pwd)); return(JS_TRUE); } @@ -682,9 +683,9 @@ js_conio_window(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); window(left, top, right, bottom); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(cio_textinfo.winleft == left && cio_textinfo.winright==right && cio_textinfo.wintop==top @@ -716,9 +717,9 @@ js_conio_cgets(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva return(JS_FALSE); } buf[0]=maxlen; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); ret=cgets(buf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(ret==NULL) *rval=JSVAL_NULL; else { @@ -760,9 +761,9 @@ js_conio_movetext(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * if(!JS_ValueToInt32(cx, argv[i], &args[i])) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=BOOLEAN_TO_JSVAL(movetext(args[0], args[1], args[2], args[3], args[4], args[5])); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -823,10 +824,10 @@ js_conio_puttext(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r buffer[i]=j; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=BOOLEAN_TO_JSVAL(puttext(args[0], args[1], args[2], args[3], buffer)); free(buffer); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -866,10 +867,10 @@ js_conio_gettext(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(result==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(gettext(args[0], args[1], args[2], args[3], result)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); array=JS_NewArrayObject(cx, 0, NULL); for(i=0; i<size; i++) { JS_NewNumberValue(cx, result[i], &val); @@ -881,7 +882,7 @@ js_conio_gettext(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r *rval=OBJECT_TO_JSVAL(array); } else { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval=JSVAL_NULL; } free(result); diff --git a/src/sbbs3/js_console.cpp b/src/sbbs3/js_console.cpp index dd747251662535c313a9c2e1403af2874c9c75d1..4a41d0188a796ef9b4ee4b8b00265498661d2141 100644 --- a/src/sbbs3/js_console.cpp +++ b/src/sbbs3/js_console.cpp @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs.h" +#include "js_request.h" #ifdef JAVASCRIPT @@ -197,9 +198,9 @@ static JSBool js_console_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; val=attrstr(JS_GetStringBytes(str)); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->attr(val); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case CON_PROP_TOS: sbbs->tos=val; @@ -384,9 +385,9 @@ js_inkey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JS_ValueToInt32(cx,argv[0],&mode); if(argc>1) JS_ValueToInt32(cx,argv[1],&timeout); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); key[0]=sbbs->inkey(mode,timeout); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); key[1]=0; if((js_str = JS_NewStringCopyZ(cx, key))==NULL) @@ -410,9 +411,9 @@ js_getkey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) JS_ValueToInt32(cx,argv[0],&mode); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); key[0]=sbbs->getkey(mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); key[1]=0; if((js_str = JS_NewStringCopyZ(cx, key))==NULL) @@ -447,9 +448,9 @@ js_handle_ctrlkey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * if(argc>1) JS_ValueToInt32(cx, argv[1], &mode); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->handle_ctrlkey(key,mode)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -490,9 +491,9 @@ js_getstr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(js_str!=NULL) sprintf(p,"%.*s",(int)maxlen,JS_GetStringBytes(js_str)); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->getstr(p,maxlen,mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, p); @@ -521,9 +522,9 @@ js_getnum(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>1 && JSVAL_IS_NUMBER(argv[1])) JS_ValueToInt32(cx,argv[1],(int32*)&dflt); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(sbbs->getnum(maxnum,dflt)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -555,9 +556,9 @@ js_getkeys(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); val=sbbs->getkeys(cstr,maxnum); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(val==-1) { // abort *rval = INT_TO_JSVAL(0); @@ -609,9 +610,9 @@ js_gettemplate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva SAFECOPY(str,JS_GetStringBytes(js_str)); cstr=JS_GetStringBytes(js_fmt); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->gettmplt(str,cstr,mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx, str))==NULL) return(JS_FALSE); @@ -636,10 +637,10 @@ js_ungetstr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) p=JS_GetStringBytes(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); while(p && *p) sbbs->ungetkey(*(p++)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -658,9 +659,9 @@ js_yesno(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->yesno(cstr)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -679,9 +680,9 @@ js_noyes(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->noyes(cstr)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -700,9 +701,9 @@ js_mnemonics(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->mnemonics(cstr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -717,9 +718,9 @@ js_set_attr(JSContext* cx, sbbs_t* sbbs, jsval val) else JS_ValueToInt32(cx, val, &attr); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->attr(attr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } static JSBool @@ -734,9 +735,9 @@ js_clear(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) js_set_attr(cx, sbbs, argv[0]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->CLS; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -752,9 +753,9 @@ js_clearline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) js_set_attr(cx, sbbs, argv[0]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->clearline(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -770,9 +771,9 @@ js_cleartoeol(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(argc) js_set_attr(cx, sbbs, argv[0]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->cleartoeol(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -785,10 +786,10 @@ js_crlf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->outchar(CR); sbbs->outchar(LF); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -801,9 +802,9 @@ js_pause(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->pause(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -820,10 +821,10 @@ js_beep(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) JS_ValueToInt32(cx, argv[0], &count); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(i=0;i<count;i++) sbbs->outchar('\a'); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -844,9 +845,9 @@ js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->bputs(cstr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -861,9 +862,9 @@ js_strlen(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(bstrlen(cstr)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -883,9 +884,9 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->rputs(cstr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -919,9 +920,9 @@ js_putmsg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JS_ValueToInt32(cx,argv[1],(int32*)&mode); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->putmsg(cstr,mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -945,9 +946,9 @@ js_printfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JS_ValueToInt32(cx,argv[1],(int32*)&mode); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->printfile(cstr,mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -982,9 +983,9 @@ js_printtail(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) lines=5; cstr=JS_GetStringBytes(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->printtail(cstr,lines,mode); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1003,9 +1004,9 @@ js_editfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->editfile(JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1049,9 +1050,9 @@ js_uselect(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(sbbs->uselect(1, num, title, item, ar)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1071,9 +1072,9 @@ js_center(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr=JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->center(JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1101,12 +1102,12 @@ js_restoreline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->lbuflen=0; sbbs->attr(sbbs->slatr[--sbbs->slcnt]); sbbs->rputs(sbbs->slbuf[sbbs->slcnt]); sbbs->curatr=LIGHTGRAY; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1138,9 +1139,9 @@ js_pushxy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->ANSI_SAVE(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1153,9 +1154,9 @@ js_popxy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->ANSI_RESTORE(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1180,9 +1181,9 @@ js_gotoxy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JS_ValueToInt32(cx,argv[1],&y); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->GOTOXY(x,y); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1198,9 +1199,9 @@ js_getxy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->ansi_getxy(&x,&y); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((screen=JS_NewObject(cx,NULL,NULL,obj))==NULL) return(JS_TRUE); @@ -1223,9 +1224,9 @@ js_cursor_home(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->cursor_home(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1241,9 +1242,9 @@ js_cursor_up(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) JS_ValueToInt32(cx,argv[0],&val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->cursor_up(val); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1259,9 +1260,9 @@ js_cursor_down(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if(argc) JS_ValueToInt32(cx,argv[0],&val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->cursor_down(val); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1277,9 +1278,9 @@ js_cursor_right(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if(argc) JS_ValueToInt32(cx,argv[0],&val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->cursor_right(val); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1295,9 +1296,9 @@ js_cursor_left(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if(argc) JS_ValueToInt32(cx,argv[0],&val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->cursor_left(val); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1310,9 +1311,9 @@ js_getlines(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->ansi_getlines(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1329,7 +1330,7 @@ js_lock_input(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(argc) JS_ValueToBoolean(cx, argv[0], &lock); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(lock) { pthread_mutex_lock(&sbbs->input_thread_mutex); sbbs->input_thread_mutex_locked=true; @@ -1337,7 +1338,7 @@ js_lock_input(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval pthread_mutex_unlock(&sbbs->input_thread_mutex); sbbs->input_thread_mutex_locked=false; } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1356,9 +1357,9 @@ js_telnet_cmd(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(argc>1) JS_ValueToInt32(cx,argv[1],&opt); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->send_telnet_cmd((uchar)cmd,(uchar)opt); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1376,13 +1377,13 @@ js_term_supports(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(argc) { if(!JS_ValueToInt32(cx,argv[0],&flags)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->term_supports(flags)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); flags=sbbs->term_supports(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,flags,rval); } diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index d00f17a711968f6eab370fdaa3fa6fa5d6460f64..c076602fad787127336b65194698294448602e22 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -44,6 +44,7 @@ #ifdef JAVASCRIPT +#include "js_request.h" #include "jsdate.h" /* Yes, I know this is a private header file */ typedef struct @@ -163,7 +164,7 @@ js_open(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } SAFECOPY(p->mode,mode); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(shareable) p->fp=fopen(p->name,p->mode); else { @@ -180,7 +181,7 @@ js_open(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else setvbuf(p->fp,NULL,_IOFBF,bufsize); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -220,7 +221,7 @@ js_popen(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } SAFECOPY(p->mode,mode); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); p->fp=popen(p->name,p->mode); if(p->fp!=NULL) { p->pipe=TRUE; @@ -231,7 +232,7 @@ js_popen(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else setvbuf(p->fp,NULL,_IOFBF,bufsize); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -250,7 +251,7 @@ js_close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(p->fp==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); #ifdef __unix__ if(p->pipe) pclose(p->fp); @@ -261,7 +262,7 @@ js_close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) dbprintf(FALSE, p, "closed"); p->fp=NULL; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -293,12 +294,12 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(!JS_ValueToInt32(cx,argv[0],&len)) return(JS_FALSE); } else { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len=filelength(fileno(p->fp)); offset=ftell(p->fp); if(offset>0) len-=offset; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(len<0) len=512; @@ -306,7 +307,7 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((buf=malloc(len+1))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len = fread(buf,1,len,p->fp); if(len<0) len=0; @@ -325,7 +326,7 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) uulen=len*2; if((uubuf=malloc(uulen))==NULL) { free(buf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if(p->uuencoded) @@ -342,7 +343,7 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else free(uubuf); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); str = JS_NewStringCopyN(cx, buf, len); free(buf); @@ -352,9 +353,9 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) *rval = STRING_TO_JSVAL(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "read %u bytes",len); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -387,7 +388,7 @@ js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((buf=alloca(len))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(fgets(buf,len,p->fp)!=NULL) { len=strlen(buf); while(len>0 && (buf[len-1]=='\r' || buf[len-1]=='\n')) @@ -399,12 +400,12 @@ js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } if(p->rot13) rot13(buf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx,buf))!=NULL) /* exception here Feb-12-2005 */ *rval = STRING_TO_JSVAL(js_str); /* _CrtDbgBreak from _heap_alloc_dbg */ - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -444,18 +445,18 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(size != sizeof(BYTE) && size != sizeof(WORD) && size != sizeof(DWORD)) { /* unknown size */ dbprintf(TRUE, p, "unsupported binary read size: %d",size); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } buffer=malloc(size*count); if(buffer==NULL) { dbprintf(TRUE, p, "malloc failure of %u bytes", size*count); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } b=buffer; @@ -472,15 +473,15 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) *rval = INT_TO_JSVAL(*w); break; case sizeof(DWORD): - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,*l,rval); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; } } } else { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); array = JS_NewArrayObject(cx, 0, NULL); for(i=0; i<retlen; i++) { @@ -496,7 +497,7 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) break; } if(!JS_SetElement(cx, array, i, &v)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); goto end; } } @@ -505,7 +506,7 @@ js_readbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) end: free(buffer); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -614,9 +615,9 @@ js_iniGetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva key=JS_GetStringBytes(JS_ValueToString(cx, argv[1])); if(dflt==JSVAL_VOID) { /* unspecified default value */ - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval=get_value(cx,iniReadString(p->fp,section,key,NULL,buf)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -626,18 +627,18 @@ js_iniGetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva iniReadBool(p->fp,section,key,JSVAL_TO_BOOLEAN(dflt))); break; case JSVAL_DOUBLE: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbl=iniReadFloat(p->fp,section,key,*JSVAL_TO_DOUBLE(dflt)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx ,dbl,rval); break; case JSVAL_OBJECT: if((dflt_obj = JSVAL_TO_OBJECT(dflt))!=NULL && js_DateIsValid(cx, dflt_obj)) { tt=(time_t)(js_DateGetMsecSinceEpoch(cx,dflt_obj)/1000.0); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbl=iniReadDateTime(p->fp,section,key,tt); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); date_obj = js_NewDateObjectMsec(cx, dbl); if(date_obj!=NULL) *rval = OBJECT_TO_JSVAL(date_obj); @@ -645,32 +646,32 @@ js_iniGetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva } array = JS_NewArrayObject(cx, 0, NULL); cstr=JS_GetStringBytes(JS_ValueToString(cx,dflt)); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); list=iniReadStringList(p->fp,section,key,",",cstr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); for(i=0;list && list[i];i++) { val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx,list[i])); if(!JS_SetElement(cx, array, i, &val)) break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); iniFreeStringList(list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(array); break; default: if(JSVAL_IS_NUMBER(dflt)) { if(!JS_ValueToInt32(cx,dflt,&i)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); i=iniReadInteger(p->fp,section,key,i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,i,rval); } else { cstr=JS_GetStringBytes(JS_ValueToString(cx,dflt)); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); cstr2=iniReadString(p->fp,section,key,cstr,buf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cstr2)); } break; @@ -708,17 +709,17 @@ js_iniSetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); key=JS_GetStringBytes(JS_ValueToString(cx, argv[1])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((list=iniReadFile(p->fp))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(value==JSVAL_VOID) { /* unspecified value */ - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); result = iniSetString(&list,section,key,"",NULL); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else { @@ -733,34 +734,34 @@ js_iniSetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if(JSVAL_IS_NUMBER(value)) { if(!JS_ValueToInt32(cx,value,&i)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); result = iniSetInteger(&list,section,key,i,NULL); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else { if(JSVAL_IS_OBJECT(value) && (value_obj = JSVAL_TO_OBJECT(value))!=NULL && js_DateIsValid(cx, value_obj)) { tt=(time_t)(js_DateGetMsecSinceEpoch(cx,value_obj)/1000.0); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); result = iniSetDateTime(&list,section,key,/* include_time */TRUE, tt,NULL); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else { cstr=JS_GetStringBytes(JS_ValueToString(cx,value)); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); result = iniSetString(&list,section,key, cstr,NULL); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } } break; } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(result != NULL) *rval = BOOLEAN_TO_JSVAL(iniWriteFile(p->fp,list)); strListFree(&list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -788,9 +789,9 @@ js_iniRemoveKey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); key=JS_GetStringBytes(JS_ValueToString(cx, argv[1])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((list=iniReadFile(p->fp))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -798,7 +799,7 @@ js_iniRemoveKey(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv *rval = BOOLEAN_TO_JSVAL(iniWriteFile(p->fp,list)); strListFree(&list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -824,9 +825,9 @@ js_iniRemoveSection(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval if(argv[0]!=JSVAL_VOID && argv[0]!=JSVAL_NULL) section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((list=iniReadFile(p->fp))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -834,7 +835,7 @@ js_iniRemoveSection(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval = BOOLEAN_TO_JSVAL(iniWriteFile(p->fp,list)); strListFree(&list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -866,17 +867,17 @@ js_iniGetSections(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * array = JS_NewArrayObject(cx, 0, NULL); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); list = iniReadSectionList(p->fp,prefix); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); for(i=0;list && list[i];i++) { val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx,list[i])); if(!JS_SetElement(cx, array, i, &val)) break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); iniFreeStringList(list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(array); @@ -908,17 +909,17 @@ js_iniGetKeys(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); array = JS_NewArrayObject(cx, 0, NULL); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); list = iniReadKeyList(p->fp,section); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); for(i=0;list && list[i];i++) { val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx,list[i])); if(!JS_SetElement(cx, array, i, &val)) break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); iniFreeStringList(list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(array); @@ -949,18 +950,18 @@ js_iniGetObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); object = JS_NewObject(cx, NULL, NULL, obj); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); list = iniReadNamedStringList(p->fp,section); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); for(i=0;list && list[i];i++) { JS_DefineProperty(cx, object, list[i]->name ,get_value(cx,list[i]->value) ,NULL,NULL,JSPROP_ENUMERATE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); iniFreeNamedStringList(list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(object); @@ -1035,9 +1036,9 @@ js_iniGetAllObjects(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval array = JS_NewArrayObject(cx, 0, NULL); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sec_list = iniReadSectionList(p->fp,prefix); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); for(i=0;sec_list && sec_list[i];i++) { object = JS_NewObject(cx, NULL, NULL, obj); @@ -1048,24 +1049,24 @@ js_iniGetAllObjects(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval ,STRING_TO_JSVAL(JS_NewStringCopyZ(cx,sec_name)) ,NULL,NULL,JSPROP_ENUMERATE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); key_list = iniReadNamedStringList(p->fp,sec_list[i]); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); for(k=0;key_list && key_list[k];k++) JS_DefineProperty(cx, object, key_list[k]->name ,get_value(cx,key_list[k]->value) ,NULL,NULL,JSPROP_ENUMERATE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); iniFreeNamedStringList(key_list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); val=OBJECT_TO_JSVAL(object); if(!JS_SetElement(cx, array, i, &val)) break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); iniFreeStringList(sec_list); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(array); @@ -1137,7 +1138,7 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) cp = JS_GetStringBytes(str); len = JS_GetStringLength(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->uuencoded || p->b64encoded || p->yencoded) && len && (uubuf=malloc(len))!=NULL) { if(p->uuencoded) @@ -1148,7 +1149,7 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) len=b64_decode(uubuf,len,cp,len); if(len<0) { free(uubuf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } cp=uubuf; @@ -1157,7 +1158,7 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(p->rot13) rot13(cp); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); tlen=len; if(argc>1) { if(!JS_ValueToInt32(cx,argv[1],(int32*)&tlen)) { @@ -1168,7 +1169,7 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) len=tlen; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(fwrite(cp,1,len,p->fp)==(size_t)len) { if(tlen>len) { len=tlen-len; @@ -1187,7 +1188,7 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) dbprintf(TRUE, p, "write of %u bytes failed",len); FREE_AND_NULL(uubuf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1218,13 +1219,13 @@ js_writeln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) cp = JS_GetStringBytes(str); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(p->rot13) rot13(cp); if(fprintf(p->fp,"%s\n",cp)!=0) *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1273,16 +1274,16 @@ js_writebin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } if(size != sizeof(BYTE) && size != sizeof(WORD) && size != sizeof(DWORD)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(TRUE, p, "unsupported binary write size: %d",size); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } buffer=malloc(size*count); if(buffer==NULL) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(TRUE, p, "malloc failure of %u bytes", size*count); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } b=buffer; @@ -1320,9 +1321,9 @@ js_writebin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); wr=fwrite(buffer,size,count,p->fp); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(wr==count) *rval=JSVAL_TRUE; @@ -1404,13 +1405,13 @@ js_lock(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(len==0) len=filelength(fileno(p->fp))-offset; if(lock(fileno(p->fp),offset,len)==0) *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1445,13 +1446,13 @@ js_unlock(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(len==0) len=filelength(fileno(p->fp))-offset; if(unlock(fileno(p->fp),offset,len)==0) *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1472,9 +1473,9 @@ js_delete(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) p->fp=NULL; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(remove(p->name)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1490,12 +1491,12 @@ js_flush(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(p->fp==NULL) *rval = JSVAL_FALSE; else *rval = BOOLEAN_TO_JSVAL(fflush(p->fp)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1511,14 +1512,14 @@ js_rewind(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(p->fp==NULL) *rval = JSVAL_FALSE; else { *rval = JSVAL_TRUE; rewind(p->fp); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1540,13 +1541,13 @@ js_truncate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = JSVAL_FALSE; if(p->fp!=NULL && chsize(fileno(p->fp),len)==0) { fseek(p->fp,len,SEEK_SET); *rval = JSVAL_TRUE; } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1562,14 +1563,14 @@ js_clear_error(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(p->fp==NULL) *rval = JSVAL_FALSE; else { clearerr(p->fp); *rval = JSVAL_TRUE; } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1596,9 +1597,9 @@ js_fprintf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(fwrite(cp,1,strlen(cp),p->fp)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_sprintf_free(cp); return(JS_TRUE); @@ -1648,9 +1649,9 @@ static JSBool js_file_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) tiny = JSVAL_TO_INT(id); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "setting property %d",tiny); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); switch(tiny) { case FILE_PROP_DEBUG: @@ -1675,33 +1676,33 @@ static JSBool js_file_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) if(p->fp!=NULL) { if(!JS_ValueToInt32(cx,*vp,&i)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fseek(p->fp,i,SEEK_SET); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } break; case FILE_PROP_DATE: if(!JS_ValueToInt32(cx,*vp,&i)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); setfdate(p->name,i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case FILE_PROP_LENGTH: if(p->fp!=NULL) { if(!JS_ValueToInt32(cx,*vp,&i)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); chsize(fileno(p->fp),i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } break; case FILE_PROP_ATTRIBUTES: if(!JS_ValueToInt32(cx,*vp,&i)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); CHMOD(p->name,i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case FILE_PROP_ETX: if(!JS_ValueToInt32(cx,*vp,&i)) @@ -1759,15 +1760,15 @@ static JSBool js_file_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) if(p->fp) /* open? */ *vp = JSVAL_TRUE; else { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = BOOLEAN_TO_JSVAL(fexistcase(p->name)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } break; case FILE_PROP_DATE: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); tt=fdate(p->name); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,tt,vp); break; case FILE_PROP_IS_OPEN: @@ -1775,45 +1776,45 @@ static JSBool js_file_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; case FILE_PROP_EOF: if(p->fp) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = BOOLEAN_TO_JSVAL(feof(p->fp)!=0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else *vp = JSVAL_TRUE; break; case FILE_PROP_ERROR: if(p->fp) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = INT_TO_JSVAL(ferror(p->fp)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else *vp = INT_TO_JSVAL(errno); break; case FILE_PROP_POSITION: if(p->fp) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); lng=ftell(p->fp); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,lng,vp); } else *vp = INT_TO_JSVAL(-1); break; case FILE_PROP_LENGTH: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(p->fp) /* open? */ lng = filelength(fileno(p->fp)); else lng = flength(p->name); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,lng,vp); break; case FILE_PROP_ATTRIBUTES: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); in=getfattr(p->name); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,in,vp); break; case FILE_PROP_DEBUG: @@ -1855,7 +1856,7 @@ static JSBool js_file_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) *vp = JSVAL_VOID; if(p->fp==NULL) break; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); offset=ftell(p->fp); /* save current file position */ fseek(p->fp,0,SEEK_SET); @@ -1890,7 +1891,7 @@ static JSBool js_file_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; } } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); /* finalize */ switch(tiny) { @@ -1915,9 +1916,9 @@ static JSBool js_file_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) js_str=JS_NewStringCopyZ(cx, str); break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fseek(p->fp,offset,SEEK_SET); /* restore saved file position */ - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(js_str!=NULL) *vp = STRING_TO_JSVAL(js_str); break; diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index 10d1d70a0fb18bbe415fb91bb1d1d12acd99bf4f..8f44c11530bf39c10d4faaccabcf228814bc2bf5 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -43,6 +43,7 @@ #include "htmlansi.h" #include "ini_file.h" #include "js_rtpool.h" +#include "js_request.h" /* SpiderMonkey: */ #include <jsfun.h> @@ -118,12 +119,14 @@ static void background_thread(void* arg) msgQueueAttach(bg->msg_queue); JS_SetContextThread(bg->cx); + JS_BEGINREQUEST(bg->cx); if(!JS_ExecuteScript(bg->cx, bg->obj, bg->script, &result) && JS_GetProperty(bg->cx, bg->obj, "exit_code", &exit_code)) result=exit_code; js_EvalOnExit(bg->cx, bg->obj, &bg->branch); js_enqueue_value(bg->cx, bg->msg_queue, result, NULL); JS_DestroyScript(bg->cx, bg->script); + JS_ENDREQUEST(bg->cx); JS_DestroyContext(bg->cx); jsrt_Release(bg->runtime); free(bg); @@ -262,6 +265,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); + JS_BEGINREQUEST(bg->cx); if((bg->obj=js_CreateCommonObjects(bg->cx ,p->cfg /* common config */ @@ -331,7 +335,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ,NULL,NULL,JSPROP_ENUMERATE|JSPROP_READONLY); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); errno = 0; if(isfullpath(filename)) strcpy(path,filename); @@ -340,7 +344,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(p->cfg->mods_dir[0]==0 || !fexistcase(path)) sprintf(path,"%s%s",p->cfg->exec_dir,filename); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_ClearPendingException(exec_cx); @@ -351,6 +355,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) bg->script = script; *rval = OBJECT_TO_JSVAL(js_CreateQueueObject(cx, obj, NULL, bg->msg_queue)); + JS_ENDREQUEST(bg->cx); success = _beginthread(background_thread,0,bg)!=-1; } else { @@ -391,13 +396,13 @@ js_yield(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) JS_ValueToBoolean(cx, argv[0], &forced); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(forced) { YIELD(); } else { MAYBE_YIELD(); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -411,9 +416,9 @@ js_mswait(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) JS_ValueToInt32(cx,argv[0],&val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); mswait(val); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,msclock()-start,rval); @@ -452,9 +457,9 @@ js_beep(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>1) JS_ValueToInt32(cx,argv[1],&dur); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs_beep(freq,dur); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -481,9 +486,9 @@ js_crc16(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], &len))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(crc16(p,len)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -494,8 +499,8 @@ js_crc32(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) size_t len; uint32_t cs; jsrefcount rc; - rc=JS_SuspendRequest(cx); - JS_ResumeRequest(cx, rc); + rc=JS_SUSPENDREQUEST(cx); + JS_RESUMEREQUEST(cx, rc); if(JSVAL_IS_VOID(argv[0])) return(JS_TRUE); @@ -504,9 +509,9 @@ js_crc32(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cs=crc32(p,len); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); JS_NewNumberValue(cx,cs,rval); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -524,9 +529,9 @@ js_chksum(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], &len))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); while(len--) sum+=*(p++); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,sum,rval); return(JS_TRUE); @@ -896,7 +901,7 @@ js_word_wrap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } prefix[0]=0; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); outbuf[0]=0; /* Get prefix from the first line (ouch) */ @@ -1098,7 +1103,7 @@ js_word_wrap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, outbuf); free(outbuf); free(linebuf); @@ -1145,7 +1150,7 @@ js_quote_msg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((linebuf=(char*)alloca(len*2+2))==NULL) /* (Hopefully) Room for ^A codes. ToDo */ return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); outbuf[0]=0; clen=0; for(i=l=0;inbuf[i];i++) { @@ -1169,7 +1174,7 @@ js_quote_msg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } if(l) /* remainder */ strncat(outbuf,linebuf,l); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, outbuf); free(outbuf); @@ -1504,7 +1509,7 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((tmpbuf=(char*)malloc((strlen(inbuf)*10)+1))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(i=j=0;inbuf[i];i++) { switch(inbuf[i]) { case TAB: @@ -1582,7 +1587,7 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((outbuf=(uchar*)malloc(obsize))==NULL) { free(tmpbuf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } j=sprintf(outbuf,"<span style=\"%s\">",htmlansi[7]); @@ -1595,7 +1600,7 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva { free(tmpbuf); free(outbuf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } outbuf=param; @@ -2049,13 +2054,13 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva } } strcpy(outbuf+j,"</span>"); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, outbuf); free(outbuf); } else { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, tmpbuf); } @@ -2113,7 +2118,7 @@ js_html_decode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if((outbuf=(char*)malloc(strlen(inbuf)+1))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(i=j=0;inbuf[i];i++) { if(inbuf[i]!='&') { outbuf[j++]=inbuf[i]; @@ -2183,7 +2188,7 @@ js_html_decode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva } outbuf[j]=0; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, outbuf); free(outbuf); @@ -2218,9 +2223,9 @@ js_b64_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if((outbuf=(char*)malloc(len))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); res=b64_encode(outbuf,len,inbuf,inbuf_len); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(res<1) { free(outbuf); @@ -2259,9 +2264,9 @@ js_b64_decode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if((outbuf=(char*)malloc(len))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); res=b64_decode(outbuf,len,inbuf,strlen(inbuf)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(res<1) { free(outbuf); @@ -2299,14 +2304,14 @@ js_md5_calc(JSContext* cx, JSObject* obj, uintN argc, jsval* argv, jsval* rval) if(argc>1 && JSVAL_IS_BOOLEAN(argv[1])) hex=JSVAL_TO_BOOLEAN(argv[1]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); MD5_calc(digest,inbuf,inbuf_len); if(hex) MD5_hex(outbuf,digest); else b64_encode(outbuf,sizeof(outbuf),digest,sizeof(digest)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, outbuf); if(js_str==NULL) @@ -2432,9 +2437,9 @@ js_fullpath(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); SAFECOPY(path,str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); _fullpath(path, str, sizeof(path)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str = JS_NewStringCopyZ(cx, path))==NULL) return(JS_FALSE); @@ -2495,7 +2500,7 @@ js_getfcase(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) char path[MAX_PATH+1]; JSString* js_str; jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(JSVAL_IS_VOID(argv[0])) return(JS_TRUE); @@ -2504,9 +2509,9 @@ js_getfcase(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); SAFECOPY(path,str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(fexistcase(path)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, path); if(js_str==NULL) return(JS_FALSE); @@ -2514,7 +2519,7 @@ js_getfcase(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) *rval = STRING_TO_JSVAL(js_str); } else - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2534,9 +2539,9 @@ js_dosfname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((str=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(GetShortPathName(str,path,sizeof(path))) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str = JS_NewStringCopyZ(cx, path); if(js_str==NULL) return(JS_FALSE); @@ -2544,7 +2549,7 @@ js_dosfname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) *rval = STRING_TO_JSVAL(js_str); } else - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); #else /* No non-Windows equivalent */ @@ -2563,8 +2568,8 @@ js_cfgfname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) char result[MAX_PATH+1]; char* cstr; jsrefcount rc; - rc=JS_SuspendRequest(cx); - JS_ResumeRequest(cx, rc); + rc=JS_SUSPENDREQUEST(cx); + JS_RESUMEREQUEST(cx, rc); if(JSVAL_IS_VOID(argv[0])) return(JS_TRUE); @@ -2575,9 +2580,9 @@ js_cfgfname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((fname=js_ValueToStringBytes(cx, argv[1], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); cstr = iniFileName(result,sizeof(result),path,fname); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,cstr)); return(JS_TRUE); @@ -2595,9 +2600,9 @@ js_fexist(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(fexist(p)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2613,9 +2618,9 @@ js_removecase(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(removecase(p)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2631,9 +2636,9 @@ js_remove(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(remove(p)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2653,9 +2658,9 @@ js_rename(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((newname=js_ValueToStringBytes(cx, argv[1], NULL))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(rename(oldname,newname)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2675,9 +2680,9 @@ js_fcopy(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((dest=js_ValueToStringBytes(cx, argv[1], NULL))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(fcopy(src,dest)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2697,9 +2702,9 @@ js_fcompare(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((fn2=js_ValueToStringBytes(cx, argv[1], NULL))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(fcompare(fn1,fn2)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2723,9 +2728,9 @@ js_backup(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>2) JS_ValueToBoolean(cx,argv[2],&ren); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(backup(fname,level,ren)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2741,9 +2746,9 @@ js_isdir(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(isdir(p)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2760,9 +2765,9 @@ js_fattr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); attr=getfattr(p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,attr,rval); return(JS_TRUE); } @@ -2780,9 +2785,9 @@ js_fdate(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fd=fdate(p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,fd,rval); return(JS_TRUE); } @@ -2815,9 +2820,9 @@ js_utime(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ut.modtime=modtime; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(utime(fname,&ut)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2836,9 +2841,9 @@ js_flength(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fl=flength(p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,fl,rval); return(JS_TRUE); } @@ -2856,9 +2861,9 @@ js_ftouch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((fname=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(ftouch(fname)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2881,9 +2886,9 @@ js_fmutex(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc > argn && JSVAL_IS_NUMBER(argv[argn])) JS_ValueToInt32(cx, argv[argn++], &max_age); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(fmutex(fname,text,max_age)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2907,13 +2912,13 @@ js_sound(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); #ifdef _WIN32 *rval = BOOLEAN_TO_JSVAL(PlaySound(p, NULL, SND_ASYNC|SND_FILENAME)); #else *rval = BOOLEAN_TO_JSVAL(JS_FALSE); #endif - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -2945,9 +2950,9 @@ js_directory(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((array = JS_NewArrayObject(cx, 0, NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); glob(p,flags,NULL,&g); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); for(i=0;i<(int)g.gl_pathc;i++) { if((js_str=JS_NewStringCopyZ(cx,g.gl_pathv[i]))==NULL) break; @@ -2955,9 +2960,9 @@ js_directory(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(!JS_SetElement(cx, array, len++, &val)) break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); globfree(&g); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(array); @@ -2987,12 +2992,12 @@ js_wildmatch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argn<argc && argv[argn]!=JSVAL_VOID) JS_ValueToBoolean(cx, argv[argn++], &path); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(case_sensitive) *rval = BOOLEAN_TO_JSVAL(wildmatch(fname, spec, path)); else *rval = BOOLEAN_TO_JSVAL(wildmatchi(fname, spec, path)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -3015,9 +3020,9 @@ js_freediskspace(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(argc>1) JS_ValueToInt32(cx,argv[1],&unit); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fd=getfreediskspace(p,unit); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,fd,rval); return(JS_TRUE); @@ -3040,9 +3045,9 @@ js_disksize(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>1) JS_ValueToInt32(cx,argv[1],&unit); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); ds=getdisksize(p,unit); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,ds,rval); return(JS_TRUE); @@ -3111,24 +3116,24 @@ js_socket_select(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(select(maxsock+1,rd_set,wr_set,NULL,&tv) >= 0) { for(i=0;i<limit;i++) { if(index[i]!=INVALID_SOCKET && FD_ISSET(index[i],&socket_set)) { val=INT_TO_JSVAL(i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(!JS_SetElement(cx, rarray, len++, &val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } } *rval = OBJECT_TO_JSVAL(rarray); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -3145,9 +3150,9 @@ js_mkdir(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(MKDIR(p)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -3163,9 +3168,9 @@ js_mkpath(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(mkpath(p)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -3181,9 +3186,9 @@ js_rmdir(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(rmdir(p)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -3208,13 +3213,13 @@ js_strftime(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>1) JS_ValueToInt32(cx,argv[1],&i); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); strcpy(str,"-Invalid time-"); t=i; if(localtime_r(&t,&tm)==NULL) memset(&tm,0,sizeof(tm)); strftime(str,sizeof(str),fmt,&tm); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx, str))==NULL) return(JS_FALSE); @@ -3239,10 +3244,10 @@ js_resolve_ip(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((addr.s_addr=resolve_ip(p))==INADDR_NONE) return(JS_TRUE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((str=JS_NewStringCopyZ(cx, inet_ntoa(addr)))==NULL) return(JS_FALSE); @@ -3268,10 +3273,10 @@ js_resolve_host(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if((p=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); addr.s_addr=inet_addr(p); h=gethostbyaddr((char *)&addr,sizeof(addr),AF_INET); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(h!=NULL && h->h_name!=NULL) *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,h->h_name)); @@ -3295,19 +3300,19 @@ js_list_named_queues(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsva if((array = JS_NewArrayObject(cx, 0, NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(node=listFirstNode(&named_queues);node!=NULL;node=listNextNode(node)) { if((q=listNodeData(node))==NULL) continue; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx,q->name)); if(!JS_SetElement(cx, array, len++, &val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(array); diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c index bed2f398d7f995e4776402b676f5fd3ec4bab94b..330ff90effcb4973f802a62da97e9dfa606a7af9 100644 --- a/src/sbbs3/js_internal.c +++ b/src/sbbs3/js_internal.c @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs.h" +#include "js_request.h" #include <jscntxt.h> /* Needed for Context-private data structure */ @@ -229,9 +230,9 @@ js_CommonBranchCallback(JSContext *cx, js_branch_t* branch) if(branch->yield_interval && (branch->counter%branch->yield_interval)==0) { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); YIELD(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } /* Periodic Garbage Collection */ diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c index 02808a391a84dc44975ae657511772fc67707dda..88ad477ece03f031ba7b1f61ebbf7daee5308ece 100644 --- a/src/sbbs3/js_msgbase.c +++ b/src/sbbs3/js_msgbase.c @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs.h" +#include "js_request.h" #ifdef JAVASCRIPT @@ -98,12 +99,12 @@ js_open(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->status=smb_open(&(p->smb)))!=SMB_SUCCESS) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = JSVAL_TRUE; return(JS_TRUE); @@ -121,9 +122,9 @@ js_close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); smb_close(&(p->smb)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -594,12 +595,12 @@ js_get_msg_index(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r else /* Get by number */ JS_ValueToInt32(cx,argv[n],(int32*)&msg.hdr.number); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->status=smb_getmsgidx(&(p->smb), &msg))!=SMB_SUCCESS) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; } @@ -790,14 +791,14 @@ static JSBool js_get_msg_header_resolve(JSContext *cx, JSObject *obj, jsval id) else { reply_id[0]=0; if(p->expand_fields && (p->msg).hdr.thread_back) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); memset(&remsg,0,sizeof(remsg)); remsg.hdr.number=(p->msg).hdr.thread_back; if(smb_getmsgidx(&(p->p->smb), &remsg)) sprintf(reply_id,"<%s>",p->p->smb.last_error); else get_msgid(scfg,p->p->smb.subnum,&remsg,reply_id,sizeof(reply_id)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } val=reply_id; } @@ -991,35 +992,35 @@ js_get_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * else /* Get by number */ JS_ValueToInt32(cx,argv[n],(int32*)&(p->msg).hdr.number); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->p->status=smb_getmsgidx(&(p->p->smb), &(p->msg)))!=SMB_SUCCESS) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if((p->p->status=smb_lockmsghdr(&(p->p->smb),&(p->msg)))!=SMB_SUCCESS) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if((p->p->status=smb_getmsghdr(&(p->p->smb), &(p->msg)))!=SMB_SUCCESS) { smb_unlockmsghdr(&(p->p->smb),&(p->msg)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } smb_unlockmsghdr(&(p->p->smb),&(p->msg)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; } else if(JSVAL_IS_STRING(argv[n])) { /* Get by ID */ cstr=JS_GetStringBytes(JSVAL_TO_STRING(argv[n])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->p->status=smb_getmsghdr_by_msgid(&(p->p->smb),&(p->msg) ,cstr))!=SMB_SUCCESS) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* ID not found */ } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; } } @@ -1080,14 +1081,14 @@ js_put_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * break; } else if(JSVAL_IS_STRING(argv[n])) { /* Get by ID */ cstr=JS_GetStringBytes(JSVAL_TO_STRING(argv[n])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!msg_offset_by_id(p ,cstr ,&msg.offset)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* ID not found */ } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); msg_specified=JS_TRUE; n++; break; @@ -1102,14 +1103,14 @@ js_put_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * hdr = JSVAL_TO_OBJECT(argv[n++]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->status=smb_getmsgidx(&(p->smb), &msg))!=SMB_SUCCESS) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if((p->status=smb_lockmsghdr(&(p->smb),&msg))!=SMB_SUCCESS) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1119,12 +1120,12 @@ js_put_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * smb_freemsghdrmem(&msg); /* prevent duplicate header fields */ - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(!parse_header_object(cx, p, hdr, &msg, TRUE)) { sprintf(p->smb.last_error,"Header parsing failure (required field missing?)"); break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->status=smb_putmsg(&(p->smb), &msg))!=SMB_SUCCESS) break; @@ -1134,7 +1135,7 @@ js_put_msg_header(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * smb_unlockmsghdr(&(p->smb),&msg); smb_freemsgmem(&msg); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1175,14 +1176,14 @@ js_remove_msg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval break; } else if(JSVAL_IS_STRING(argv[n])) { /* Get by ID */ cstr=JS_GetStringBytes(JSVAL_TO_STRING(argv[n])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!msg_offset_by_id(p ,cstr ,&msg.offset)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* ID not found */ } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); msg_specified=JS_TRUE; n++; break; @@ -1192,7 +1193,7 @@ js_remove_msg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(!msg_specified) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((p->status=smb_getmsgidx(&(p->smb), &msg))==SMB_SUCCESS && (p->status=smb_getmsghdr(&(p->smb), &msg))==SMB_SUCCESS) { @@ -1203,7 +1204,7 @@ js_remove_msg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval } smb_freemsgmem(&msg); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1306,14 +1307,14 @@ js_get_msg_body(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv break; } else if(JSVAL_IS_STRING(argv[n])) { /* Get by ID */ cstr=JS_GetStringBytes(JSVAL_TO_STRING(argv[n])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!msg_offset_by_id(p ,cstr ,&msg.offset)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* ID not found */ } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); msg_specified=JS_TRUE; n++; break; @@ -1332,9 +1333,9 @@ js_get_msg_body(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if(n<argc && JSVAL_IS_BOOLEAN(argv[n])) tails=JSVAL_TO_BOOLEAN(argv[n++]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); buf = get_msg_text(p, &msg, strip_ctrl_a, rfc822, tails ? GETMSGTXT_TAILS : 0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(buf==NULL) return(JS_TRUE); @@ -1386,14 +1387,14 @@ js_get_msg_tail(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv break; } else if(JSVAL_IS_STRING(argv[n])) { /* Get by ID */ cstr=JS_GetStringBytes(JSVAL_TO_STRING(argv[n])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!msg_offset_by_id(p ,cstr ,&msg.offset)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* ID not found */ } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); msg_specified=JS_TRUE; n++; break; @@ -1409,9 +1410,9 @@ js_get_msg_tail(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if(n<argc && JSVAL_IS_BOOLEAN(argv[n])) rfc822=JSVAL_TO_BOOLEAN(argv[n++]); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); buf = get_msg_text(p, &msg, strip_ctrl_a, rfc822, GETMSGTXT_TAILS|GETMSGTXT_NO_BODY); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(buf==NULL) return(JS_TRUE); @@ -1624,22 +1625,22 @@ static JSBool js_msgbase_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) *vp = INT_TO_JSVAL(p->debug); break; case SMB_PROP_FIRST_MSG: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); memset(&idx,0,sizeof(idx)); smb_getfirstidx(&(p->smb),&idx); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,idx.number,vp); break; case SMB_PROP_LAST_MSG: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); smb_getstatus(&(p->smb)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,p->smb.status.last_msg,vp); break; case SMB_PROP_TOTAL_MSGS: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); smb_getstatus(&(p->smb)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,p->smb.status.total_msgs,vp); break; case SMB_PROP_MAX_CRCS: diff --git a/src/sbbs3/js_queue.c b/src/sbbs3/js_queue.c index dcb687f78da06ce9bd18fbb355b118bfcf7fafeb..a6897cd906f74aacc7e856dc6f83fb61aa898d29 100644 --- a/src/sbbs3/js_queue.c +++ b/src/sbbs3/js_queue.c @@ -37,6 +37,7 @@ #include "sbbs.h" #include "msg_queue.h" +#include "js_request.h" typedef struct { @@ -64,10 +65,10 @@ static void js_finalize_queue(JSContext *cx, JSObject *obj) if((q=(msg_queue_t*)JS_GetPrivate(cx,obj))==NULL) return; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(msgQueueDetach(q)==0 && (n=listFindNode(&named_queues,q,/* length=0 for ptr compare */0))!=NULL) listRemoveNode(&named_queues,n,FALSE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_SetPrivate(cx, obj, NULL); } @@ -142,9 +143,9 @@ js_poll(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc && JSVAL_IS_NUMBER(argv[0])) /* timeout specified */ JS_ValueToInt32(cx,argv[0],&timeout); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); v=msgQueuePeek(q,timeout); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(v==NULL) *rval = JSVAL_FALSE; else if(v->name!=NULL && v->name[0]) @@ -172,15 +173,15 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(JSVAL_IS_STRING(argv[0])) { /* value named specified */ ZERO_VAR(find_v); SAFECOPY(find_v.name,JS_GetStringBytes(JS_ValueToString(cx,argv[0]))); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); v=msgQueueFind(q,&find_v,sizeof(find_v.name)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else { if(JSVAL_IS_NUMBER(argv[0])) JS_ValueToInt32(cx,argv[0],&timeout); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); v=msgQueueRead(q, timeout); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(v!=NULL) { @@ -207,9 +208,9 @@ js_peek(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc && JSVAL_IS_NUMBER(argv[0])) /* timeout specified */ JS_ValueToInt32(cx,argv[0],&timeout); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); v=msgQueuePeek(q, timeout); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(v!=NULL) { js_decode_value(cx, obj, v, rval, /* peek */TRUE); } @@ -302,10 +303,10 @@ BOOL js_enqueue_value(JSContext *cx, msg_queue_t* q, jsval val, char* name) if((v=js_encode_value(cx,val,name,NULL,&count))==NULL || count<1) return(FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); result=msgQueueWrite(q,v,count*sizeof(queued_value_t)); free(v); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(result); } @@ -369,19 +370,19 @@ static JSBool js_queue_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,q->name)); break; case QUEUE_PROP_DATA_WAITING: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = BOOLEAN_TO_JSVAL(INT_TO_BOOL(msgQueueReadLevel(q))); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case QUEUE_PROP_READ_LEVEL: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = INT_TO_JSVAL(msgQueueReadLevel(q)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case QUEUE_PROP_WRITE_LEVEL: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = INT_TO_JSVAL(msgQueueWriteLevel(q)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; } return(JS_TRUE); @@ -480,7 +481,7 @@ js_queue_constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsva if(argn<argc && JSVAL_IS_NUMBER(argv[argn])) JS_ValueToInt32(cx,argv[argn++],&flags); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(name!=NULL) { for(n=listFirstNode(&named_queues);n!=NULL;n=listNextNode(n)) if((q=n->data)!=NULL && !stricmp(q->name,name)) @@ -496,7 +497,7 @@ js_queue_constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsva listPushNode(&named_queues,q); } else msgQueueAttach(q); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(!JS_SetPrivate(cx, obj, q)) { JS_ReportError(cx,"JS_SetPrivate failed"); diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index 47f9473bbdbe8f0eb503935c559ee88ff56d2b4a..f6cbf167e09468336e7b7198174c4030c010a1de 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs.h" +#include "js_request.h" #ifdef JAVASCRIPT @@ -107,7 +108,7 @@ js_close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(p->sock==INVALID_SOCKET) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); close_socket(p->sock); p->last_error = ERROR_VALUE; @@ -116,7 +117,7 @@ js_close(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) p->sock = INVALID_SOCKET; p->is_connected = FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -138,9 +139,9 @@ static ushort js_port(JSContext* cx, jsval val, int type) cp = JS_GetStringBytes(str); if(isdigit(*cp)) return((ushort)strtol(cp,NULL,0)); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); serv = getservbyname(cp,type==SOCK_STREAM ? "tcp":"udp"); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(serv!=NULL) return(htons(serv->s_port)); } @@ -200,18 +201,18 @@ js_bind(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) && (ip=inet_addr(JS_GetStringBytes(JS_ValueToString(cx,argv[1]))))!=INADDR_NONE) addr.sin_addr.s_addr = ip; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(bind(p->sock, (struct sockaddr *) &addr, sizeof(addr))!=0) { p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "bind failed with error %d",ERROR_VALUE); *rval = JSVAL_FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } dbprintf(FALSE, p, "bound to port %u",port); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -230,18 +231,18 @@ js_listen(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc && argv[0]!=JSVAL_VOID) backlog = JS_ValueToInt32(cx,argv[0],&backlog); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(listen(p->sock, backlog)!=0) { p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "listen failed with error %d",ERROR_VALUE); *rval = JSVAL_FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } dbprintf(FALSE, p, "listening, backlog=%d",backlog); *rval = JSVAL_TRUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -262,22 +263,22 @@ js_accept(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) addrlen=sizeof(p->remote_addr); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((new_socket=accept_socket(p->sock,(struct sockaddr *)&(p->remote_addr),&addrlen))==INVALID_SOCKET) { p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "accept failed with error %d",ERROR_VALUE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if((sockobj=js_CreateSocketObject(cx, obj, "new_socket", new_socket))==NULL) { closesocket(new_socket); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_ReportError(cx,"Error creating new socket object"); return(JS_TRUE); } if((new_p=(private_t*)JS_GetPrivate(cx,sockobj))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_ReportError(cx,getprivate_failure,WHERE); return(JS_FALSE); } @@ -290,7 +291,7 @@ js_accept(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) dbprintf(FALSE, p, "accepted connection"); *rval = OBJECT_TO_JSVAL(sockobj); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -315,17 +316,17 @@ js_connect(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) str = JS_ValueToString(cx, argv[0]); cstr = JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "resolving hostname: %s", cstr); if((ip_addr=resolve_ip(JS_GetStringBytes(str)))==INADDR_NONE) { p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "resolve_ip failed with error %d",ERROR_VALUE); *rval = JSVAL_FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); port = js_port(cx,argv[1],p->type); tv.tv_sec = 10; /* default time-out */ @@ -333,7 +334,7 @@ js_connect(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>2) /* time-out value specified */ js_timeval(cx,argv[2],&tv); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "connecting to port %u at %s", port, JS_GetStringBytes(str)); memset(&(p->remote_addr),0,sizeof(p->remote_addr)); @@ -362,14 +363,14 @@ js_connect(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "connect failed with error %d",ERROR_VALUE); *rval = JSVAL_FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } p->is_connected = TRUE; *rval = JSVAL_TRUE; dbprintf(FALSE, p, "connected to port %u at %s", port, JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -394,7 +395,7 @@ js_send(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) cp = JS_GetStringBytes(str); len = JS_GetStringLength(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(sendsocket(p->sock,cp,len)==len) { dbprintf(FALSE, p, "sent %u bytes",len); *rval = JSVAL_TRUE; @@ -402,7 +403,7 @@ js_send(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "send of %u bytes failed",len); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -436,20 +437,20 @@ js_sendto(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) /* address */ ip_str = JS_ValueToString(cx, argv[1]); cstr = JS_GetStringBytes(ip_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "resolving hostname: %s", JS_GetStringBytes(ip_str)); if((ip_addr=resolve_ip(cstr))==INADDR_NONE) { p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "resolve_ip failed with error %d",ERROR_VALUE); *rval = JSVAL_FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } /* port */ - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); port = js_port(cx,argv[2],p->type); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "sending %d bytes to port %u at %s" ,len, port, JS_GetStringBytes(ip_str)); @@ -466,7 +467,7 @@ js_sendto(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "send of %u bytes failed",len); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -495,9 +496,9 @@ js_sendfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((file=nopen(fname,O_RDONLY|O_BINARY))==-1) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -534,7 +535,7 @@ js_sendfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } #endif - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -562,7 +563,7 @@ js_sendbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>1 && argv[1]!=JSVAL_VOID) JS_ValueToInt32(cx,argv[1],(int32*)&size); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); switch(size) { case sizeof(BYTE): b = (BYTE)val; @@ -593,7 +594,7 @@ js_sendbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) dbprintf(TRUE, p, "send of %u bytes (binary) failed",size); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -621,9 +622,9 @@ js_recv(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len = recv(p->sock,buf,len,0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(len<0) { p->last_error=ERROR_VALUE; *rval = JSVAL_NULL; @@ -636,9 +637,9 @@ js_recv(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); *rval = STRING_TO_JSVAL(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "received %u bytes",len); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -685,7 +686,7 @@ js_recvfrom(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(binary) { /* Binary/Integer Data */ - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); switch(len) { case sizeof(BYTE): if((rd=recvfrom(p->sock,&b,len,0,(SOCKADDR*)&addr,&addrlen))==len) @@ -702,9 +703,9 @@ js_recvfrom(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((rd=recvfrom(p->sock,(BYTE*)&l,len,0,(SOCKADDR*)&addr,&addrlen))==len) { if(p->network_byte_order) l=ntohl(l); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,l,&data_val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } break; } @@ -721,14 +722,14 @@ js_recvfrom(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len = recvfrom(p->sock,buf,len,0,(SOCKADDR*)&addr,&addrlen); if(len<0) { p->last_error=ERROR_VALUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); buf[len]=0; str = JS_NewStringCopyN(cx, buf, len); @@ -765,9 +766,9 @@ js_recvfrom(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) *rval = OBJECT_TO_JSVAL(retobj); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "received %u bytes from %s:%s",len,ip_addr,port); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -795,9 +796,9 @@ js_peek(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JS_ReportError(cx,"Error allocating %u bytes",len+1); return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len = recv(p->sock,buf,len,MSG_PEEK); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(len<0) { p->last_error=ERROR_VALUE; *rval = JSVAL_NULL; @@ -810,10 +811,10 @@ js_peek(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); *rval = STRING_TO_JSVAL(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "received %u bytes, lasterror=%d" ,len,ERROR_VALUE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -849,7 +850,7 @@ js_recvline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JS_ValueToInt32(cx,argv[1],(int32*)&timeout); start=time(NULL); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(i=0;i<len;) { if(!socket_check(p->sock,&rd,NULL,1000)) { @@ -861,7 +862,7 @@ js_recvline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(time(NULL)-start>timeout) { dbprintf(FALSE, p, "recvline timeout (received: %d)",i); *rval = JSVAL_NULL; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* time-out */ } continue; /* no data */ @@ -882,16 +883,16 @@ js_recvline(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else buf[i]=0; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); str = JS_NewStringCopyZ(cx, buf); if(str==NULL) return(JS_FALSE); *rval = STRING_TO_JSVAL(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "received %u bytes (recvline) lasterror=%d" ,i,ERROR_VALUE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -917,7 +918,7 @@ js_recvbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc && argv[0]!=JSVAL_VOID) JS_ValueToInt32(cx,argv[0],(int32*)&size); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); switch(size) { case sizeof(BYTE): if((rd=recv(p->sock,&b,size,0))==size) @@ -934,9 +935,9 @@ js_recvbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((rd=recv(p->sock,(BYTE*)&l,size,0))==size) { if(p->network_byte_order) l=ntohl(l); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,l,rval); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } break; } @@ -944,7 +945,7 @@ js_recvbin(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(rd!=size) p->last_error=ERROR_VALUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -968,9 +969,9 @@ js_getsockopt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((opt = getSocketOptionByName(JS_GetStringBytes(JS_ValueToString(cx,argv[0])),&level)) == -1) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -985,16 +986,16 @@ js_getsockopt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval else val = 0; } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,val,rval); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } else { p->last_error=ERROR_VALUE; dbprintf(TRUE, p, "error %d getting option %d" ,ERROR_VALUE,opt); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1016,12 +1017,12 @@ js_setsockopt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); opt = getSocketOptionByName(JS_GetStringBytes(JS_ValueToString(cx,argv[0])),&level); if(argv[1]!=JSVAL_VOID) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_ValueToInt32(cx,argv[1],&val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } if(opt == SO_LINGER) { @@ -1039,7 +1040,7 @@ js_setsockopt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval setsockopt(p->sock, level, opt, vp, len)==0); p->last_error=ERROR_VALUE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1061,14 +1062,14 @@ js_ioctlsocket(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva if(argc>1 && argv[1]!=JSVAL_VOID) JS_ValueToInt32(cx,argv[1],&arg); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(ioctlsocket(p->sock,cmd,(ulong*)&arg)==0) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,arg,rval); } else { *rval = INT_TO_JSVAL(-1); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } p->last_error=ERROR_VALUE; @@ -1107,7 +1108,7 @@ js_poll(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) js_timeval(cx,argv[argn],&tv); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); FD_ZERO(&socket_set); FD_SET(p->sock,&socket_set); if(poll_for_write) @@ -1123,7 +1124,7 @@ js_poll(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ,result,p->last_error); *rval = INT_TO_JSVAL(result); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1183,9 +1184,9 @@ static JSBool js_socket_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) tiny = JSVAL_TO_INT(id); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); dbprintf(FALSE, p, "setting property %d",tiny); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); switch(tiny) { case SOCK_PROP_DEBUG: @@ -1199,9 +1200,9 @@ static JSBool js_socket_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; case SOCK_PROP_NONBLOCKING: JS_ValueToBoolean(cx,*vp,&(p->nonblocking)); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); ioctlsocket(p->sock,FIONBIO,(ulong*)&(p->nonblocking)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case SOCK_PROP_NETWORK_ORDER: JS_ValueToBoolean(cx,*vp,&(p->network_byte_order)); @@ -1230,7 +1231,7 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) tiny = JSVAL_TO_INT(id); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); #if 0 /* just too much */ dbprintf(FALSE, p, "getting property %d",tiny); #endif @@ -1256,9 +1257,9 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) case SOCK_PROP_NREAD: cnt=0; if(ioctlsocket(p->sock, FIONREAD, &cnt)==0) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,cnt,vp); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } else *vp = JSVAL_ZERO; @@ -1276,11 +1277,11 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) if(p->sock != INVALID_SOCKET) { if(getsockname(p->sock, (struct sockaddr *)&addr,&len)!=0) return(JS_FALSE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx,inet_ntoa(addr.sin_addr)))==NULL) return(JS_FALSE); *vp = STRING_TO_JSVAL(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } else *vp=JSVAL_VOID; @@ -1289,23 +1290,23 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) if(p->sock != INVALID_SOCKET) { if(getsockname(p->sock, (struct sockaddr *)&addr,&len)!=0) return(JS_FALSE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx,inet_ntoa(addr.sin_addr)))==NULL) return(JS_FALSE); *vp = INT_TO_JSVAL(ntohs(addr.sin_port)); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } else *vp=JSVAL_VOID; break; case SOCK_PROP_REMOTE_IP: if(p->is_connected) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx,inet_ntoa(p->remote_addr.sin_addr)))==NULL) return(JS_FALSE); *vp = STRING_TO_JSVAL(js_str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } else *vp=JSVAL_VOID; @@ -1325,7 +1326,7 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(TRUE); } diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c index 1926affec5fd521e4d39dcf947d10b4e4540ef9b..6409389538da9f49a161c7b61e4ad2636b1c044c 100644 --- a/src/sbbs3/js_system.c +++ b/src/sbbs3/js_system.c @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs.h" +#include "js_request.h" #ifdef JAVASCRIPT @@ -175,12 +176,12 @@ static JSBool js_system_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; case SYS_PROP_FREEDISKSPACE: case SYS_PROP_FREEDISKSPACEK: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(tiny==SYS_PROP_FREEDISKSPACE) val = getfreediskspace(cfg->temp_dir,0); else val = getfreediskspace(cfg->temp_dir,1024); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,val,vp); break; @@ -292,9 +293,9 @@ static JSBool js_system_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; case SYS_PROP_CMD_SHELL: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); p=os_cmdshell(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case SYS_PROP_CLOCK: @@ -308,9 +309,9 @@ static JSBool js_system_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; case SYS_PROP_LOCAL_HOSTNAME: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); gethostname(str,sizeof(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); p=str; break; } @@ -553,12 +554,12 @@ static JSBool js_sysstats_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) tiny = JSVAL_TO_INT(id); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!getstats(cfg, 0, &stats)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(FALSE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); switch(tiny) { case SYSSTAT_PROP_LOGONS: @@ -599,35 +600,35 @@ static JSBool js_sysstats_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; case SYSSTAT_PROP_TOTALUSERS: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = INT_TO_JSVAL(total_users(cfg)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case SYSSTAT_PROP_TOTALMSGS: l=0; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(i=0;i<cfg->total_subs;i++) l+=getposts(cfg,i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,l,vp); break; case SYSSTAT_PROP_TOTALFILES: l=0; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); for(i=0;i<cfg->total_dirs;i++) l+=getfiles(cfg,i); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_NewNumberValue(cx,l,vp); break; case SYSSTAT_PROP_TOTALMAIL: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = INT_TO_JSVAL(getmail(cfg, 0,0)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; case SYSSTAT_PROP_FEEDBACK: - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *vp = INT_TO_JSVAL(getmail(cfg, 1,0)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); break; } @@ -732,9 +733,9 @@ js_alias(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); p=alias(cfg,p,buf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str = JS_NewStringCopyZ(cx, p))==NULL) return(JS_FALSE); @@ -759,9 +760,9 @@ js_username(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) val=0; JS_ValueToInt32(cx,argv[0],&val); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); cstr=username(cfg,val,buf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str = JS_NewStringCopyZ(cx, cstr))==NULL) return(JS_FALSE); @@ -795,9 +796,9 @@ js_matchuser(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(matchuser(cfg,p,sysop_alias)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -816,12 +817,12 @@ js_matchuserdata(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r return(JS_FALSE); JS_ValueToInt32(cx,argv[0],&offset); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((len=user_rec_len(offset))<0) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_ValueToString(cx, argv[1]))==NULL) { *rval = INT_TO_JSVAL(0); @@ -836,9 +837,9 @@ js_matchuserdata(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(userdatdupe(cfg,usernumber,offset,len,p,FALSE /* deleted users */)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -875,9 +876,9 @@ js_trashcan(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(trashcan(cfg,str,can)); /* user args are reversed */ - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -910,9 +911,9 @@ js_findstr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(findstr(str,fname)); /* user args are reversed */ - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -937,9 +938,9 @@ js_zonestr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) zone=(short)val; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); cstr=smb_zonestr(zone,NULL); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str = JS_NewStringCopyZ(cx, cstr))==NULL) return(JS_FALSE); @@ -966,9 +967,9 @@ js_timestr(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else JS_ValueToInt32(cx,argv[0],&i); t=i; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); timestr(cfg,t,str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str = JS_NewStringCopyZ(cx, str))==NULL) return(JS_FALSE); @@ -1066,9 +1067,9 @@ js_spamlog(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else if(from==NULL) from=p; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(spamlog(cfg,prot,action,reason,host,ip_addr,to,from)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1113,9 +1114,9 @@ js_hacklog(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else if(host==NULL) host=p; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(hacklog(cfg,prot,user,text,host,&addr)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1155,9 +1156,9 @@ js_filter_ip(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) else if(fname==NULL) fname=p; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(filter_ip(cfg,prot,reason,host,ip_addr,from,fname)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1181,12 +1182,12 @@ js_get_node_message(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval if(node_num<1) node_num=1; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((buf=getnmsg(cfg,node_num))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str=JS_NewStringCopyZ(cx, buf); free(buf); @@ -1220,9 +1221,9 @@ js_put_node_message(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval if((msg=JS_GetStringBytes(js_msg))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(putnmsg(cfg,node,msg)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1245,12 +1246,12 @@ js_get_telegram(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if(usernumber<1) usernumber=1; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((buf=getsmsg(cfg,usernumber))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); js_str=JS_NewStringCopyZ(cx, buf); free(buf); @@ -1283,9 +1284,9 @@ js_put_telegram(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv if((msg=JS_GetStringBytes(js_msg))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(putsmsg(cfg,usernumber,msg)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1305,9 +1306,9 @@ js_new_user(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) alias=JS_GetStringBytes(JS_ValueToString(cx,argv[0])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!check_name(cfg,alias)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_ReportError(cx,"Invalid or duplicate user alias: %s", alias); return JS_FALSE; } @@ -1355,7 +1356,7 @@ js_new_user(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) user.xedit=i+1; i=newuserdat(cfg,&user); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(i==0) { userobj=js_CreateUserObject(cx, obj, cfg, NULL, user.number); @@ -1371,9 +1372,9 @@ js_exec(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(system(JS_GetStringBytes(JS_ValueToString(cx, argv[0])))); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1397,28 +1398,28 @@ js_popen(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cmd=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if((fp=popen(cmd,"r"))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } while(!feof(fp)) { if(fgets(str,sizeof(str),fp)==NULL) break; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((js_str=JS_NewStringCopyZ(cx,str))==NULL) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; } val=STRING_TO_JSVAL(js_str); if(!JS_SetElement(cx, array, line++, &val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); } pclose(fp); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = OBJECT_TO_JSVAL(array); @@ -1450,9 +1451,9 @@ js_chkname(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((cfg=(scfg_t*)JS_GetPrivate(cx,obj))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(check_name(cfg,str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -1610,13 +1611,13 @@ static JSBool js_node_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) node_num=(uint)JS_GetPrivate(cx,obj)>>1; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); memset(&node,0,sizeof(node)); if(getnodedat(cfg, node_num, &node, NULL)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); switch(tiny) { case NODE_PROP_STATUS: @@ -1670,19 +1671,19 @@ static JSBool js_node_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) node_num=(uint)JS_GetPrivate(cx,obj)>>1; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); memset(&node,0,sizeof(node)); if(getnodedat(cfg, node_num, &node, &file)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JSVAL_IS_NUMBER(*vp)) JS_ValueToInt32(cx, *vp, &val); tiny = JSVAL_TO_INT(id); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); switch(tiny) { case NODE_PROP_STATUS: @@ -1711,7 +1712,7 @@ static JSBool js_node_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) break; } putnodedat(cfg,node_num,&node,file); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } diff --git a/src/sbbs3/js_uifc.c b/src/sbbs3/js_uifc.c index a2d18efb96a6b35c361b73b017a9792e3e4d0ab1..7fba9666a7f5166a39c5d2f749891ceecd8e0beb 100644 --- a/src/sbbs3/js_uifc.c +++ b/src/sbbs3/js_uifc.c @@ -42,6 +42,7 @@ #include "sbbs.h" #include "uifc.h" #include "ciolib.h" +#include "js_request.h" /* Properties */ enum { @@ -252,27 +253,27 @@ js_uifc_init(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ciolib_mode=CIOLIB_MODE_CONIO; } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(ciolib_mode==-1) { if(uifcinix(uifc)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } } else { if(initciolib(ciolib_mode)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if(uifcini32(uifc)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } } *rval = JSVAL_TRUE; uifc->scrn(title); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -285,9 +286,9 @@ js_uifc_bail(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((uifc=get_uifc(cx,obj))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); uifc->bail(); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -304,9 +305,9 @@ js_uifc_msg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((str=js_ValueToStringBytes(cx, argv[0], NULL))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); uifc->msg(str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -323,9 +324,9 @@ js_uifc_pop(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc) str=js_ValueToStringBytes(cx, argv[0], NULL); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); uifc->pop(str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -380,12 +381,12 @@ js_uifc_input(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(org) strncpy(str,org,maxlen); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(uifc->input(mode, left, top, prompt, str, maxlen, kmode)<0) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,str)); @@ -450,10 +451,10 @@ js_uifc_list(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = INT_TO_JSVAL(uifc->list(mode,left,top,width,(int*)&dflt,(int*)&bar,title,opts)); strListFree(&opts); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } diff --git a/src/sbbs3/js_user.c b/src/sbbs3/js_user.c index 0bd3ceb5799bd12a7a826e37be7477eacb4166f4..ac487ed3a65ef372b51000196ea4f3c7e0301868 100644 --- a/src/sbbs3/js_user.c +++ b/src/sbbs3/js_user.c @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs.h" +#include "js_request.h" #ifdef JAVASCRIPT @@ -152,7 +153,7 @@ static JSBool js_user_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); tiny = JSVAL_TO_INT(id); @@ -378,20 +379,20 @@ static JSBool js_user_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) case USER_PROP_CACHED: *vp = BOOLEAN_TO_JSVAL(p->cached); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* intentional early return */ case USER_PROP_IS_SYSOP: *vp = BOOLEAN_TO_JSVAL(p->user.level >= SYSOP_LEVEL); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* intentional early return */ default: /* This must not set vp in order for child objects to work (stats and security) */ - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(s!=NULL) { if((js_str=JS_NewStringCopyZ(cx, s))==NULL) return(JS_FALSE); @@ -427,12 +428,12 @@ static JSBool js_user_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) tiny = JSVAL_TO_INT(id); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); switch(tiny) { case USER_PROP_NUMBER: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); JS_ValueToInt32(cx, *vp, &usernumber); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(usernumber!=p->user.number) p->user.number=(ushort)usernumber; break; @@ -504,55 +505,55 @@ static JSBool js_user_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) putuserrec(p->cfg,p->user.number,U_COMP,0,str); break; case USER_PROP_MISC: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_MISC,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_QWK: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_QWK,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_CHAT: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_CHAT,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_TMPEXT: putuserrec(p->cfg,p->user.number,U_TMPEXT,0,str); break; case USER_PROP_NS_TIME: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_NS_TIME,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_PROT: putuserrec(p->cfg,p->user.number,U_PROT,0,strupr(str)); /* single char */ break; case USER_PROP_LOGONTIME: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_LOGONTIME,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; /* security properties*/ @@ -560,70 +561,70 @@ static JSBool js_user_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) putuserrec(p->cfg,p->user.number,U_PASS,LEN_PASS,strupr(str)); break; case USER_PROP_PWMOD: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_PWMOD,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_LEVEL: putuserrec(p->cfg,p->user.number,U_LEVEL,0,str); break; case USER_PROP_FLAGS1: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_FLAGS1,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_FLAGS2: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_FLAGS2,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_FLAGS3: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_FLAGS3,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_FLAGS4: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_FLAGS4,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_EXEMPT: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_EXEMPT,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_REST: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_REST,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_CDT: putuserrec(p->cfg,p->user.number,U_CDT,0,str); @@ -638,23 +639,24 @@ static JSBool js_user_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp) putuserrec(p->cfg,p->user.number,U_TEXTRA,0,str); break; case USER_PROP_EXPIRE: - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(JS_ValueToInt32(cx,*vp,&val)) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); putuserrec(p->cfg,p->user.number,U_EXPIRE,0,ultoa(val,tmp,16)); } else - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); break; case USER_PROP_CACHED: JS_ValueToBoolean(cx, *vp, &p->cached); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* intentional early return */ } p->cached=FALSE; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -903,7 +905,7 @@ js_chk_ar(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((js_str=JS_ValueToString(cx, argv[0]))==NULL) return JS_FALSE; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); ar = arstr(NULL,JS_GetStringBytes(js_str),p->cfg); js_getuserdat(p); @@ -912,7 +914,7 @@ js_chk_ar(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(ar!=NULL && ar!=nular) free(ar); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } @@ -930,11 +932,11 @@ js_posted_msg(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(argc) JS_ValueToInt32(cx, argv[0], &count); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); *rval = BOOLEAN_TO_JSVAL(user_posted_msg(p->cfg, &p->user, count)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } @@ -955,11 +957,11 @@ js_sent_email(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(argc>1) JS_ValueToBoolean(cx, argv[1], &feedback); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); *rval = BOOLEAN_TO_JSVAL(user_sent_email(p->cfg, &p->user, count, feedback)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } @@ -980,11 +982,11 @@ js_downloaded_file(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval if(argc>1) JS_ValueToInt32(cx, argv[1], &files); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); *rval = BOOLEAN_TO_JSVAL(user_downloaded(p->cfg, &p->user, files, bytes)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } @@ -1005,11 +1007,11 @@ js_uploaded_file(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(argc>1) JS_ValueToInt32(cx, argv[1], &files); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); *rval = BOOLEAN_TO_JSVAL(user_uploaded(p->cfg, &p->user, files, bytes)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } @@ -1027,11 +1029,11 @@ js_adjust_credits(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * if(argc) JS_ValueToInt32(cx, argv[0], &count); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); *rval = BOOLEAN_TO_JSVAL(user_adjust_credits(p->cfg, &p->user, count)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } @@ -1049,11 +1051,11 @@ js_adjust_minutes(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * if(argc) JS_ValueToInt32(cx, argv[0], &count); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); *rval = BOOLEAN_TO_JSVAL(user_adjust_minutes(p->cfg, &p->user, count)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } @@ -1071,11 +1073,11 @@ js_get_time_left(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(argc) JS_ValueToInt32(cx, argv[0], &start_time); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_getuserdat(p); *rval = INT_TO_JSVAL(gettimeleft(p->cfg, &p->user, (time_t)start_time)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return JS_TRUE; } diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index 3c94bc6f4ac6b119c9ef5ac31f87b0b86ae34218..f449336478bb8e08848325d02f1f6bf1d546f78d 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -46,6 +46,7 @@ #include "sbbs.h" #include "ciolib.h" #include "js_rtpool.h" +#include "js_request.h" #define DEFAULT_LOG_LEVEL LOG_DEBUG /* Display all LOG levels */ #define DEFAULT_ERR_LOG_LVL LOG_WARNING @@ -293,9 +294,9 @@ js_log(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) for(; i<argc; i++) { if((str=JS_ValueToString(cx, argv[i]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); lprintf(level,"%s",JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(str==NULL) @@ -319,9 +320,9 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((buf=alloca(len))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); rd=fread(buf,sizeof(char),len,stdin); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(rd>=0) *rval = STRING_TO_JSVAL(JS_NewStringCopyN(cx,buf,rd)); @@ -342,9 +343,9 @@ js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((buf=alloca(len+1))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); p=fgets(buf,len+1,stdin); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(p!=NULL) *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,truncnl(p))); @@ -363,9 +364,9 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) for (i = 0; i < argc; i++) { if((str=JS_ValueToString(cx, argv[i]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fprintf(confp,"%s",JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(str==NULL) @@ -383,9 +384,9 @@ js_writeln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(!js_write(cx,obj,argc,argv,rval)) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fprintf(confp,"\n"); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -400,9 +401,9 @@ js_printf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fprintf(confp,"%s",p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, p)); @@ -420,9 +421,9 @@ js_alert(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((str=JS_ValueToString(cx, argv[0]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fprintf(confp,"!%s\n",JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = argv[0]; @@ -440,9 +441,9 @@ js_confirm(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); cstr = JS_GetStringBytes(str); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); printf("%s (Y/N)?", cstr); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = BOOLEAN_TO_JSVAL(FALSE); return(JS_TRUE); @@ -459,9 +460,9 @@ js_prompt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(!JSVAL_IS_VOID(argv[0])) { if((prompt=JS_ValueToString(cx, argv[0]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); fprintf(confp,"%s: ",JS_GetStringBytes(prompt)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(argc>1) { @@ -471,10 +472,10 @@ js_prompt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } else instr[0]=0; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!fgets(instr,sizeof(instr),stdin)) return(JS_TRUE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((str=JS_NewStringCopyZ(cx, truncnl(instr)))==NULL) return(JS_FALSE); @@ -494,9 +495,9 @@ js_chdir(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(chdir(p)==0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -538,10 +539,10 @@ js_ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report) const char* warning; jsrefcount rc; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(report==NULL) { lprintf(LOG_ERR,"!JavaScript: %s", message); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return; } @@ -564,7 +565,7 @@ js_ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report) warning=""; lprintf(LOG_ERR,"!JavaScript %s%s%s: %s",warning,file,line,message); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } static JSBool @@ -618,7 +619,7 @@ static BOOL js_init(char** environ) if((js_cx = JS_NewContext(js_runtime, js_cx_stack))==NULL) return(FALSE); - JS_BeginRequest(js_cx); + JS_BEGINREQUEST(js_cx); if(stack_limit) fprintf(statfp,"JavaScript: Thread stack limit: %lu bytes\n" @@ -633,23 +634,23 @@ static BOOL js_init(char** environ) ,NULL,INVALID_SOCKET /* client */ ,NULL /* server */ ))==NULL) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); return(FALSE); } /* Environment Object (associative array) */ if(!js_CreateEnvObject(js_cx, js_glob, environ)) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); return(FALSE); } if(js_CreateUifcObject(js_cx, js_glob)==NULL) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); return(FALSE); } if(js_CreateConioObject(js_cx, js_glob)==NULL) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); return(FALSE); } @@ -1064,7 +1065,7 @@ int main(int argc, char **argv, char** environ) fprintf(statfp,"\n"); result=js_exec(module,&argv[argn]); - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); if(result) lprintf(LOG_ERR,"!Module set exit_code: %ld", result); diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index dac18930125f639fc0c15639183cc3e6a2fe50fa..b1c5b4a251d421276b8cfe2448b1d6d550a2344d 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -57,6 +57,7 @@ #include "netwrap.h" /* getNameServerList() */ #include "xpendian.h" #include "js_rtpool.h" +#include "js_request.h" /* Constants */ #define FORWARD "forward:" @@ -1531,10 +1532,10 @@ js_ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report) } else warning=""; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); lprintf(LOG_ERR,"%04d !JavaScript %s%s%s: %s" ,*sock, warning ,file, line, message); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } static JSBool @@ -1555,9 +1556,9 @@ js_log(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) for(; i<argc; i++) { if((str=JS_ValueToString(cx, argv[i]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); lprintf(level,"%04d JavaScript: %s",*sock,JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(str==NULL) @@ -1624,7 +1625,7 @@ js_mailproc(SOCKET sock, client_t* client, user_t* user if((js_cx = JS_NewContext(js_runtime, startup->js.cx_stack))==NULL) break; - JS_BeginRequest(js_cx); + JS_BEGINREQUEST(js_cx); JS_SetErrorReporter(js_cx, js_ErrorReporter); @@ -1724,7 +1725,7 @@ js_mailproc(SOCKET sock, client_t* client, user_t* user } while(0); if(js_cx!=NULL) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); JS_DestroyContext(js_cx); } if(js_runtime!=NULL) diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 28d1ee420d4c2a892611d43dea0c84a5f67d0596..994e842d667a94fbf21bf90247a82fd500d1b2d5 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -40,6 +40,7 @@ #include "telnet.h" #include "netwrap.h" #include "js_rtpool.h" +#include "js_request.h" #ifdef __unix__ #include <sys/un.h> @@ -653,16 +654,16 @@ js_log(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) for(; i<argc; i++) { if((str=JS_ValueToString(cx, argv[i]))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(sbbs->online==ON_LOCAL) { if(startup!=NULL && startup->event_lputs!=NULL) startup->event_lputs(level,JS_GetStringBytes(str)); } else lputs(level,JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(str==NULL) @@ -689,9 +690,9 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((buf=(uchar*)malloc(len))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len=RingBufRead(&sbbs->inbuf,buf,len); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(len>0) *rval = STRING_TO_JSVAL(JS_NewStringCopyN(cx,(char*)buf,len)); @@ -717,9 +718,9 @@ js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((buf=(char*)malloc(len))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len=sbbs->getstr(buf,len,K_NONE); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(len>0) *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx,buf)); @@ -735,7 +736,6 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) JSString* str=NULL; sbbs_t* sbbs; jsrefcount rc; - rc=JS_SuspendRequest(cx); if((sbbs=(sbbs_t*)JS_GetContextPrivate(cx))==NULL) return(JS_FALSE); @@ -743,12 +743,12 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) for (i = 0; i < argc; i++) { if((str=JS_ValueToString(cx, argv[i]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(sbbs->online==ON_LOCAL) eprintf(LOG_INFO,"%s",JS_GetStringBytes(str)); else sbbs->bputs(JS_GetStringBytes(str)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(str==NULL) @@ -773,9 +773,9 @@ js_write_raw(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) for (i = 0; i < argc; i++) { if((str=js_ValueToStringBytes(cx, argv[i], &len))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->putcom(str, len); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } return(JS_TRUE); @@ -791,10 +791,10 @@ js_writeln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); js_write(cx,obj,argc,argv,rval); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(sbbs->online==ON_REMOTE) sbbs->bputs(crlf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -814,12 +814,12 @@ js_printf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(sbbs->online==ON_LOCAL) eprintf(LOG_INFO,"%s",p); else sbbs->bputs(p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, p)); @@ -841,12 +841,12 @@ js_alert(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((str=JS_ValueToString(cx, argv[0]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->attr(sbbs->cfg.color[clr_err]); sbbs->bputs(JS_GetStringBytes(str)); sbbs->attr(LIGHTGRAY); sbbs->bputs(crlf); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -864,9 +864,9 @@ js_confirm(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((str=JS_ValueToString(cx, argv[0]))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); *rval = BOOLEAN_TO_JSVAL(sbbs->yesno(JS_GetStringBytes(str))); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -892,15 +892,15 @@ js_prompt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } else instr[0]=0; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sbbs->bprintf("\1n\1y\1h%s\1w: ",JS_GetStringBytes(prompt)); if(!sbbs->getstr(instr,sizeof(instr)-1,K_EDIT)) { *rval = JSVAL_NULL; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if((str=JS_NewStringCopyZ(cx, instr))==NULL) return(JS_FALSE); @@ -993,14 +993,14 @@ js_ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report) } else warning=nulstr; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(sbbs->online==ON_LOCAL) eprintf(LOG_ERR,"!JavaScript %s%s%s: %s",warning,file,line,message); else { lprintf(LOG_ERR,"!JavaScript %s%s%s: %s",warning,file,line,message); sbbs->bprintf("!JavaScript %s%s%s: %s\r\n",warning,file,line,message); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } bool sbbs_t::js_init(ulong* stack_frame) @@ -1026,6 +1026,7 @@ bool sbbs_t::js_init(ulong* stack_frame) if((js_cx = JS_NewContext(js_runtime, startup->js.cx_stack))==NULL) return(false); + JS_BEGINREQUEST(js_cx); memset(&js_branch,0,sizeof(js_branch)); js_branch.limit = startup->js.branch_limit; @@ -1077,6 +1078,7 @@ bool sbbs_t::js_init(ulong* stack_frame) } while(0); + JS_ENDREQUEST(js_cx); if(!success) { JS_DestroyContext(js_cx); js_cx=NULL; @@ -1091,8 +1093,10 @@ void sbbs_t::js_create_user_objects(void) if(js_cx==NULL) return; + JS_BEGINREQUEST(js_cx); if(!js_CreateUserObjects(js_cx, js_glob, &cfg, &useron, NULL, subscan)) lprintf(LOG_ERR,"!JavaScript ERROR creating user objects"); + JS_ENDREQUEST(js_cx); } #endif /* JAVASCRIPT */ diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 8d468674f8adc72dfa72642d0a21a5445a962e57..2728e6b0a37fadeff824ebb58ca2d7d51530fbdf 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -60,6 +60,7 @@ #include "ident.h" /* identify() */ #include "sbbs_ini.h" #include "js_rtpool.h" +#include "js_request.h" /* Constants */ @@ -270,9 +271,9 @@ js_read(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((buf=alloca(len))==NULL) return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); len=recv(client->socket,buf,len,0); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(len>0) *rval = STRING_TO_JSVAL(JS_NewStringCopyN(cx,buf,len)); @@ -308,7 +309,7 @@ js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>1) JS_ValueToInt32(cx,argv[1],(int32*)&timeout); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); start=time(NULL); for(i=0;i<len;) { @@ -318,7 +319,7 @@ js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(!rd) { if(time(NULL)-start>timeout) { *rval = JSVAL_NULL; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); /* time-out */ } continue; /* no data */ @@ -336,7 +337,7 @@ js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) buf[i-1]=0; else buf[i]=0; - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); str = JS_NewStringCopyZ(cx, buf); if(str==NULL) @@ -366,9 +367,9 @@ js_write(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) continue; if((cp=JS_GetStringBytes(str))==NULL) continue; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); sendsocket(client->socket,cp,strlen(cp)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } return(JS_TRUE); @@ -386,10 +387,10 @@ js_writeln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) js_write(cx,obj,argc,argv,rval); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); cp="\r\n"; sendsocket(client->socket,cp,2); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -421,12 +422,12 @@ js_log(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) strcat(str," "); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(service==NULL) lprintf(level,"%04d %s",client->socket,str); else if(level <= client->service->log_level) lprintf(level,"%04d %s %s",client->socket,client->service->protocol,str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); @@ -456,7 +457,7 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=JS_GetStringBytes(js_str))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); memset(&user,0,sizeof(user)); if(isdigit(*p)) @@ -467,42 +468,42 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(getuserdat(&scfg,&user)!=0) { lprintf(LOG_NOTICE,"%04d %s !USER NOT FOUND: '%s'" ,client->socket,client->service->protocol,p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if(user.misc&(DELETED|INACTIVE)) { lprintf(LOG_WARNING,"%04d %s !DELETED OR INACTIVE USER #%d: %s" ,client->socket,client->service->protocol,user.number,p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } /* Password */ if(user.pass[0]) { if((js_str=JS_ValueToString(cx, argv[1]))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } if((p=JS_GetStringBytes(js_str))==NULL) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } if(stricmp(user.pass,p)) { /* Wrong password */ lprintf(LOG_WARNING,"%04d %s !INVALID PASSWORD ATTEMPT FOR USER: %s" ,client->socket,client->service->protocol,user.alias); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); if(argc>2) JS_ValueToBoolean(cx,argv[2],&inc_logons); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(client->client!=NULL) { SAFECOPY(user.note,client->client->addr); SAFECOPY(user.comp,client->client->host); @@ -515,7 +516,7 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) } putuserdat(&scfg,&user); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); /* user-specific objects */ if(!js_CreateUserObjects(cx, obj, &scfg, &user, NULL, NULL)) @@ -557,14 +558,14 @@ js_logout(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(client->user.number<1) /* Not logged in */ return(JS_TRUE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); logoutuserdat(&scfg,&client->user,time(NULL),client->logintime); lprintf(LOG_INFO,"%04d %s Logging out %s" ,client->socket,client->service->protocol,client->user.alias); memset(&client->user,0,sizeof(client->user)); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); val = BOOLEAN_TO_JSVAL(JS_FALSE); JS_SetProperty(cx, obj, "logged_in", &val); @@ -625,9 +626,9 @@ js_ErrorReporter(JSContext *cx, const char *message, JSErrorReport *report) } else warning=""; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); lprintf(LOG_ERR,"%04d %s !JavaScript %s%s%s: %s",sock,prot,warning,file,line,message); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } #if 0 @@ -730,14 +731,14 @@ js_client_add(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval if(argc>2) SAFECOPY(client.host,JS_GetStringBytes(JS_ValueToString(cx,argv[2]))); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); client_on(sock, &client, /* update? */ FALSE); #ifdef _DEBUG lprintf(LOG_DEBUG,"%04d %s client_add(%04u,%s,%s)" ,service_client->service->socket,service_client->service->protocol ,sock,client.user,client.host); #endif - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -774,14 +775,14 @@ js_client_update(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(argc>2) SAFECOPY(client.host,JS_GetStringBytes(JS_ValueToString(cx,argv[2]))); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); client_on(sock, &client, /* update? */ TRUE); #ifdef _DEBUG lprintf(LOG_DEBUG,"%04d %s client_update(%04u,%s,%s)" ,service_client->service->socket,service_client->service->protocol ,sock,client.user,client.host); #endif - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } @@ -800,7 +801,7 @@ js_client_remove(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r if(sock!=INVALID_SOCKET) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); client_off(sock); if(service_client->service->clients==0) @@ -810,7 +811,7 @@ js_client_remove(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *r service_client->service->clients--; update_clients(); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } #ifdef _DEBUG @@ -831,7 +832,7 @@ js_initcx(JSRuntime* js_runtime, SOCKET sock, service_client_t* service_client, if((js_cx = JS_NewContext(js_runtime, service_client->service->js.cx_stack))==NULL) return(NULL); - JS_BeginRequest(js_cx); + JS_BEGINREQUEST(js_cx); JS_SetErrorReporter(js_cx, js_ErrorReporter); @@ -949,7 +950,7 @@ js_initcx(JSRuntime* js_runtime, SOCKET sock, service_client_t* service_client, if(!success) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); JS_DestroyContext(js_cx); return(NULL); } @@ -1160,7 +1161,7 @@ static void js_service_thread(void* arg) js_EvalOnExit(js_cx, js_glob, &service_client.branch); JS_DestroyScript(js_cx, js_script); } - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); JS_DestroyContext(js_cx); /* Free Context */ jsrt_Release(js_runtime); @@ -1262,13 +1263,13 @@ static void js_static_service_thread(void* arg) js_EvalOnExit(js_cx, js_glob, &service_client.branch); JS_DestroyScript(js_cx, js_script); - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); JS_DestroyContext(js_cx); /* Free Context */ js_cx=NULL; } while(!service->terminated && service->options&SERVICE_OPT_STATIC_LOOP); if(js_cx!=NULL) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); JS_DestroyContext(js_cx); /* Free Context */ } diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index a48729bf0be597e3274153b6e80daa7bd74a3b1e..c059d48c2eec8f9afa480c2e95938547395edd08 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -68,6 +68,7 @@ #include "base64.h" #include "md5.h" #include "js_rtpool.h" +#include "js_request.h" static const char* server_name="Synchronet Web Server"; static const char* newline="\r\n"; @@ -906,9 +907,9 @@ static void close_request(http_session_t * session) session->finished=TRUE; if(session->js_cx!=NULL && (session->req.dynamic==IS_SSJS || session->req.dynamic==IS_JS)) { - JS_BeginRequest(session->js_cx); + JS_BEGINREQUEST(session->js_cx); JS_GC(session->js_cx); - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); } if(session->subscan!=NULL) putmsgptrs(&scfg, session->user.number, session->subscan); @@ -1384,11 +1385,11 @@ BOOL http_checkuser(http_session_t * session) if(session->last_js_user_num==session->user.number) return(TRUE); lprintf(LOG_INFO,"%04d JavaScript: Initializing User Objects",session->socket); - JS_BeginRequest(session->js_cx); + JS_BEGINREQUEST(session->js_cx); if(session->user.number>0) { if(!js_CreateUserObjects(session->js_cx, session->js_glob, &scfg, &session->user ,NULL /* ftp index file */, session->subscan /* subscan */)) { - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); lprintf(LOG_ERR,"%04d !JavaScript ERROR creating user objects",session->socket); send_error(session,"500 Error initializing JavaScript User Objects"); return(FALSE); @@ -1397,13 +1398,13 @@ BOOL http_checkuser(http_session_t * session) else { if(!js_CreateUserObjects(session->js_cx, session->js_glob, &scfg, NULL ,NULL /* ftp index file */, session->subscan /* subscan */)) { - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); lprintf(LOG_ERR,"%04d !ERROR initializing JavaScript User Objects",session->socket); send_error(session,"500 Error initializing JavaScript User Objects"); return(FALSE); } } - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); session->last_js_user_num=session->user.number; } return(TRUE); @@ -3928,12 +3929,12 @@ js_writefunc(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval, if((!session->req.prev_write) && (!session->req.sent_headers)) { if(session->http_ver>=HTTP_1_1 && session->req.keep_alive) { - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!ssjs_send_headers(session,TRUE)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } else { /* "Fast Mode" requested? */ @@ -3944,12 +3945,12 @@ js_writefunc(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval, JS_GetProperty(cx, reply, "fast", &val); if(JSVAL_IS_BOOLEAN(val) && JSVAL_TO_BOOLEAN(val)) { session->req.keep_alive=FALSE; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(!ssjs_send_headers(session,FALSE)) { - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_FALSE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } } } @@ -3961,11 +3962,11 @@ js_writefunc(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval, continue; if(JS_GetStringLength(str)<1 && !writeln) continue; - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); js_writebuf(session,JS_GetStringBytes(str), JS_GetStringLength(str)); if(writeln) js_writebuf(session, newline, 2); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); } if(str==NULL) @@ -4080,9 +4081,9 @@ js_log(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) strcat(str," "); } - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); lprintf(level,"%04d %s",session->socket,str); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); *rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, str)); @@ -4111,7 +4112,7 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((p=JS_GetStringBytes(js_str))==NULL) return(JS_FALSE); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); memset(&user,0,sizeof(user)); @@ -4123,18 +4124,18 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(getuserdat(&scfg,&user)!=0) { lprintf(LOG_NOTICE,"%04d !USER NOT FOUND: '%s'" ,session->socket,p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } if(user.misc&(DELETED|INACTIVE)) { lprintf(LOG_WARNING,"%04d !DELETED OR INACTIVE USER #%d: %s" ,session->socket,user.number,p); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); /* Password */ if(user.pass[0]) { if((js_str=JS_ValueToString(cx, argv[1]))==NULL) @@ -4144,10 +4145,10 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_FALSE); if(stricmp(user.pass,p)) { /* Wrong password */ - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); lprintf(LOG_WARNING,"%04d !INVALID PASSWORD ATTEMPT FOR USER: %s" ,session->socket,user.alias); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); return(JS_TRUE); } } @@ -4155,7 +4156,7 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if(argc>2) JS_ValueToBoolean(cx,argv[2],&inc_logons); - rc=JS_SuspendRequest(cx); + rc=JS_SUSPENDREQUEST(cx); if(inc_logons) { user.logons++; @@ -4164,7 +4165,7 @@ js_login(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) http_logon(session, &user); - JS_ResumeRequest(cx, rc); + JS_RESUMEREQUEST(cx, rc); /* user-specific objects */ if(!js_CreateUserObjects(session->js_cx, session->js_glob, &scfg, &session->user @@ -4395,7 +4396,7 @@ js_initcx(http_session_t *session) if((js_cx = JS_NewContext(session->js_runtime, startup->js.cx_stack))==NULL) return(NULL); - JS_BeginRequest(js_cx); + JS_BEGINREQUEST(js_cx); lprintf(LOG_INFO,"%04d JavaScript: Context created",session->socket); @@ -4415,7 +4416,7 @@ js_initcx(http_session_t *session) ,&js_server_props /* server */ ))==NULL || !JS_DefineFunctions(js_cx, session->js_glob, js_global_functions)) { - JS_EndRequest(js_cx); + JS_ENDREQUEST(js_cx); JS_DestroyContext(js_cx); return(NULL); } @@ -4461,24 +4462,24 @@ static BOOL js_setup(http_session_t* session) } else - JS_BeginRequest(session->js_cx); + JS_BEGINREQUEST(session->js_cx); lprintf(LOG_INFO,"%04d JavaScript: Initializing HttpRequest object",session->socket); if(js_CreateHttpRequestObject(session->js_cx, session->js_glob, session)==NULL) { lprintf(LOG_ERR,"%04d !ERROR initializing JavaScript HttpRequest object",session->socket); - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); return(FALSE); } lprintf(LOG_INFO,"%04d JavaScript: Initializing HttpReply object",session->socket); if(js_CreateHttpReplyObject(session->js_cx, session->js_glob, session)==NULL) { lprintf(LOG_ERR,"%04d !ERROR initializing JavaScript HttpReply object",session->socket); - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); return(FALSE); } JS_SetContextPrivate(session->js_cx, session); - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); return(TRUE); } @@ -4493,7 +4494,7 @@ static BOOL ssjs_send_headers(http_session_t* session,int chunked) JSString* js_str; char str[MAX_REQUEST_LINE+1]; - JS_BeginRequest(session->js_cx); + JS_BEGINREQUEST(session->js_cx); JS_GetProperty(session->js_cx,session->js_glob,"http_reply",&val); reply = JSVAL_TO_OBJECT(val); JS_GetProperty(session->js_cx,reply,"status",&val); @@ -4512,7 +4513,7 @@ static BOOL ssjs_send_headers(http_session_t* session,int chunked) } JS_ClearScope(session->js_cx, headers); } - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); return(send_headers(session,session->req.status,chunked)); } @@ -4540,7 +4541,7 @@ static BOOL exec_ssjs(http_session_t* session, char* script) { /* FREE()d in close_request() */ session->req.cleanup_file[CLEANUP_SSJS_TMP_FILE]=strdup(path); - JS_BeginRequest(session->js_cx); + JS_BEGINREQUEST(session->js_cx); js_add_request_prop(session,"real_path",session->req.physical_path); js_add_request_prop(session,"virtual_path",session->req.virtual_path); js_add_request_prop(session,"ars",session->req.ars); @@ -4571,7 +4572,7 @@ static BOOL exec_ssjs(http_session_t* session, char* script) { ,script))==NULL) { lprintf(LOG_ERR,"%04d !JavaScript FAILED to compile script (%s)" ,session->socket,script); - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); return(FALSE); } @@ -4600,7 +4601,7 @@ static BOOL exec_ssjs(http_session_t* session, char* script) { if(js_script!=NULL) JS_DestroyScript(session->js_cx, js_script); session->req.dynamic=IS_SSJS; - JS_EndRequest(session->js_cx); + JS_ENDREQUEST(session->js_cx); return(retval); }