From 1945c6d399619d88934d28fda954ebf92b0e6334 Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on ChromeOS)" <rob@synchro.net>
Date: Mon, 20 Feb 2023 13:13:21 -0800
Subject: [PATCH] Add an 'enabled' property for QWKnet hubs, defaults to true,
 part 2

Missing part of yesterday's commit, whoops
---
 src/sbbs3/main.cpp   | 4 ++++
 src/sbbs3/scfgdefs.h | 1 +
 src/sbbs3/scfglib1.c | 1 +
 src/sbbs3/scfgsave.c | 1 +
 4 files changed, 7 insertions(+)

diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 0e454f2c84..9e9851a74a 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -2889,6 +2889,8 @@ void event_thread(void* arg)
 
 			/* QWK Networking Call-out semaphores */
 			for(i=0;i<sbbs->cfg.total_qhubs;i++) {
+				if(!sbbs->cfg.qhub[i]->enabled)
+					continue;
 				if(sbbs->cfg.qhub[i]->node != NODE_ANY
 					&& (sbbs->cfg.qhub[i]->node<first_node || sbbs->cfg.qhub[i]->node>last_node))
 					continue;
@@ -2924,6 +2926,8 @@ void event_thread(void* arg)
 		/* QWK Networking Call-out Events */
 		sbbs->event_code = "QNET";
 		for(i=0;i<sbbs->cfg.total_qhubs && !sbbs->terminated;i++) {
+			if(!sbbs->cfg.qhub[i]->enabled)
+				continue;
 			if(sbbs->cfg.qhub[i]->node != NODE_ANY
 				&& (sbbs->cfg.qhub[i]->node<first_node || sbbs->cfg.qhub[i]->node>last_node))
 				continue;
diff --git a/src/sbbs3/scfgdefs.h b/src/sbbs3/scfgdefs.h
index ae6d619e7e..2391995b56 100644
--- a/src/sbbs3/scfgdefs.h
+++ b/src/sbbs3/scfgdefs.h
@@ -334,6 +334,7 @@ typedef struct {							/* QWK Network Hub */
 	sub_t**		sub;
 	time32_t	last;						/* Last network attempt */
 	uint32_t	misc;						/* QHUB_* flags */
+	BOOL		enabled;
 
 } qhub_t;
 
diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c
index 54aed67179..c304ac8c29 100644
--- a/src/sbbs3/scfglib1.c
+++ b/src/sbbs3/scfglib1.c
@@ -511,6 +511,7 @@ BOOL read_msgs_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
 		memset(cfg->qhub[i],0,sizeof(qhub_t));
 
 		SAFECOPY(cfg->qhub[i]->id, name + 5);
+		cfg->qhub[i]->enabled = iniGetBool(section, NULL, "enabled", TRUE);
 		cfg->qhub[i]->time = iniGetShortInt(section, NULL, "time", 0);
 		cfg->qhub[i]->freq = iniGetShortInt(section, NULL, "freq", 0);
 		cfg->qhub[i]->days = (char)iniGetShortInt(section, NULL, "days", 0);
diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c
index c32c4e01e6..29e9c25c1d 100644
--- a/src/sbbs3/scfgsave.c
+++ b/src/sbbs3/scfgsave.c
@@ -493,6 +493,7 @@ BOOL write_msgs_cfg(scfg_t* cfg, int backup_level)
 	for(uint i=0; i<cfg->total_qhubs; i++) {
 		SAFEPRINTF(name, "qhub:%s", cfg->qhub[i]->id);
 		str_list_t section = strListInit();
+		iniSetBool(&section, name, "enabled", cfg->qhub[i]->enabled, NULL);
 		iniSetShortInt(&section, name, "time", cfg->qhub[i]->time, NULL);
 		iniSetShortInt(&section, name, "freq", cfg->qhub[i]->freq, NULL);
 		iniSetShortInt(&section, name, "days", cfg->qhub[i]->days, NULL);
-- 
GitLab