Lines Matching refs:pattern

145 isValidPattern(char* pattern)
147 while (*pattern) {
148 switch (*pattern++) {
150 // the escape character must not be at the end of the pattern
151 if (!*pattern++)
156 if (pattern[0] == ']' || !pattern[0])
159 while (*pattern != ']') {
160 if (*pattern == '\\' && !*++pattern)
163 if (!*pattern)
166 if (pattern[0] == '-' && pattern[1] == '-')
169 pattern++;
178 /*! Matches the string against the given wildcard pattern.
183 matchString(char* pattern, char* string)
185 while (*pattern) {
186 // end of string == valid end of pattern?
188 while (pattern[0] == '*')
189 pattern++;
190 return !pattern[0] ? MATCH_OK : NO_MATCH;
193 switch (*pattern++) {
204 // compact pattern
206 if (pattern[0] == '?') {
209 } else if (pattern[0] != '*')
212 pattern++;
215 // if the pattern is done, we have matched the string
216 if (!pattern[0])
221 if (pattern[0] == string[0]
222 || pattern[0] == '['
223 || pattern[0] == '\\') {
224 status_t status = matchString(pattern, string);
242 if (pattern[0] == '^' || pattern[0] == '!') {
244 pattern++;
247 if (!pattern[0] || pattern[0] == ']')
253 while (pattern[0] != ']') {
254 if (!pattern[0])
257 if (pattern[0] == '\\')
258 pattern++;
260 uint32 first = utf8ToUnicode(&pattern);
266 } else if (pattern[0] == '-' && pattern[1] != ']'
267 && pattern[1]) {
268 pattern++;
270 if (pattern[0] == '\\') {
271 pattern++;
272 if (!pattern[0])
275 uint32 last = utf8ToUnicode(&pattern);
288 while (pattern[0] != ']') {
289 if (!pattern[0])
291 pattern++;
293 pattern++;
300 if (!pattern[0])
304 if (pattern[-1] != string[0])