From d9907cdcd64f6590addb053ff614f0701801f71a Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sun, 21 Jul 2002 05:28:36 +0000
Subject: [PATCH] Introduced new fexistcase() function to fix user-supplied
 (DOS) filename case.

---
 src/sbbs3/ftpsrvr.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index f208e44657..d19cba1894 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -1714,12 +1714,15 @@ static void receive_thread(void* arg)
 						break;
 				if(i<scfg.total_fextrs) {
 					sprintf(tmp,"%sFILE_ID.DIZ",scfg.temp_dir);
-					remove(tmp);
+					if(fexistcase(tmp))
+						remove(tmp);
 					system(cmdstr(xfer.user,scfg.fextr[i]->cmd,fname,"FILE_ID.DIZ",cmd));
-					if(!fexist(tmp)) {
+					if(!fexistcase(tmp)) {
 						sprintf(tmp,"%sDESC.SDI",scfg.temp_dir);
-						remove(tmp);
+						if(fexistcase(tmp))
+							remove(tmp);
 						system(cmdstr(xfer.user,scfg.fextr[i]->cmd,fname,"DESC.SDI",cmd)); 
+						fexistcase(tmp);	/* fixes filename case */
 					}
 					if((file=nopen(tmp,O_RDONLY))!=-1) {
 						memset(ext,0,sizeof(ext));
-- 
GitLab