Lines Matching refs:pattern
4225 * glob_match - match a text string against a glob-style pattern
4227 * @pattern: the glob-style pattern to be matched against
4229 * Either/both of text and pattern can be empty strings.
4231 * Match text against a glob-style pattern, with wildcards and simple sets:
4244 * This function uses one level of recursion per '*' in pattern.
4251 static int glob_match (const char *text, const char *pattern)
4255 if (*text == *pattern || *pattern == '?') {
4256 if (!*pattern++)
4259 /* Match single char against a '[' bracketed ']' pattern set */
4260 if (!*text || *pattern != '[')
4261 break; /* Not a pattern set */
4262 while (*++pattern && *pattern != ']' && *text != *pattern) {
4263 if (*pattern == '-' && *(pattern - 1) != '[')
4264 if (*text > *(pattern - 1) && *text < *(pattern + 1)) {
4265 ++pattern;
4269 if (!*pattern || *pattern == ']')
4271 while (*pattern && *pattern++ != ']');
4273 } while (*++text && *pattern);
4276 if (*pattern == '*') {
4277 if (!*++pattern)
4278 return 0; /* Match: avoid recursion at end of pattern */
4279 /* Loop to handle additional pattern chars after the wildcard */
4281 if (glob_match(text, pattern) == 0)
4286 if (!*text && !*pattern)