From 4f376e160c461c8a8c9795e1e613116462241c77 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Sun, 11 May 2003 20:15:18 +0000 Subject: [PATCH] Toggling the "down node on logoff" toggle will take node offline/put node online if node is not in use. --- src/sbbs3/umonitor/umonitor.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/sbbs3/umonitor/umonitor.c b/src/sbbs3/umonitor/umonitor.c index 635e6bcaf1..eebe95cc51 100644 --- a/src/sbbs3/umonitor/umonitor.c +++ b/src/sbbs3/umonitor/umonitor.c @@ -460,8 +460,7 @@ void node_toggles(int nodenum) { getnodedat(nodenum,&node,0); i=0; uifc.helpbuf= "`Node Toggles:`\n" - "\nToDo: Add help (Mention that changes take effect" - "\non menu exit not immediately)"; + "\nToDo: Add help (Mention that changes take effect immediately)"; while(save==0) { j=0; sprintf(opt[j++],"%-30s%3s","Locked for SysOps only",node.misc&NODE_LOCK ? YesStr : NoStr); @@ -469,7 +468,7 @@ void node_toggles(int nodenum) { sprintf(opt[j++],"%-30s%3s","Page disabled",node.misc&NODE_POFF ? YesStr : NoStr); sprintf(opt[j++],"%-30s%3s","Activity alert disabled",node.misc&NODE_AOFF ? YesStr : NoStr); sprintf(opt[j++],"%-30s%3s","Re-run on logoff",node.misc&NODE_RRUN ? YesStr : NoStr); - sprintf(opt[j++],"%-30s%3s","Down node after logoff",node.misc&NODE_DOWN ? YesStr : NoStr); + sprintf(opt[j++],"%-30s%3s","Down node after logoff",(node.misc&NODE_DOWN || (node.status==NODE_OFFLINE)) ? YesStr : NoStr); sprintf(opt[j++],"%-30s%3s","Reset private chat",node.misc&NODE_RPCHT ? YesStr : NoStr); opt[j][0]=0; @@ -495,7 +494,14 @@ void node_toggles(int nodenum) { break; case 5: /* Down */ - node.misc ^= NODE_DOWN; + if(node.status == NODE_INUSE) + node.misc ^= NODE_DOWN; + if(node.status != NODE_INUSE) { + if(node.status!=NODE_OFFLINE) + node.status=NODE_OFFLINE; + else + node.status=NODE_WFC; + } break; case 6: /* Reset chat */ @@ -510,9 +516,9 @@ void node_toggles(int nodenum) { uifc.msg("Option not implemented"); continue; } + lock(nodefile,(long)(nodenum-1)*sizeof(node_t),sizeof(node_t)); + putnodedat(nodenum,node); } - lock(nodefile,(long)(nodenum-1)*sizeof(node_t),sizeof(node_t)); - putnodedat(nodenum,node); } int main(int argc, char** argv) { -- GitLab