diff --git a/src/sbbs3/addfiles.c b/src/sbbs3/addfiles.c index c7f2e782dd8a39556e570c68b310d52677b6097a..fb9bf4318f0647c5667c69517591f6703d5972d0 100644 --- a/src/sbbs3/addfiles.c +++ b/src/sbbs3/addfiles.c @@ -215,11 +215,18 @@ void addlist(char *inpath, file_t f, uint dskip, uint sskip) dir=opendir(str); while(dir!=NULL && (dirent=readdir(dir))!=NULL) { - sprintf(filepath,"%s%s",str,dirent->d_name); + sprintf(tmp,"%s%s",str,dirent->d_name); + if(isdir(tmp)) + continue; +#ifdef _WIN32 + GetShortPathName(tmp, filepath, sizeof(filepath)); +#else + strcpy(filepath,tmp); +#endif f.misc=0; f.desc[0]=0; f.cdt=flength(filepath); - padfname(dirent->d_name,f.name); + padfname(getfname(filepath),f.name); printf("%s %10lu %s\n" ,f.name,f.cdt,unixtodstr(&scfg,fdate(filepath),str)); exist=findfile(&scfg,f.dir,f.name);