diff --git a/src/sbbs3/scfg/scfgxfr2.c b/src/sbbs3/scfg/scfgxfr2.c index f45c9159a25e74dbcc7306b04e2ba645369a20ec..f09df723cbfcfb7e93c803cc4478aae24bba771d 100644 --- a/src/sbbs3/scfg/scfgxfr2.c +++ b/src/sbbs3/scfg/scfgxfr2.c @@ -252,17 +252,20 @@ static void append_dir_list(const char* parent, const char* dir, FILE* fp, int d globfree(&g); } -BOOL create_raw_dir_list(const char* list_file) +BOOL create_raw_dir_list(char* list_file) { char path[MAX_PATH+1]; + char fname[MAX_PATH+1] = "dirs.raw"; char* p; int k=0; bool include_empty_dirs; FILE* fp; SAFECOPY(path, list_file); - if((p=getfname(path))!=NULL) + if((p=getfname(path))!=NULL) { + SAFECOPY(fname, p); *p=0; + } if(uifc.input(WIN_MID|WIN_SAV,0,0,"Parent Directory",path,sizeof(path)-1 ,K_EDIT)<1) return(FALSE); @@ -276,9 +279,12 @@ BOOL create_raw_dir_list(const char* list_file) if(k<0) return(FALSE); if((fp=fopen(list_file,"w"))==NULL) { - SAFEPRINTF2(path,"Create Failure (%u): %s", errno, list_file); - uifc.msg(path); - return(FALSE); + strcpy(list_file, fname); + if((fp=fopen(list_file,"w"))==NULL) { + SAFEPRINTF2(path,"Create Failure (%u): %s", errno, list_file); + uifc.msg(path); + return(FALSE); + } } backslash(path); uifc.pop("Scanning Directories...");