diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c index b29f30bab92bd956cf004ae2a37a8d129fa08646..ff675bf571309c37f629865a0fbd066de0a94136 100644 --- a/src/sbbs3/sbbs_ini.c +++ b/src/sbbs3/sbbs_ini.c @@ -36,6 +36,7 @@ ****************************************************************************/ #include "sbbs_ini.h" +#include "sbbsdefs.h" /* JAVASCRIPT_* macros */ #include "dirwrap.h" /* backslash */ static const char* nulstr=""; @@ -159,14 +160,16 @@ void sbbs_read_ini( const char* default_cgi_temp; const char* default_dosemu_path; const char* strInterface="Interface"; - const char* strJavaScriptMaxBytes="JavaScriptMaxBytes"; - const char* strSemFileCheckFrequency="SemFileCheckFrequency"; char* ctrl_dir; char* temp_dir; char host_name[128]; char value[INI_MAX_VALUE_LEN]; ulong interface_addr; ulong js_max_bytes; + ulong js_cx_stack; + ulong js_branch_limit; + ulong js_gc_interval; + ulong js_yield_interval; ushort sem_chk_freq; section = "Global"; @@ -187,9 +190,15 @@ void sbbs_read_ini( } SAFECOPY(host_name,iniGetString(fp,section,"HostName",nulstr,value)); - js_max_bytes=iniGetInteger(fp,section,strJavaScriptMaxBytes,0); sem_chk_freq=iniGetShortInt(fp,section,strSemFileCheckFrequency,0); interface_addr=iniGetIpAddress(fp,section,strInterface,INADDR_ANY); + + /* Global JavaScript defaults */ + js_max_bytes = iniGetInteger(fp,section,strJavaScriptMaxBytes ,JAVASCRIPT_MAX_BYTES); + js_cx_stack = iniGetInteger(fp,section,strJavaScriptContextStack ,JAVASCRIPT_CONTEXT_STACK); + js_branch_limit = iniGetInteger(fp,section,strJavaScriptBranchLimit ,JAVASCRIPT_BRANCH_LIMIT); + js_gc_interval = iniGetInteger(fp,section,strJavaScriptGcInterval ,JAVASCRIPT_GC_INTERVAL); + js_yield_interval = iniGetInteger(fp,section,strJavaScriptYieldInterval ,JAVASCRIPT_YIELD_INTERVAL); /***********************************************************************/ if(bbs!=NULL) { @@ -224,8 +233,18 @@ void sbbs_read_ini( bbs->xtrn_polls_before_yield =iniGetInteger(fp,section,"ExternalYield",10); + + /* JavaScript operating parameters */ bbs->js_max_bytes - =iniGetInteger(fp,section,strJavaScriptMaxBytes,js_max_bytes); + =iniGetInteger(fp,section,strJavaScriptMaxBytes ,js_max_bytes); + bbs->js_cx_stack + =iniGetInteger(fp,section,strJavaScriptContextStack ,js_cx_stack); + bbs->js_branch_limit + =iniGetInteger(fp,section,strJavaScriptBranchLimit ,js_branch_limit); + bbs->js_gc_interval + =iniGetInteger(fp,section,strJavaScriptGcInterval ,js_gc_interval); + bbs->js_yield_interval + =iniGetInteger(fp,section,strJavaScriptYieldInterval,js_yield_interval); SAFECOPY(bbs->host_name ,iniGetString(fp,section,"HostName",host_name,value)); @@ -281,8 +300,12 @@ void sbbs_read_ini( =iniGetShortInt(fp,section,"QwkTimeout",600); /* seconds */ ftp->sem_chk_freq =iniGetShortInt(fp,section,strSemFileCheckFrequency,sem_chk_freq); + + /* JavaScript Operating Parameters */ ftp->js_max_bytes - =iniGetInteger(fp,section,strJavaScriptMaxBytes,js_max_bytes); + =iniGetInteger(fp,section,strJavaScriptMaxBytes ,js_max_bytes); + ftp->js_cx_stack + =iniGetInteger(fp,section,strJavaScriptContextStack ,js_cx_stack); SAFECOPY(ftp->host_name ,iniGetString(fp,section,"HostName",host_name,value)); @@ -384,8 +407,17 @@ void sbbs_read_ini( services->sem_chk_freq =iniGetShortInt(fp,section,strSemFileCheckFrequency,sem_chk_freq); + /* Configurable JavaScript default parameters */ services->js_max_bytes - =iniGetInteger(fp,section,strJavaScriptMaxBytes,js_max_bytes); + =iniGetInteger(fp,section,strJavaScriptMaxBytes ,js_max_bytes); + services->js_cx_stack + =iniGetInteger(fp,section,strJavaScriptContextStack ,js_cx_stack); + services->js_branch_limit + =iniGetInteger(fp,section,strJavaScriptBranchLimit ,js_branch_limit); + services->js_gc_interval + =iniGetInteger(fp,section,strJavaScriptGcInterval ,js_gc_interval); + services->js_yield_interval + =iniGetInteger(fp,section,strJavaScriptYieldInterval,js_yield_interval); SAFECOPY(services->host_name ,iniGetString(fp,section,"HostName",host_name,value)); @@ -420,8 +452,12 @@ void sbbs_read_ini( =iniGetShortInt(fp,section,"Port",IPPORT_HTTP); web->sem_chk_freq =iniGetShortInt(fp,section,strSemFileCheckFrequency,sem_chk_freq); + + /* JavaScript Operating Parameters */ web->js_max_bytes - =iniGetInteger(fp,section,strJavaScriptMaxBytes,js_max_bytes); + =iniGetInteger(fp,section,strJavaScriptMaxBytes ,js_max_bytes); + web->js_cx_stack + =iniGetInteger(fp,section,strJavaScriptContextStack ,js_cx_stack); SAFECOPY(web->host_name ,iniGetString(fp,section,"HostName",host_name,value));