diff --git a/src/sbbs3/scfg/scfg.c b/src/sbbs3/scfg/scfg.c
index 1037d7e809cced6b07e53efb79a6e8d35aa6f83f..e2a175c4a41e369860ca9dc386d04351af98170c 100644
--- a/src/sbbs3/scfg/scfg.c
+++ b/src/sbbs3/scfg/scfg.c
@@ -77,11 +77,8 @@ int main(int argc, char **argv)
 	char	**mopt,*p;
     char    errormsg[MAX_PATH*2];
 	int 	i,j,main_dflt=0,chat_dflt=0;
-	uint	u;
-	long	l;
 	char 	str[129];
     BOOL    door_mode=FALSE;
-	FILE	*instream;
 
     printf("\r\nSynchronet Configuration Utility (%s)  v%s  Copyright 2002 "
         "Rob Swindell\r\n",PLATFORM_DESC,VERSION);
@@ -1795,10 +1792,6 @@ int lprintf(char *fmt, ...)
 
 void bail(int code)
 {
-	char		str[256];
-	int 		i,x;
-	smbstatus_t status;
-
     if(code) {
         puts("\nHit a key...");
         getch(); }
@@ -1828,13 +1821,14 @@ void bail(int code)
 /****************************************************************************/
 void errormsg(int line, char *source,  char action, char *object, ulong access)
 {
-	char scrn_buf[MAX_BFLN];
     char actstr[256];
 
 #if !defined(__unix__)
+	char scrn_buf[MAX_BFLN];
     gettext(1,1,80,uifc.scrn_len,scrn_buf);
     clrscr();
 #endif
+
     switch(action) {
         case ERR_OPEN:
             strcpy(actstr,"opening");
diff --git a/src/sbbs3/scfg/scfg.h b/src/sbbs3/scfg/scfg.h
index bf5dbfe7a27e7a6bd305d8b6b940fcdd40e84e41..4251800781096c6fbef5edcd039026088f7a5736 100644
--- a/src/sbbs3/scfg/scfg.h
+++ b/src/sbbs3/scfg/scfg.h
@@ -36,6 +36,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "conwrap.h"
 #include "uifc.h"
 #include "sbbs.h"
 
@@ -74,29 +75,37 @@ extern int	backup_level;
 
 void bail(int code);
 void errormsg(int line, char *source,  char action, char *object, ulong access);
+int	 delfiles(char *inpath, char *spec);
+void clearptrs(int subnum);
 int  save_changes(int mode);
-void rerun_nodes();
-void node_menu();
-void node_cfg();
+void rerun_nodes(void);
+void node_menu(void);
+void node_cfg(void);
 void results(int i);
-void sys_cfg();
-void net_cfg();
-void msgs_cfg();
+void sys_cfg(void);
+void net_cfg(void);
+void msgs_cfg(void);
+void msg_opts(void);
 void sub_cfg(uint grpnum);
-void xfer_cfg();
-void libs_cfg();
+void xfer_cfg(void);
+void xfer_opts(void);
+void libs_cfg(void);
 void dir_cfg(uint libnum);
-void xprogs_cfg();
-void fevents_cfg();
-void tevents_cfg();
-void xtrn_cfg();
-void swap_cfg();
-void xtrnsec_cfg();
-void page_cfg();
-void xedit_cfg();
-void txt_cfg();
-void shell_cfg();
-void init_mdms();
+void xprogs_cfg(void);
+void fevents_cfg(void);
+void tevents_cfg(void);
+void xtrn_cfg(uint section);
+void swap_cfg(void);
+void xtrnsec_cfg(void);
+int  natvpgm_cfg(void);
+void page_cfg(void);
+void xedit_cfg(void);
+void txt_cfg(void);
+void shell_cfg(void);
+void init_mdms(void);
+void guru_cfg(void);
+void actsets_cfg(void);
+void chan_cfg(void);
 void mdm_cfg(int mdmnum);
 int export_mdm(char *fname);
 char code_ok(char *str);
diff --git a/src/sbbs3/scfg/scfgchat.c b/src/sbbs3/scfg/scfgchat.c
index 10a1af0769459bd07ef22282900728556daa6396..bea2c4413e5be58d3c0169b825596631f8683ab2 100644
--- a/src/sbbs3/scfg/scfgchat.c
+++ b/src/sbbs3/scfg/scfgchat.c
@@ -45,7 +45,7 @@ void page_cfg()
 
 while(1) {
 	for(i=0;i<cfg.total_pages && i<MAX_OPTS;i++)
-		sprintf(opt[i],"%-40.40s %.-20s",cfg.page[i]->cmd,cfg.page[i]->arstr);
+		sprintf(opt[i],"%-40.40s %-.20s",cfg.page[i]->cmd,cfg.page[i]->arstr);
 	opt[i][0]=0;
 	uifc.savnum=0;
 	j=WIN_ACT|WIN_SAV|WIN_RHT|WIN_BOT;
@@ -448,7 +448,7 @@ void chatact_cfg(uint setnum)
 {
 	static int chatact_dflt,chatact_bar;
 	char str[128],cmd[128],out[128];
-	int j,k;
+	int j;
 	uint i,n,chatnum[MAX_OPTS+1];
 	static chatact_t savchatact;
 
diff --git a/src/sbbs3/scfg/scfgnode.c b/src/sbbs3/scfg/scfgnode.c
index 3c8f4dfe7fe662578134a08d58a8a4ae317b5e42..3cd413e9bd18e0a5743ae1a48e0042248f86bb7d 100644
--- a/src/sbbs3/scfg/scfgnode.c
+++ b/src/sbbs3/scfg/scfgnode.c
@@ -37,7 +37,7 @@
 
 void node_menu()
 {
-	char	done,str[81],savnode=0;
+	char	str[81],savnode=0;
 	int 	i,j;
 	static int node_menu_dflt, node_bar;
 
@@ -177,7 +177,7 @@ void node_cfg()
 	static	int node_dflt;
 	char	done,str[81];
 	static	int adv_dflt,tog_dflt,tog_bar;
-	int 	i,j;
+	int 	i;
 
 while(1) {
 	i=0;
diff --git a/src/sbbs3/scfg/scfgsub.c b/src/sbbs3/scfg/scfgsub.c
index cad96b6a21446021522e8a0780758a6a499688e9..60ddc6f0bf5e460c4ab5f32d344144ff04e69216 100644
--- a/src/sbbs3/scfg/scfgsub.c
+++ b/src/sbbs3/scfg/scfgsub.c
@@ -248,7 +248,7 @@ If you want to delete all the messages for this sub-board, select Yes.
 			,cfg.sub[i]->op_arstr);
 		sprintf(opt[n++],"%-27.27s%.40s","Moderated Posting User"
 			,cfg.sub[i]->mod_arstr);
-		sprintf(opt[n++],"%-27.27s%u","Maximum Messages"
+		sprintf(opt[n++],"%-27.27s%lu","Maximum Messages"
             ,cfg.sub[i]->maxmsgs);
 		if(cfg.sub[i]->maxage)
             sprintf(str,"Enabled (%u days old)",cfg.sub[i]->maxage);
@@ -370,7 +370,7 @@ sub-board's name and group name.
 				getar(str,cfg.sub[i]->mod_arstr);
                 break;
 			case 10:
-				sprintf(str,"%u",cfg.sub[i]->maxmsgs);
+				sprintf(str,"%lu",cfg.sub[i]->maxmsgs);
                 SETHELP(WHERE);
 /*
 Maximum Number of Messages:
@@ -400,7 +400,7 @@ the sub-board.
                 cfg.sub[i]->misc|=SUB_HDRMOD;
 				break;
 			case 12:
-				sprintf(str,"%u",cfg.sub[i]->maxcrcs);
+				sprintf(str,"%lu",cfg.sub[i]->maxcrcs);
 				SETHELP(WHERE);
 /*
 Maximum Number of CRCs:
diff --git a/src/sbbs3/scfg/scfgsys.c b/src/sbbs3/scfg/scfgsys.c
index 63090d3294a67373e5654b2cd65be6fe3f504eda..5cb1cf846fb960d9a778def7196fa2d3f197856a 100644
--- a/src/sbbs3/scfg/scfgsys.c
+++ b/src/sbbs3/scfg/scfgsys.c
@@ -38,8 +38,8 @@
 void sys_cfg(void)
 {
 	static int sys_dflt,adv_dflt,tog_dflt,new_dflt;
-	char str[81],str2[81],done=0,*dupehelp;
-	int i,j,k,dflt,bar,savchanges;
+	char str[81],done=0;
+	int i,j,k,dflt,bar;
 
 while(1) {
 	i=0;
diff --git a/src/sbbs3/scfg/scfgxtrn.c b/src/sbbs3/scfg/scfgxtrn.c
index 2a54a84945b9a5e8e0637061efec323b9e1f3e2c..efa95f514ab069993b9434e3df2de56be94a2b11 100644
--- a/src/sbbs3/scfg/scfgxtrn.c
+++ b/src/sbbs3/scfg/scfgxtrn.c
@@ -47,7 +47,6 @@ void xprogs_cfg()
 {
 	static int xprogs_dflt;
 	int 	i;
-	char	str[81];
 
 while(1) {
 	i=0;
@@ -100,7 +99,6 @@ online external programs (doors).
 void fevents_cfg()
 {
 	static int event_dflt;
-	char str[81],*p;
 	int i;
 
 while(1) {
@@ -1632,7 +1630,7 @@ int natvpgm_cfg()
 {
 	static int dflt,bar;
 	char str[81];
-	int j,k;
+	int j;
 	uint i;
 
 while(1) {
@@ -1892,7 +1890,7 @@ abreviation of the name.
 void hotkey_cfg(void)
 {
 	static int dflt,dfltopt,bar;
-	char str[81],done=0,*p;
+	char str[81],done=0;
 	int j,k;
 	uint i;
 	static hotkey_t savhotkey;