Lines Matching full:pattern
45 * Compares a filename or pathname to a pattern.
68 rangematch(const char *pattern, int test, int flags) in rangematch() argument
73 _DIAGASSERT(pattern != NULL); in rangematch()
82 if ((negate = (*pattern == '!' || *pattern == '^')) != 0) in rangematch()
83 ++pattern; in rangematch()
85 for (ok = 0; (c = FOLDCASE(*pattern++, flags)) != ']';) { in rangematch()
87 c = FOLDCASE(*pattern++, flags); in rangematch()
90 if (*pattern == '-' in rangematch()
91 && (c2 = FOLDCASE(*(pattern + 1), flags)) != EOS && in rangematch()
93 pattern += 2; in rangematch()
95 c2 = FOLDCASE(*pattern++, flags); in rangematch()
103 return ok == negate ? NULL : pattern; in rangematch()
108 fnmatchx(const char *pattern, const char *string, int flags, size_t recursion) in fnmatchx() argument
113 _DIAGASSERT(pattern != NULL); in fnmatchx()
120 switch (c = FOLDCASE(*pattern++, flags)) { in fnmatchx()
137 c = FOLDCASE(*pattern, flags); in fnmatchx()
140 c = FOLDCASE(*++pattern, flags); in fnmatchx()
147 /* Optimize for pattern with * at end or before /. */ in fnmatchx()
164 switch ((e = fnmatchx(pattern, string, in fnmatchx()
181 if ((pattern = rangematch(pattern, in fnmatchx()
188 if ((c = FOLDCASE(*pattern++, flags)) == EOS) { in fnmatchx()
190 --pattern; in fnmatchx()
204 k5_fnmatch(const char *pattern, const char *string, int flags) in k5_fnmatch() argument
206 return fnmatchx(pattern, string, flags, 64); in k5_fnmatch()