From f5d0d851f7fa0bfeff0bebf24d042bc03789de59 Mon Sep 17 00:00:00 2001
From: "Rob Swindell (in GitKraken)" <rob@synchro.net>
Date: Sat, 18 Feb 2023 18:49:52 -0800
Subject: [PATCH] Removed about 1500 bytes of unused scfg_t fields (cruft)

modem init strings, alt file paths, PostLink name/number, node-specific command-lines, etc., many of these haven't been used since SBBS v2.
---
 src/sbbs3/exec.cpp          | 17 -----------------
 src/sbbs3/load_cfg.c        |  1 -
 src/sbbs3/scfg/scfgnode.c   |  1 -
 src/sbbs3/scfgdefs.h        | 38 +------------------------------------
 src/sbbs3/scfglib1.c        |  1 -
 src/sbbs3/scfglib2.c        |  7 -------
 src/sbbs3/str.cpp           |  3 ---
 src/sbbs3/upgrade_to_v319.c |  8 ++------
 src/sbbs3/xtrn_sec.cpp      | 12 ++++++------
 9 files changed, 9 insertions(+), 79 deletions(-)

diff --git a/src/sbbs3/exec.cpp b/src/sbbs3/exec.cpp
index 7b9970790c..945e59f4ef 100644
--- a/src/sbbs3/exec.cpp
+++ b/src/sbbs3/exec.cpp
@@ -250,8 +250,6 @@ int32_t * sbbs_t::getintvar(csi_t *bin, uint32_t name)
 			return((int32_t *)&sys_status);
 		case 0x7e29c819:
 			return((int32_t *)&cfg.sys_misc);
-		case 0x11c83294:
-			return((int32_t *)&cfg.sys_psnum);
 		case 0x02408dc5:
 			sysvar_l[sysvar_li]=sys_timezone(&cfg);
 			break;
@@ -276,26 +274,11 @@ int32_t * sbbs_t::getintvar(csi_t *bin, uint32_t name)
 		case 0xdd982780:
 			sysvar_l[sysvar_li]=cfg.sys_autonode;
 			break;
-		case 0xf53db6c7:
-			sysvar_l[sysvar_li]=cfg.node_scrnlen;
-			break;
-		case 0xa1f0fcb7:
-			sysvar_l[sysvar_li]=cfg.node_scrnblank;
-			break;
 		case 0x709c07da:
 			return((int32_t *)&cfg.node_misc);
 		case 0xb17e7914:
 			sysvar_l[sysvar_li]=cfg.valuser;
 			break;
-		case 0xadae168a:
-			sysvar_l[sysvar_li]=cfg.node_ivt;
-			break;
-		case 0x2aa89801:
-			sysvar_l[sysvar_li]=cfg.node_swap;
-			break;
-		case 0x4f02623a:
-			sysvar_l[sysvar_li]=cfg.node_minbps;
-			break;
 		case 0xe7a7fb07:
 			sysvar_l[sysvar_li]=cfg.node_num;
 			break;
diff --git a/src/sbbs3/load_cfg.c b/src/sbbs3/load_cfg.c
index 9c60ebc0a9..0123e05591 100644
--- a/src/sbbs3/load_cfg.c
+++ b/src/sbbs3/load_cfg.c
@@ -168,7 +168,6 @@ void prep_cfg(scfg_t* cfg)
 
 	prep_dir(cfg->ctrl_dir, cfg->netmail_dir, sizeof(cfg->netmail_dir));
 	prep_dir(cfg->ctrl_dir, cfg->echomail_dir, sizeof(cfg->echomail_dir));
-	prep_dir(cfg->ctrl_dir, cfg->fidofile_dir, sizeof(cfg->fidofile_dir));
 
 	prep_path(cfg->netmail_sem);
 	prep_path(cfg->echomail_sem);
diff --git a/src/sbbs3/scfg/scfgnode.c b/src/sbbs3/scfg/scfgnode.c
index 1343f0d4d1..877fdeec1c 100644
--- a/src/sbbs3/scfg/scfgnode.c
+++ b/src/sbbs3/scfg/scfgnode.c
@@ -117,7 +117,6 @@ void node_menu()
 			SAFECOPY(cfg.node_path[i-1],str);
 			md(str);
 			cfg.node_num=++cfg.sys_nodes;
-			SAFEPRINTF(cfg.node_name,"Node %u",cfg.node_num);
 			SAFECOPY(cfg.node_phone,"N/A");
 			cfg.new_install=new_install;
 			save_node_cfg(&cfg,backup_level);
diff --git a/src/sbbs3/scfgdefs.h b/src/sbbs3/scfgdefs.h
index b1f6a6dac9..ae6d619e7e 100644
--- a/src/sbbs3/scfgdefs.h
+++ b/src/sbbs3/scfgdefs.h
@@ -458,27 +458,12 @@ typedef struct
 	uint32_t		com_rate;			/* DTE rate in bps	   */
 	char  			com_port;			/* Number of COM port  */
 
-										/* Modem command strings */
-	char 			mdm_init[64],		/* Initialization */
-					mdm_spec[64],		/* Special Initialization */
-					mdm_term[64],		/* Terminal Initialization String */
-					mdm_dial[64],		/* Dial */
-					mdm_offh[64],		/* Off hook */
-					mdm_answ[64],		/* Answer */
-					mdm_hang[64];		/* Hang-up */
-	uint32_t		mdm_misc;			/* Misc bits used for flags */
-	uint16_t		mdm_reinit; 		/* Modem reinitialization minute count */
-	uint16_t		mdm_ansdelay;		/* Modem seconds to delay after answer */
-	uchar			mdm_rings;			/* Rings to wait till answer */
-
 	uint32_t		sys_login;			// Login Settings (Bit-flags)
 	uint32_t 		sys_misc;			/* System Misc Settings */
 	uint32_t		sys_pass_timeout;	// Minutes between required SYSPASS entry
 	char 			sys_pass[41];		/* System Pass Word */
 	char 			sys_name[41];		/* System Name */
 	char 			sys_id[LEN_QWKID+1];/* System ID for QWK Packets */
-	char 			sys_psname[13]; 	/* PostLink and PCRelay Site Name */
-	uint32_t		sys_psnum;			/* PostLink and PCRelay Site Number */
 	char 			sys_inetaddr[128];	/* System's internet address */
 	char 			sys_location[41];	/* System Location */
 	int16_t			sys_timezone;		/* Time Zone of BBS */
@@ -493,7 +478,6 @@ typedef struct
 	char			sys_op[41];         /* Name of system operator */
 	char			sys_guru[41];       /* Name of system guru */
 	uchar			sys_exp_warn;		/* Days left till expire to notify */
-	char 			sys_def_stat;		/* Default status line */
 	char 			sys_phonefmt[LEN_PHONE+1];	/* format of phone numbers */
 	uint16_t		sys_lastnode;		/* Last displayable node number */
 	uint16_t		sys_autonode;		/* First node number for autonode */
@@ -505,27 +489,15 @@ typedef struct
 	int32_t			xtrn_misc;			/* External Programs Misc Settings */
 	uint16_t		filename_maxlen;	/* Maximum filename length */
 
-	char			node_comspec[LEN_CMD+1];	/* DOS COMMAND.COM to use */
-	char			node_editor[LEN_CMD+1]; /* Local text editor command line to use */
-	char			node_viewer[LEN_CMD+1]; /* Local text viewer command line */
 	char			node_daily[LEN_CMD+1];	/* Name of node's daily event */
-	uchar			node_scrnlen;		/* Length of screen (rows) */
-	uchar			node_scrnblank; 	/* Min of inactivity for blank screen */
 	uint32_t		node_misc;			/* Misc bits for node setup */
 	uint16_t		valuser;			/* User validation mail goes to */
 	uint16_t		erruser;			/* User error messages goes to */
 	uchar			errlevel;			/* Log level threshold to notify user (erruser) */
-	uint16_t		node_ivt;			/* Time-slice APIs */
-	uchar			node_swap;			/* Swap types allowed */
-	char			node_swapdir[LEN_DIR+1];	/* Swap directory */
-	uint16_t		node_minbps;		/* Minimum connect rate of this node */
 	uint16_t		node_num;			/* Local node number of this node */
-	char			node_phone[13], 	/* Phone number of this node */
-					node_name[41];     	/* Name of this node */
+	char			node_phone[13]; 	/* Phone number of this node */
 	char			node_arstr[LEN_ARSTR+1]; /* Node minimum requirements */
 	uchar			node_ar[LEN_ARSTR+1];
-	uint32_t		node_cost;			/* Node cost to call - in credits */
-	uchar			node_dollars_per_call;	/* Billing Node Dollars Per Call */
 	uint16_t		node_sem_check; 	/* Seconds between semaphore checks */
 	uint16_t		node_stat_check;	/* Seconds between statistic checks */
 
@@ -604,8 +576,6 @@ typedef struct
 	uint			sysop_dir;			/* Destination for uploads to sysop */
 	uint			user_dir;			/* Directory for user to user xfers */
 	uint			upload_dir; 		/* Directory where all uploads go */
-	char **			altpath;			/* Alternate paths for files */
-	uint16_t		altpaths;			/* Total number of alternate paths */
 	uint16_t		leech_pct;			/* Leech detection percentage */
 	uint16_t		leech_sec;			/* Minimum seconds before possible leech */
 	uint32_t		netmail_cost;		/* Cost in credits to send netmail */
@@ -616,7 +586,6 @@ typedef struct
 	char			smtpmail_sem[LEN_DIR+1];	/* Inbound Internet Mail semaphore file */
 	char			inetmail_sem[LEN_DIR+1];	/* Outbound Internet Mail semaphore file */
 	char			echomail_dir[LEN_DIR+1];	/* Directory to store echomail in */
-	char 			fidofile_dir[LEN_DIR+1];	/* Directory where inbound files go (deprecated and not used) */
 	char			netmail_sem[LEN_DIR+1];		/* FidoNet NetMail semaphore */
 	char 			echomail_sem[LEN_DIR+1];	/* FidoNet EchoMail semaphore  */
 	char		 	origline[51];		/* Default EchoMail origin line */
@@ -624,7 +593,6 @@ typedef struct
 	int32_t 		uq; 					/* User Questions */
 	uint32_t		mail_maxcrcs;			/* Dupe checking in e-mail */
 	uint16_t		mail_maxage;			/* Maximum age of e-mail */
-	faddr_t			dflt_faddr; 			/* Default FidoNet address */
 	char			logon_mod[LEN_MODNAME+1];			/* Logon module */
 	char			logoff_mod[LEN_MODNAME+1];			/* Logoff module */
 	char			newuser_mod[LEN_MODNAME+1]; 		/* New User Module */
@@ -646,7 +614,6 @@ typedef struct
     char			prextrn_mod[LEN_MODNAME+1];			/* External Program pre-execution module */
     char			postxtrn_mod[LEN_MODNAME+1];		/* External Program post-execution module */
 	char			tempxfer_mod[LEN_MODNAME+1];
-	char			scfg_cmd[LEN_CMD+1];	/* SCFG command line - unused! */
 	uchar			smb_retry_time; 		/* Seconds to retry on SMBs */
 	uint16_t		sec_warn;				/* Seconds before inactivity warning */
 	uint16_t		sec_hangup; 			/* Seconds before inactivity hang-up */
@@ -655,9 +622,6 @@ typedef struct
 	uint32_t		total_colors;
 	uint32_t		ctrlkey_passthru;		/* Bits represent control keys NOT handled by inkey() */
 
-	char			wfc_cmd[10][LEN_CMD+1];    /* 0-9 WFC DOS commands */
-	char			wfc_scmd[12][LEN_CMD+1];   /* F1-F12 WFC shrinking DOS commands */
-
 	uint16_t		user_backup_level;
 	uint16_t		mail_backup_level;
 	char**			text;
diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c
index 410e894cc3..54aed67179 100644
--- a/src/sbbs3/scfglib1.c
+++ b/src/sbbs3/scfglib1.c
@@ -490,7 +490,6 @@ BOOL read_msgs_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
 	SAFECOPY(cfg->netmail_sem, iniGetString(section, NULL, "netmail_sem", "", value));
 	SAFECOPY(cfg->echomail_sem, iniGetString(section, NULL, "echomail_sem", "", value));
 	SAFECOPY(cfg->netmail_dir, iniGetString(section, NULL, "netmail_dir", "", value));
-	SAFECOPY(cfg->fidofile_dir, iniGetString(section, NULL, "file_dir", "", value));
 	cfg->netmail_misc = iniGetUShortInt(section, NULL, "netmail_settings", 0);
 	cfg->netmail_cost = iniGetUInt32(section, NULL, "netmail_cost", 0);
 
diff --git a/src/sbbs3/scfglib2.c b/src/sbbs3/scfglib2.c
index fa56560193..2b9544f38a 100644
--- a/src/sbbs3/scfglib2.c
+++ b/src/sbbs3/scfglib2.c
@@ -893,13 +893,6 @@ void free_file_cfg(scfg_t* cfg)
 	}
 	cfg->total_prots=0;
 
-	if(cfg->altpath!=NULL) {
-		for(i=0;i<cfg->altpaths;i++)
-			FREE_AND_NULL(cfg->altpath[i]);
-		FREE_AND_NULL(cfg->altpath);
-	}
-	cfg->altpaths=0;
-
 	if(cfg->lib!=NULL) {
 		for(i=0;i<cfg->total_libs;i++) {
 			FREE_AND_NULL(cfg->lib[i]);
diff --git a/src/sbbs3/str.cpp b/src/sbbs3/str.cpp
index ffab2d3e6c..200aa5f649 100644
--- a/src/sbbs3/str.cpp
+++ b/src/sbbs3/str.cpp
@@ -859,15 +859,12 @@ void sbbs_t::sys_info()
 	bprintf(text[SiSysID],cfg.sys_id);	/* QWK ID */
 	for(i=0;i<cfg.total_faddrs;i++)
 		bprintf(text[SiSysFaddr],smb_faddrtoa(&cfg.faddr[i],tmp));
-	if(cfg.sys_psname[0])				/* PostLink/PCRelay */
-		bprintf(text[SiSysPsite],cfg.sys_psname,cfg.sys_psnum);
 	if(cfg.sys_location[0])
 		bprintf(text[SiSysLocation],cfg.sys_location);
 	bprintf(text[TiNow],timestr(now),smb_zonestr(sys_timezone(&cfg),NULL));
 	if(cfg.sys_op[0])
 		bprintf(text[SiSysop],cfg.sys_op);
 	bprintf(text[SiSysNodes],cfg.sys_nodes);
-//	bprintf(text[SiNodeNumberName],cfg.node_num,cfg.node_name);
 	if(cfg.node_phone[0])
 		bprintf(text[SiNodePhone],cfg.node_phone);
 	bprintf(text[SiTotalLogons],ultoac(stats.logons,tmp));
diff --git a/src/sbbs3/upgrade_to_v319.c b/src/sbbs3/upgrade_to_v319.c
index 889263f1d9..724766ddab 100644
--- a/src/sbbs3/upgrade_to_v319.c
+++ b/src/sbbs3/upgrade_to_v319.c
@@ -200,14 +200,10 @@ char* getoldfilepath(scfg_t* cfg, oldfile_t* f, char* path)
 	if(f->dir>=cfg->total_dirs)
 		safe_snprintf(path,MAX_PATH,"%s%s",cfg->temp_dir,fname);
 	else
-		safe_snprintf(path,MAX_PATH,"%s%s",f->altpath>0 && f->altpath<=cfg->altpaths 
-			? cfg->altpath[f->altpath-1] : cfg->dir[f->dir]->path
-			,fname);
+		safe_snprintf(path,MAX_PATH,"%s%s",cfg->dir[f->dir]->path,fname);
 	if(!fexistcase(path)) {
 		char tmp[MAX_PATH + 1];
-		safe_snprintf(tmp,MAX_PATH,"%s%s",f->altpath>0 && f->altpath<=cfg->altpaths 
-			? cfg->altpath[f->altpath-1] : cfg->dir[f->dir]->path
-			,f->desc);
+		safe_snprintf(tmp,MAX_PATH,"%s%s",cfg->dir[f->dir]->path,f->desc);
 		if(fexistcase(tmp))
 			strcpy(path, tmp);
 	}
diff --git a/src/sbbs3/xtrn_sec.cpp b/src/sbbs3/xtrn_sec.cpp
index 7fa7398b46..5ce4763d21 100644
--- a/src/sbbs3/xtrn_sec.cpp
+++ b/src/sbbs3/xtrn_sec.cpp
@@ -228,12 +228,12 @@ void sbbs_t::xtrndat(const char *name, const char *dropdir, uchar type, ulong tl
 			,dte_rate							/* Com rate */
 			,"Yes"								/* Hardware flow ctrl Y/N */
 			,"Yes"								/* Locked DTE rate Y/N */
-			,cfg.mdm_init						/* Modem initialization string */
-			,cfg.mdm_spec						/* Modem special init string */
-			,cfg.mdm_term						/* Modem terminal mode init str */
-			,cfg.mdm_dial						/* Modem dial string */
-			,cfg.mdm_offh						/* Modem off-hook string */
-			,cfg.mdm_answ						/* Modem answer string */
+			,""									/* Modem initialization string */
+			,""									/* Modem special init string */
+			,""									/* Modem terminal mode init str */
+			,""									/* Modem dial string */
+			,""									/* Modem off-hook string */
+			,""									/* Modem answer string */
 			,0L
 			);
 		lfexpand(str,misc);
-- 
GitLab