Lines Matching refs:pattern
46 * Compares a filename or pathname to a pattern.
79 fnmatch(const char *pattern, const char *string, int flags)
83 return (fnmatch1(pattern, string, string, flags, initial, initial));
87 fnmatch1(const char *pattern, const char *string, const char *stringstart,
99 pclen = mbrtowc(&pc, pattern, MB_LEN_MAX, &patmbs);
102 pattern += pclen;
128 c = *pattern;
131 c = *++pattern;
138 /* Optimize for pattern with * at end or before /. */
158 bt_pattern = pattern, bt_patmbs = patmbs;
171 switch (rangematch(pattern, sc, flags, &newp,
176 pattern = newp;
185 pclen = mbrtowc(&pc, pattern, MB_LEN_MAX,
189 pattern += pclen;
224 pattern = bt_pattern, patmbs = bt_patmbs;
234 rangematch(const char *pattern, wchar_t test, int flags, char **newp,
251 if ( (negate = (*pattern == '!' || *pattern == '^')) )
252 ++pattern;
263 origpat = pattern;
265 if (*pattern == ']' && pattern > origpat) {
266 pattern++;
268 } else if (*pattern == '\0') {
270 } else if (*pattern == '/' && (flags & FNM_PATHNAME)) {
272 } else if (*pattern == '\\' && !(flags & FNM_NOESCAPE))
273 pattern++;
274 pclen = mbrtowc(&c, pattern, MB_LEN_MAX, patmbs);
277 pattern += pclen;
282 if (*pattern == '-' && *(pattern + 1) != EOS &&
283 *(pattern + 1) != ']') {
284 if (*++pattern == '\\' && !(flags & FNM_NOESCAPE))
285 if (*pattern != EOS)
286 pattern++;
287 pclen = mbrtowc(&c2, pattern, MB_LEN_MAX, patmbs);
290 pattern += pclen;
307 *newp = (char *)pattern;