From 5edd4ff1075bec7120609a8041d3547da0434034 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sat, 27 Sep 2003 10:59:24 +0000
Subject: [PATCH] Created sbbs_get_ini_fname() to handle the creation of the
 startup .ini filename for a specific instance, in one common place.

---
 src/sbbs3/ntsvcs.c            |  7 ++-----
 src/sbbs3/sbbs_ini.c          | 10 ++++++++++
 src/sbbs3/sbbs_ini.h          |  6 ++++++
 src/sbbs3/sbbscon.c           |  8 +-------
 src/sbbs3/umonitor/umonitor.c |  9 ++-------
 5 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/sbbs3/ntsvcs.c b/src/sbbs3/ntsvcs.c
index 74e2b8a641..693bd5e71f 100644
--- a/src/sbbs3/ntsvcs.c
+++ b/src/sbbs3/ntsvcs.c
@@ -599,11 +599,8 @@ int main(int argc, char** argv)
 	if(!winsock_cleanup())
 		return(-1);
 
-	if(ini_file[0]==0) {	/* INI file not specified on command-line */
-		sprintf(ini_file,"%s%c%s.ini",ctrl_dir,PATH_DELIM,host_name);
-		if(!fexistcase(ini_file))
-			sprintf(ini_file,"%s%csbbs.ini",ctrl_dir,PATH_DELIM);
-	}
+	if(ini_file[0]==0) 	/* INI file not specified on command-line */
+		sbbs_get_ini_fname(ini_file, ctrl_dir, host_name);
 
 	/* Initialize BBS startup structure */
     memset(&bbs_startup,0,sizeof(bbs_startup));
diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c
index ff675bf571..3e729642a5 100644
--- a/src/sbbs3/sbbs_ini.c
+++ b/src/sbbs3/sbbs_ini.c
@@ -140,6 +140,16 @@ static ini_bitdesc_t service_options[] = {
 	{ -1							,NULL					}
 };
 
+void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* host_name)
+{
+	sprintf(ini_file,"%s%c%s.ini",ctrl_dir,PATH_DELIM,host_name);
+#if defined(__unix__) && defined(PREFIX)
+	if(!fexistcase(ini_file))
+		sprintf(ini_file,PREFIX"/etc/sbbs.ini");
+#endif
+	if(!fexistcase(ini_file))
+		sprintf(ini_file,"%s%csbbs.ini",ctrl_dir,PATH_DELIM);
+}
 
 void sbbs_read_ini(
 	 FILE*					fp
diff --git a/src/sbbs3/sbbs_ini.h b/src/sbbs3/sbbs_ini.h
index 37caa9987a..6a80771fe0 100644
--- a/src/sbbs3/sbbs_ini.h
+++ b/src/sbbs3/sbbs_ini.h
@@ -56,6 +56,12 @@
 extern "C" {
 #endif
 
+void sbbs_get_ini_fname(
+	 char* ini_file
+	,char* ctrl_dir
+	,char* host_name
+	);
+
 void sbbs_read_ini(
 	 FILE*					fp
 	,BOOL*					run_bbs
diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index be381bd907..b21e75823a 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -944,13 +944,7 @@ int main(int argc, char** argv)
 	if(!winsock_cleanup())
 		return(-1);
 
-	sprintf(ini_file,"%s%c%s.ini",ctrl_dir,PATH_DELIM,host_name);
-#if defined(__unix__) && defined(PREFIX)
-	if(!fexistcase(ini_file))
-		sprintf(ini_file,PREFIX"/etc/sbbs.ini");
-#endif
-	if(!fexistcase(ini_file))
-		sprintf(ini_file,"%s%csbbs.ini",ctrl_dir,PATH_DELIM);
+	sbbs_get_ini_fname(ini_file, ctrl_dir, host_name);
 
 	/* Initialize BBS startup structure */
     memset(&bbs_startup,0,sizeof(bbs_startup));
diff --git a/src/sbbs3/umonitor/umonitor.c b/src/sbbs3/umonitor/umonitor.c
index 60a3ed3948..08ab912150 100644
--- a/src/sbbs3/umonitor/umonitor.c
+++ b/src/sbbs3/umonitor/umonitor.c
@@ -410,13 +410,8 @@ int main(int argc, char** argv)  {
 		strcat(ctrl_dir,"/");
 
 	gethostname(str,sizeof(str)-1);
-	sprintf(ini_file,"%s%c%s.ini",ctrl_dir,PATH_DELIM,str);
-#if defined(PREFIX)
-	if(!fexistcase(ini_file))
-		sprintf(ini_file,"%s/etc/sbbs.ini",PREFIX);
-#endif
-	if(!fexistcase(ini_file))
-		sprintf(ini_file,"%s%csbbs.ini",ctrl_dir,PATH_DELIM);
+
+	sbbs_get_ini_fname(ini_file, ctrl_dir, str);
 
 	/* Initialize BBS startup structure */
     memset(&bbs_startup,0,sizeof(bbs_startup));
-- 
GitLab