-char OldM[MAXBUF];
-int I,I2;
-
-if (MWC)
- return true;
-
-int lenliteral = strlen(literal);
-
-if ((strchr(mask,'*')==0) && (lenliteral != (strlen(mask))))
- return 0;
- I=0;
- I2=0;
- while (I < strlen(mask))
- {
- if (I2 >= lenliteral)
- return 0;
-
- if ((mask[I]=='*') && (MWC==0))
- {
- strlcpy(OldM,mask,MAXBUF);
-
- Delete(mask,I);
-
- while (strlen(mask)<255)
- {
- match2(literal,mask);
- if (MWC==2)
- return 1;
-
- Insert("?",mask,I);
- }
- strlcpy(mask,OldM,MAXBUF);
- Delete(mask,I);
- Insert("?",mask,I);
- }
- if (mask[I]=='?')
- {
- I++;
- I2++;
- continue;
- }
- if (mask[I] != literal[I2])
- return 0;
- if (MWC)
- return 1;
- I++;
- I2++;
- }
- if (lenliteral==strlen(mask))
- MWC=2;