From d63d5a1a212556920f33e01c846207384510ea31 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 21 Oct 2004 03:26:39 +0000 Subject: [PATCH] Eliminate potential double-slash/backslash in filename returned from sbbs_get_ini_fname(). --- src/sbbs3/sbbs_ini.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c index 3bbaf4c3b6..9833f85c14 100644 --- a/src/sbbs3/sbbs_ini.c +++ b/src/sbbs3/sbbs_ini.c @@ -52,7 +52,8 @@ static const char* strLogMask="LogMask"; void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* pHostName) { char host_name[128]; - + char path[MAX_PATH+1]; + if(pHostName==NULL) { #if defined(_WINSOCKAPI_) WSADATA WSAData; @@ -64,13 +65,15 @@ void sbbs_get_ini_fname(char* ini_file, char* ctrl_dir, char* pHostName) #endif pHostName=host_name; } - sprintf(ini_file,"%s%c%s.ini",ctrl_dir,PATH_DELIM,pHostName); + SAFECOPY(path,ctrl_dir); + backslash(path); + sprintf(ini_file,"%s.ini",path,pHostName); #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); + sprintf(ini_file,"%ssbbs.ini",path); } static void read_ini_globals(FILE* fp, global_startup_t* global) -- GitLab