diff --git a/src/sbbs3/logon.cpp b/src/sbbs3/logon.cpp index a4d695a96f593c9fb019515b3bf45553947858b0..26bf463cbc808811c5349e1c86a173e29f146634 100644 --- a/src/sbbs3/logon.cpp +++ b/src/sbbs3/logon.cpp @@ -497,7 +497,7 @@ bool sbbs_t::logon() if(cfg.sys_logon.cmd[0] && !(cfg.sys_logon.misc & EVENT_DISABLED)) { /* execute system logon event */ lprintf(LOG_DEBUG, "executing logon event: %s", cfg.sys_logon.cmd); - external(cmdstr(cfg.sys_logon.cmd,nulstr,nulstr,NULL), EX_STDOUT | cfg.sys_logon.misc); /* EX_SH */ + external(cmdstr(cfg.sys_logon.cmd,nulstr,nulstr,NULL,cfg.sys_logon.misc), EX_STDOUT | cfg.sys_logon.misc); /* EX_SH */ } if(sys_status&SS_QWKLOGON) diff --git a/src/sbbs3/logout.cpp b/src/sbbs3/logout.cpp index fbab736b61467061183d50d88902558b90f80044..046e26b393850e0a86db367d9c62a1efcd707120 100644 --- a/src/sbbs3/logout.cpp +++ b/src/sbbs3/logout.cpp @@ -73,7 +73,7 @@ void sbbs_t::logout(bool logged_in) if(!online) { /* NOT re-login */ if(cfg.sys_logout.cmd[0] && !(cfg.sys_logout.misc & EVENT_DISABLED)) { /* execute system logout event */ lprintf(LOG_DEBUG, "executing logout event: %s", cfg.sys_logout.cmd); - external(cmdstr(cfg.sys_logout.cmd,nulstr,nulstr,NULL), EX_OUTL | EX_OFFLINE | cfg.sys_logout.misc); + external(cmdstr(cfg.sys_logout.cmd,nulstr,nulstr,NULL,cfg.sys_logout.misc), EX_OUTL | EX_OFFLINE | cfg.sys_logout.misc); } } diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 245b2a2dd5166fba3331daed3f1fa3bcab48db21..48f4a9a64c8b741f414bbd6672f00dcdf16b1e5c 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -3106,7 +3106,7 @@ void event_thread(void* arg) sbbs->online=ON_LOCAL; sbbs->console|=CON_L_ECHO; sbbs->logentry("!:","Run node daily event"); - const char* cmd = sbbs->cmdstr(sbbs->cfg.node_daily.cmd,nulstr,nulstr,NULL); + const char* cmd = sbbs->cmdstr(sbbs->cfg.node_daily.cmd,nulstr,nulstr,NULL,sbbs->cfg.node_daily.misc); int result = sbbs->external(cmd, EX_OFFLINE | sbbs->cfg.node_daily.misc); sbbs->lprintf(result ? LOG_ERR : LOG_INFO, "Node daily event: '%s' returned %d", cmd, result); sbbs->console&=~CON_L_ECHO; @@ -3272,7 +3272,7 @@ void event_thread(void* arg) int ex_mode = EX_OFFLINE|EX_SH; /* sh for Unix perl scripts */ if(sbbs->cfg.qhub[i]->misc & QHUB_NATIVE) ex_mode |= EX_NATIVE; - const char* cmd = sbbs->cmdstr(sbbs->cfg.qhub[i]->call, sbbs->cfg.qhub[i]->id,sbbs->cfg.qhub[i]->id,NULL); + const char* cmd = sbbs->cmdstr(sbbs->cfg.qhub[i]->call, sbbs->cfg.qhub[i]->id,sbbs->cfg.qhub[i]->id,NULL,ex_mode); int result = sbbs->external(cmd, ex_mode); sbbs->lprintf(result ? LOG_ERR : LOG_INFO, "Call-out to: %s (%s) returned %d", sbbs->cfg.qhub[i]->id, cmd, result); sbbs->console&=~CON_L_ECHO; @@ -3447,7 +3447,7 @@ void event_thread(void* arg) ex_mode|=(sbbs->cfg.event[i]->misc&EX_NATIVE); sbbs->online=ON_LOCAL; sbbs->console|=CON_L_ECHO; - cmd = sbbs->cmdstr(cmd, nulstr, sbbs->cfg.event[i]->dir, NULL); + cmd = sbbs->cmdstr(cmd, nulstr, sbbs->cfg.event[i]->dir, NULL, ex_mode); sbbs->lprintf(LOG_INFO,"Running %s%stimed event: %s" ,native_executable(&sbbs->cfg, cmd, ex_mode) ? "native ":"16-bit DOS " ,(ex_mode&EX_BG) ? "background ":"" @@ -4806,10 +4806,8 @@ void sbbs_t::daily_maint(void) && !(user.misc&(DELETED|INACTIVE)) /* alive */ && (cfg.sys_autodel && (now-user.laston)/(int)(24L*60L*60L) > cfg.sys_autodel)) { /* Inactive too long */ - SAFEPRINTF4(str,"DAILY: Auto-Deleted %s (%s) #%u due to inactivity > %u days" - ,user.alias, user.name, user.number, cfg.sys_autodel); - lputs(LOG_NOTICE, str); - delallmail(user.number, MAIL_ANY); + lprintf(LOG_NOTICE, "DAILY: Auto-Deleting user: %s (%s) #%u due to inactivity > %u days (pending e-mail: %d)" + ,user.alias, user.name, user.number, cfg.sys_autodel, delallmail(user.number, MAIL_ANY)); putusername(&cfg,user.number,nulstr); putusermisc(user.number, user.misc | DELETED); } @@ -4827,14 +4825,14 @@ void sbbs_t::daily_maint(void) if((i=smb_locksmbhdr(&smb))!=0) errormsg(WHERE,ERR_LOCK,smb.file,i,smb.last_error); else - lprintf(LOG_INFO, "DAILY: Removed %d messages", delmail(0, MAIL_ALL)); + lprintf(LOG_INFO, "DAILY: Removed %d e-mail messages", delmail(0, MAIL_ALL)); } smb_close(&smb); } if(cfg.sys_daily.cmd[0] && !(cfg.sys_daily.misc & EVENT_DISABLED)) { lputs(LOG_INFO, "DAILY: Running system event"); - const char* cmd = cmdstr(cfg.sys_daily.cmd,nulstr,nulstr,NULL); + const char* cmd = cmdstr(cfg.sys_daily.cmd,nulstr,nulstr,NULL,cfg.sys_daily.misc); online = ON_LOCAL; int result = external(cmd, EX_OFFLINE | cfg.sys_daily.misc); online = false; @@ -4842,7 +4840,7 @@ void sbbs_t::daily_maint(void) } if((sys_status & SS_NEW_MONTH) && cfg.sys_monthly.cmd[0] && !(cfg.sys_monthly.misc & EVENT_DISABLED)) { lputs(LOG_INFO, "DAILY: Running monthly event"); - const char* cmd = cmdstr(cfg.sys_monthly.cmd,nulstr,nulstr,NULL); + const char* cmd = cmdstr(cfg.sys_monthly.cmd,nulstr,nulstr,NULL,cfg.sys_monthly.misc); online = ON_LOCAL; int result = external(cmd, EX_OFFLINE | cfg.sys_monthly.misc); online = false;