From b7487707a70e9790b175a5072544c5a40da4bcf2 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 3 Nov 2001 19:34:18 +0000 Subject: [PATCH] Changed wildcard use to be more Unix-like ("*" means all files). --- src/sbbs3/file.cpp | 4 +++- src/sbbs3/filedat.c | 9 ++++++--- src/sbbs3/listfile.cpp | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/sbbs3/file.cpp b/src/sbbs3/file.cpp index acb9858fd9..f822a9fc0e 100644 --- a/src/sbbs3/file.cpp +++ b/src/sbbs3/file.cpp @@ -214,7 +214,7 @@ char * sbbs_t::getfilespec(char *str) bputs(text[FileSpecStarDotStar]); if(!getstr(str,12,K_UPPER)) strcpy(str,ALLFILES); -#ifndef __unix__ +#if 0 else if(!strchr(str,'.') && strlen(str)<=8) strcat(str,".*"); #endif @@ -234,6 +234,8 @@ BOOL filematch(char *filename, char *filespec) if(filespec[c]=='*') break; else if(filespec[c]=='?') continue; else if(toupper(filename[c])!=toupper(filespec[c])) return(FALSE); + if(filespec[8]==' ') /* no extension specified */ + return(TRUE); for(c=9;c<12;c++) if(filespec[c]=='*') break; else if(filespec[c]=='?') continue; diff --git a/src/sbbs3/filedat.c b/src/sbbs3/filedat.c index e0a7520459..98bb3ee557 100644 --- a/src/sbbs3/filedat.c +++ b/src/sbbs3/filedat.c @@ -532,13 +532,16 @@ char* DLLCALL padfname(char *filename, char *str) d=c; if(filename[c]=='.') c++; while(d<8) - str[d++]=SP; - str[d++]='.'; + str[d++]=' '; + if(filename[c]>' ') /* Change "FILE" to "FILE " */ + str[d++]='.'; /* (don't add a dot if there's no extension) */ + else + str[d++]=' '; while(d<12) if(!filename[c]) break; else str[d++]=filename[c++]; while(d<12) - str[d++]=SP; + str[d++]=' '; str[d]=0; return(str); } diff --git a/src/sbbs3/listfile.cpp b/src/sbbs3/listfile.cpp index f32bd05a13..fc5b168c1d 100644 --- a/src/sbbs3/listfile.cpp +++ b/src/sbbs3/listfile.cpp @@ -151,7 +151,7 @@ int sbbs_t::listfiles(uint dirnum, char *filespec, int tofile, long mode) FREE((char *)datbuf); return(-1); } for(j=0;j<12 && m<l;j++) - if(j==8) + if(j==8 && ixbbuf[8]>' ') str[j]='.'; else str[j]=ixbbuf[m++]; /* Turns FILENAMEEXT into FILENAME.EXT */ @@ -888,7 +888,7 @@ int sbbs_t::listfileinfo(uint dirnum, char *filespec, long mode) found=-1; break; } for(i=0;i<12 && m<l;i++) - if(i==8) + if(i==8 && ixbbuf[8]>' ') str[i]='.'; else str[i]=ixbbuf[m++]; /* Turns FILENAMEEXT into FILENAME.EXT */ -- GitLab