diff --git a/src/sbbs3/str.cpp b/src/sbbs3/str.cpp index 690628ad9defcdf35c0f026c16f4629a377a42d0..301ae114108ddb531e141ae3bed8021904e8ce35 100644 --- a/src/sbbs3/str.cpp +++ b/src/sbbs3/str.cpp @@ -745,6 +745,7 @@ extern "C" BOOL DLLCALL trashcan(scfg_t* cfg, char* insearch, char* name) char str[128]; char search[81]; int c; + int i; BOOL found; FILE* stream; @@ -786,12 +787,20 @@ extern "C" BOOL DLLCALL trashcan(scfg_t* cfg, char* insearch, char* name) found=!found; } - else if(p[c]=='^') { + else if(p[c]=='^' || p[c]=='*') { p[c]=0; if(!strncmp(p,search,c)) found=!found; } + else if(p[0]=='*') { + i=strlen(search); + if(i<c) + continue; + if(!strncmp(p+1,search+(i-c),c)) + found=!found; + } + else if(!strcmp(p,search)) found=!found; }