From a0b03c308aef01ddb4b4ba09b3f0b15be6910816 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Fri, 17 Dec 2004 06:37:15 +0000 Subject: [PATCH] Move subscan from session struct to request struct. --- src/sbbs3/websrvr.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index d7e2618e84..ab115bfc34 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -189,6 +189,7 @@ typedef struct { /* Dynamically (sever-side JS) generated HTML parameters */ FILE* fp; + subscan_t *subscan; } http_request_t; @@ -205,7 +206,6 @@ typedef struct { time_t logon_time; char username[LEN_NAME+1]; int last_js_user_num; - subscan_t *subscan; /* JavaScript parameters */ JSRuntime* js_runtime; @@ -750,11 +750,11 @@ static void close_request(http_session_t * session) if(session->js_cx!=NULL && (session->req.dynamic==IS_SSJS || session->req.dynamic==IS_JS)) { JS_GC(session->js_cx); } + if(session->req.subscan!=NULL) + putmsgptrs(&scfg, session->user.number, session->req.subscan); + FREE_AND_NULL(session->req.subscan); memset(&session->req,0,sizeof(session->req)); - if(session->subscan!=NULL) - putmsgptrs(&scfg, session->user.number, session->subscan); - FREE_AND_NULL(session->subscan); } static int get_header_type(char *header) @@ -1011,10 +1011,10 @@ void http_logon(http_session_t * session, user_t *usr) session->user=*usr; if(session->user.number!=0) { - FREE_AND_NULL(session->subscan); - session->subscan=(subscan_t*)malloc(sizeof(subscan_t)*scfg.total_subs); - if(session->subscan!=NULL) - getmsgptrs(&scfg,session->user.number,session->subscan); + FREE_AND_NULL(session->req.subscan); + session->req.subscan=(subscan_t*)malloc(sizeof(subscan_t)*scfg.total_subs); + if(session->req.subscan!=NULL) + getmsgptrs(&scfg,session->user.number,session->req.subscan); } if(session->user.number==session->last_user_num) @@ -1059,7 +1059,7 @@ BOOL http_checkuser(http_session_t * session) lprintf(LOG_INFO,"%04d JavaScript: Initializing User Objects",session->socket); if(session->user.number>0) { if(!js_CreateUserObjects(session->js_cx, session->js_glob, &scfg, &session->user - ,NULL /* ftp index file */, session->subscan /* subscan */)) { + ,NULL /* ftp index file */, session->req.subscan /* subscan */)) { lprintf(LOG_ERR,"%04d !JavaScript ERROR creating user objects",session->socket); send_error(session,"500 Error initializing JavaScript User Objects"); return(FALSE); @@ -2734,7 +2734,6 @@ void http_session_thread(void* arg) session.last_user_num=-1; session.last_js_user_num=-1; session.logon_time=0; - session.subscan=NULL; while(!session.finished && server_socket!=INVALID_SOCKET) { memset(&(session.req), 0, sizeof(session.req)); @@ -2790,8 +2789,6 @@ void http_session_thread(void* arg) session.js_runtime=NULL; } - FREE_AND_NULL(session.subscan); - #ifdef _WIN32 if(startup->hangup_sound[0] && !(startup->options&BBS_OPT_MUTE)) PlaySound(startup->hangup_sound, NULL, SND_ASYNC|SND_FILENAME); -- GitLab