diff --git a/src/sbbs3/load_cfg.c b/src/sbbs3/load_cfg.c
index 07b064fcb3114c88c649bb6df5ba63ea5add1f91..c33bed794752aa19b136c9ae7220b496c94e6fcb 100644
--- a/src/sbbs3/load_cfg.c
+++ b/src/sbbs3/load_cfg.c
@@ -504,7 +504,7 @@ char* DLLCALL prep_dir(char* base, char* path, size_t buflen)
 		if(ch=='\\' || ch=='/')
 			sprintf(str,"%s%s",base,path);
 		else
-			sprintf(str,"%s%c%s",base,BACKSLASH,path);
+			sprintf(str,"%s%c%s",base,PATH_DELIM,path);
 	} else
 		strcpy(str,path);
 
diff --git a/src/sbbs3/logfile.cpp b/src/sbbs3/logfile.cpp
index 0872947869991e88773d490e75df76ba8e547323..6b8096337946993cb9178ba7ac5cc18cb6b7c8f6 100644
--- a/src/sbbs3/logfile.cpp
+++ b/src/sbbs3/logfile.cpp
@@ -231,11 +231,7 @@ void sbbs_t::errormsg(int line, const char *source, char action, const char *obj
 	errormsg_inside=true;
 
 	/* Don't log path to source code */
-	src=strrchr(source,BACKSLASH);
-	if(src==NULL) 
-		src=source;
-	else
-		src++;
+	src=getfname(source);
 
 	switch(action) {
 		case ERR_OPEN:
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index fd52f3eb639f77582d3941ae5d2b5abd4d26ea0d..f5ccaf5ec1b1a6fcc7dc19e41b4beb73433bb56c 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -1450,7 +1450,7 @@ void event_thread(void* arg)
 					sbbs->batch_add_list(bat_list);
 
 					sprintf(str,"%sfile%c%04u.qwk"
-						,sbbs->cfg.data_dir,BACKSLASH,sbbs->useron.number);
+						,sbbs->cfg.data_dir,PATH_DELIM,sbbs->useron.number);
 					if(sbbs->pack_qwk(str,&l,true /* pre-pack/off-line */)) {
 						eprintf("Packing completed");
 						sbbs->qwk_success(l,0,1);
@@ -1497,7 +1497,7 @@ void event_thread(void* arg)
 						sbbs->getusrsubs();
 						sbbs->batdn_total=0;
 						sprintf(str,"%sfile%c%04u.qwk"
-							,sbbs->cfg.data_dir,BACKSLASH,sbbs->useron.number);
+							,sbbs->cfg.data_dir,PATH_DELIM,sbbs->useron.number);
 						if(sbbs->pack_qwk(str,&l,true /* pre-pack */)) {
 							sbbs->qwk_success(l,0,1);
 							sbbs->putmsgptrs(); 
diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c
index 98daa43d19b6f5202ea86f4ba1e6cd20221a3f6f..9ccb17fa47029b577b636e6f79ccf8a0b34de0f2 100644
--- a/src/sbbs3/sbbs_ini.c
+++ b/src/sbbs3/sbbs_ini.c
@@ -438,12 +438,7 @@ void sbbs_read_ini(
 			=iniGetShortInt(fp,section,"MaxCgiInactivity",120);	/* seconds */
 
 
-	#ifdef __unix__
-		default_cgi_temp = "/tmp";
-	#else
-		if((default_cgi_temp = getenv("TEMP")) == NULL)
-			default_cgi_temp = nulstr;
-	#endif
+		default_cgi_temp = _PATH_TMP;
 		SAFECOPY(web->cgi_temp_dir
 			,iniGetString(fp,section,"CGITempDirectory",default_cgi_temp,value));
 
diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index fdbaae4e78c369f30a4b19e7821577e602559cd6..4aa18da52da22690c549d51f858c8d72412b3b8b 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -882,13 +882,13 @@ int main(int argc, char** argv)
 	if(!winsock_cleanup())
 		return(-1);
 
-	sprintf(ini_file,"%s%c%s.ini",ctrl_dir,BACKSLASH,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,"%s/etc/sbbs.ini",PREFIX);
 #endif
 	if(!fexistcase(ini_file))
-		sprintf(ini_file,"%s%csbbs.ini",ctrl_dir,BACKSLASH);
+		sprintf(ini_file,"%s%csbbs.ini",ctrl_dir,PATH_DELIM);
 
 	/* Initialize BBS startup structure */
     memset(&bbs_startup,0,sizeof(bbs_startup));
diff --git a/src/sbbs3/str_util.c b/src/sbbs3/str_util.c
index 8b0ac06d718a51df672dcb383c2fc70c0c79703c..bbe56f9a9b7bb5c0b8dfc71d99587b93021840f1 100644
--- a/src/sbbs3/str_util.c
+++ b/src/sbbs3/str_util.c
@@ -287,8 +287,8 @@ void backslashcolon(char *str)
     int i;
 
 	i=strlen(str);
-	if(i && str[i-1]!='\\' && str[i-1]!='/' && str[i-1]!=':') {
-		str[i]=BACKSLASH; 
+	if(i && !IS_PATH_DELIM(str[i-1]) && str[i-1]!=':') {
+		str[i]=PATH_DELIM; 
 		str[i+1]=0; 
 	}
 }
diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index a5be42b580a7769c0b57ac823e270783d88c633f..9be2877615f54d9af438539a3c9036940a4f3b01 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -84,13 +84,6 @@ extern const uchar* nular;
 #define MAX_REQUEST_LINE		1024
 #define MAX_HEADERS_SIZE		16384	/* Maximum total size of all headers */
 
-/* These probobly exists somewhere else to... ToDo */
-#ifdef _WIN32
-	#define is_slash(x)			((x)=='/' || (x)=='\\')
-#else
-	#define is_slash(x)		(x=='/')
-#endif
-
 static scfg_t	scfg;
 static BOOL		scfg_reloaded=TRUE;
 static uint 	http_threads_running=0;
@@ -1449,11 +1442,11 @@ static BOOL check_request(http_session_t * session)
 		lprintf("Path is: %s",path);
 	if(isdir(path)) {
 		last_ch=*lastchar(path);
-		if(!is_slash(last_ch))  {
+		if(!IS_PATH_DELIM(last_ch))  {
 			strcat(path,"/");
 		}
 		last_ch=*lastchar(session->req.virtual_path);
-		if(!is_slash(last_ch))  {
+		if(!IS_PATH_DELIM(last_ch))  {
 			strcat(session->req.virtual_path,"/");
 		}
 		last_slash=find_last_slash(path);
@@ -2460,8 +2453,8 @@ void DLLCALL web_server(void* arg)
 	prep_dir(startup->ctrl_dir, error_dir, sizeof(error_dir));
 
 	/* Trim off trailing slash/backslash */
-	if(*(p=lastchar(root_dir))==BACKSLASH)	*p=0;
-	if(*(p=lastchar(error_dir))==BACKSLASH)	*p=0;
+	if(IS_PATH_DELIM(*(p=lastchar(root_dir))))	*p=0;
+	if(IS_PATH_DELIM(*(p=lastchar(error_dir))))	*p=0;
 
 	uptime=0;
 	served=0;