Lines Matching refs:pattern
5 #include "base/strings/pattern.h"
19 static void EatSameChars(const CHAR** pattern, const CHAR* pattern_end,
23 while (*pattern != pattern_end && *string != string_end) {
24 if (!escape && IsWildcard(**pattern)) {
31 if (!escape && **pattern == '\\') {
32 escape = *pattern;
33 next(pattern, pattern_end);
38 const CHAR* pattern_next = *pattern;
43 *pattern = pattern_next;
52 *pattern = escape;
62 static void EatWildcard(const CHAR** pattern, const CHAR* end, NEXT next) {
63 while (*pattern != end) {
64 if (!IsWildcard(**pattern))
66 next(pattern, end);
72 const CHAR* pattern, const CHAR* pattern_end,
80 EatSameChars(&pattern, pattern_end, &eval, eval_end, next);
82 // If the string is empty, then the pattern must be empty too, or contains
85 EatWildcard(&pattern, pattern_end, next);
86 return pattern == pattern_end;
89 // Pattern is empty but not string, this is not a match.
90 if (pattern == pattern_end)
95 const CHAR* next_pattern = pattern;
97 if (pattern[0] == '?') {
109 // of the pattern.
110 if (pattern[0] == '*') {
122 // We reached the end of the string, let see if the pattern contains only
125 EatWildcard(&pattern, pattern_end, next);
126 if (pattern != pattern_end)
157 bool MatchPattern(const StringPiece& eval, const StringPiece& pattern) {
159 pattern.data(), pattern.data() + pattern.size(),
163 bool MatchPattern(const StringPiece16& eval, const StringPiece16& pattern) {
165 pattern.data(), pattern.data() + pattern.size(),