From ad4d19948379543063ff74c2fb87c3d46d97e573 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sun, 13 Oct 2002 08:11:52 +0000
Subject: [PATCH] <code>.lst files (alternative to FILES.BBS) only worked if in
 the current dir. Fixed more file case issues with FILES.BBS.

---
 src/sbbs3/addfiles.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/addfiles.c b/src/sbbs3/addfiles.c
index 154210d9e1..888ac3f01b 100644
--- a/src/sbbs3/addfiles.c
+++ b/src/sbbs3/addfiles.c
@@ -323,6 +323,7 @@ void addlist(char *inpath, file_t f, uint dskip, uint sskip)
 			,errno,strerror(errno),listpath);
 		sprintf(listpath,"%s%s",cur_altpath ? scfg.altpath[cur_altpath-1]
 				: scfg.dir[f.dir]->path,inpath);
+		fexistcase(listpath);
 		if((stream=fopen(listpath,"r"))==NULL) {
 			printf("Can't open: %s\n"
 				   "        or: %s\n",inpath,listpath);
@@ -903,7 +904,7 @@ int main(int argc, char **argv)
 				addlist("",f,desc_offset,size_offset);
 				continue; 
 			}
-			sprintf(str,"%s.lst",scfg.dir[f.dir]->code);
+			sprintf(str,"%s%s.lst",scfg.dir[f.dir]->path,scfg.dir[f.dir]->code);
 			if(fexistcase(str) && flength(str)>0L) {
 				printf("Auto-adding %s\n",str);
 				addlist(str,f,desc_offset,size_offset);
@@ -924,9 +925,9 @@ int main(int argc, char **argv)
 
 	else {
 		if(!listgiven && !namegiven) {
-			sprintf(str,"%s.lst",scfg.dir[f.dir]->code);
+			sprintf(str,"%s%s.lst",scfg.dir[f.dir]->path, scfg.dir[f.dir]->code);
 			if(!fexistcase(str) || flength(str)<=0L)
-				strcpy(str,"FILES.BBS");
+				sprintf(str,"%s%s",scfg.dir[f.dir]->path, auto_name);
 			addlist(str,f,desc_offset,size_offset);
 			if(mode&SYNC_LIST)
 				synclist(str,f.dir); 
-- 
GitLab