Lines Matching refs:pattern

96 TrackerString::MatchesRegExp(const char* pattern, bool caseSensitivity) const
98 BString patternString(pattern);
427 // MatchesBracketExpression() assumes 'pattern' to point to the
433 const char* pattern, bool caseSensitivity) const
443 bool inverse = *pattern == '^' || *pattern == '!';
447 pattern++;
449 while (!match && *pattern != ']' && *pattern != '\0') {
450 switch (*pattern) {
453 char start = ConditionalToLower(*(pattern - 1),
455 char stop = ConditionalToLower(*(pattern + 1),
477 match = UTF8CharsAreEqual(string, pattern);
479 match = CharsAreEqual(testChar, *pattern, caseSensitivity);
484 pattern++;
485 if (IsInsideGlyph(pattern[0]))
486 pattern = MoveToEndOfGlyph(pattern);
492 if (*pattern == '\0')
500 TrackerString::StringMatchesPattern(const char* string, const char* pattern,
512 if (string == NULL || pattern == NULL)
515 while (*pattern != '\0') {
516 switch (*pattern) {
518 pattern++;
528 while (*pattern == '*' || *pattern == '?') {
529 pattern++;
530 if (*pattern == '?' && string != '\0') {
537 if (*pattern == '\0') {
543 const char* pBefore = pattern - 1;
545 if (*pattern == '[') {
546 pattern++;
549 match = MatchesBracketExpression(string++, pattern,
553 while (*pattern != ']' && *pattern != '\0') {
555 pattern++;
558 if (*pattern == '\0') {
566 match = UTF8CharsAreEqual(string++, pattern);
568 match = CharsAreEqual(*string++, *pattern,
585 pattern++;
586 if (IsInsideGlyph(pattern[0]))
587 pattern = MoveToEndOfGlyph(pattern);
593 pattern++;
595 if (!MatchesBracketExpression(string, pattern,
598 pattern = pStorage[--patternLevel];
604 while (*pattern != ']' && *pattern != '\0')
605 pattern++;
608 if (*pattern == '\0')
614 pattern++;
622 equal = UTF8CharsAreEqual(string, pattern);
624 equal = CharsAreEqual(*string, *pattern, caseSensitivity);
627 pattern++;
628 if (IsInsideGlyph(pattern[0]))
629 pattern = MoveToEndOfGlyph(pattern);
634 pattern = pStorage[--patternLevel];
643 if (*pattern == '\0' && *string != '\0' && patternLevel > 0) {
644 pattern = pStorage[--patternLevel];
649 return *string == '\0' && *pattern == '\0';