-char OldM[MAXBUF];
-int I,I2;
-
-if (MWC)
- return true;
-
-if ((strstr(mask,"*")==0) && (strlen(literal) != strlen(mask)))
- return 0;
- I=0;
- I2=0;
- while (I < strlen(mask))
- {
- if (I2 >= strlen(literal))
- 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 (strlen(literal)==strlen(mask))
- MWC=2;
-
+ // Fall back to regular match
+ return InspIRCd::Match(str, mask, map);