diff --git a/src/sbbs3/qwk.cpp b/src/sbbs3/qwk.cpp index 9c9aa8ed4fde3225acf2f1ef7a146ef0db34bbbc..43618e612751cff3d64dfe0c94137aeffdb3645b 100644 --- a/src/sbbs3/qwk.cpp +++ b/src/sbbs3/qwk.cpp @@ -425,7 +425,7 @@ void sbbs_t::qwk_sec() ch=(char)getkeys(str,0); if(ch>' ') logch(ch,0); - if(sys_status&SS_ABORT || ch=='Q' || ch==CR) + if(sys_status&SS_ABORT || ch=='Q' || ch==CR || !online) break; if(ch=='?') { if((useron.misc&(WIP|RIP|HTML) || !(useron.misc&EXPERT)) @@ -491,7 +491,7 @@ void sbbs_t::qwk_sec() ,useron.qwk&QWK_EXT ? text[Yes]:text[No]); bputs(text[UserDefaultsWhich]); ch=(char)getkeys("AEDFIOQTYMNCXZV",0); - if(sys_status&SS_ABORT || !ch || ch=='Q') + if(sys_status&SS_ABORT || !ch || ch=='Q' || !online) break; switch(ch) { case 'A': @@ -573,7 +573,7 @@ void sbbs_t::qwk_sec() sprintf(tmp,"%c",cfg.prot[i]->mnemonic); strcat(tmp2,tmp); } ch=(char)getkeys(tmp2,0); - if(ch=='Q' || sys_status&SS_ABORT) { + if(ch=='Q' || sys_status&SS_ABORT || !online) { for(i=0;i<cfg.total_subs;i++) subscan[i].ptr=sav_ptr[i]; /* re-load saved pointers */ last_ns_time=ns_time; @@ -675,7 +675,7 @@ void sbbs_t::qwk_sec() strcat(tmp2,tmp); } ungetkey(useron.prot); ch=(char)getkeys(tmp2,0); - if(ch=='Q' || sys_status&SS_ABORT) { + if(ch=='Q' || sys_status&SS_ABORT || !online) { for(i=0;i<cfg.total_subs;i++) subscan[i].ptr=sav_ptr[i]; /* re-load saved pointers */ last_ns_time=ns_time; @@ -749,7 +749,7 @@ void sbbs_t::qwk_sec() sprintf(tmp,"%c",cfg.prot[i]->mnemonic); strcat(tmp2,tmp); } ch=(char)getkeys(tmp2,0); - if(ch=='Q' || sys_status&SS_ABORT) + if(ch=='Q' || sys_status&SS_ABORT || !online) continue; for(i=0;i<cfg.total_prots;i++) if(cfg.prot[i]->ulcmd[0] && cfg.prot[i]->mnemonic==ch