Lines Matching refs:pattern

104 TrackerString::MatchesRegExp(const char* pattern, bool caseSensitivity) const
106 BString patternString(pattern);
166 // MatchesBracketExpression() assumes 'pattern' to point to the
172 const char* pattern, bool caseSensitivity) const
182 bool inverse = *pattern == '^' || *pattern == '!';
186 pattern++;
188 while (!match && *pattern != ']' && *pattern != '\0') {
189 switch (*pattern) {
192 char start = ConditionalToLower(*(pattern - 1),
194 char stop = ConditionalToLower(*(pattern + 1),
216 match = UTF8CharsAreEqual(string, pattern);
218 match = CharsAreEqual(testChar, *pattern, caseSensitivity);
223 pattern++;
224 if (IsInsideGlyph(pattern[0]))
225 pattern = MoveToEndOfGlyph(pattern);
231 if (*pattern == '\0')
239 TrackerString::StringMatchesPattern(const char* string, const char* pattern,
251 if (string == NULL || pattern == NULL)
254 while (*pattern != '\0') {
255 switch (*pattern) {
257 pattern++;
266 while (*pattern == '*' || *pattern == '?') {
267 pattern++;
268 if (*pattern == '?' && *string != '\0') {
275 if (*pattern == '\0') {
281 const char* pBefore = pattern - 1;
283 if (*pattern == '[') {
284 pattern++;
287 match = MatchesBracketExpression(string++, pattern,
291 while (*pattern != ']' && *pattern != '\0') {
293 pattern++;
296 if (*pattern == '\0') {
304 match = UTF8CharsAreEqual(string++, pattern);
306 match = CharsAreEqual(*string++, *pattern,
323 pattern++;
324 if (IsInsideGlyph(pattern[0]))
325 pattern = MoveToEndOfGlyph(pattern);
331 pattern++;
333 if (!MatchesBracketExpression(string, pattern,
336 pattern = pStorage[--patternLevel];
342 while (*pattern != ']' && *pattern != '\0')
343 pattern++;
346 if (*pattern == '\0')
352 pattern++;
360 equal = UTF8CharsAreEqual(string, pattern);
362 equal = CharsAreEqual(*string, *pattern, caseSensitivity);
365 pattern++;
366 if (IsInsideGlyph(pattern[0]))
367 pattern = MoveToEndOfGlyph(pattern);
372 pattern = pStorage[--patternLevel];
380 if (*pattern == '\0' && *string != '\0' && patternLevel > 0) {
381 pattern = pStorage[--patternLevel];
386 return *string == '\0' && *pattern == '\0';