Lines Matching refs:pat
751 * nsc_strmatch (char *s, char *pat)
763 nsc_strmatch(char *s, char *pat)
767 for (; *pat; pat++, s++) {
768 if (*pat == '*') {
769 while (*pat == '*')
770 pat++;
772 if (!*pat)
776 if (*pat == '[' || *pat == '?' || *pat == *s)
777 if (nsc_strmatch(s, pat))
785 if (*pat == '[') {
786 if ((neg = (*++pat == '^')) != 0)
787 pat++;
789 while (*pat) {
790 if (*pat == *s)
793 if (pat[1] == '-' && pat[2] != ']') {
794 if (*pat <= *s && *s <= pat[2])
796 pat += 2;
799 if (*++pat == ']') {
807 while (*pat && *++pat != ']')
810 if (!*pat || neg)
816 if (*pat != '?' && *pat != *s)