Lines Matching refs:pattern
42 struct URLPattern *pat = &glob->pattern[glob->size];
100 char *pattern = *patternp;
101 char *opattern = pattern;
104 pat = &glob->pattern[glob->size];
113 switch(*pattern) {
122 if(opattern == pattern)
155 if(*pattern == '}') {
156 pattern++; /* pass the closing brace */
162 ++pattern;
170 if(pattern[1]) {
171 ++pattern;
176 *buf++ = *pattern++; /* copy character to set element */
181 *patternp = pattern; /* return with the new position */
197 char *pattern = *patternp;
200 pat = &glob->pattern[glob->size];
203 if(ISALPHA(*pattern)) {
212 rc = sscanf(pattern, "%c-%c%c", &min_c, &max_c, &end_c);
218 step = strtoul(&pattern[4], &endp, 10);
219 if(errno || &pattern[4] == endp || *endp != ']')
222 pattern = endp + 1;
229 pattern += 4;
232 *posp += (pattern - *patternp);
238 /* the pattern is not well-formed */
251 else if(ISDIGIT(*pattern)) {
261 if(*pattern == '0') {
263 c = pattern;
267 instances of this pattern */
272 min_n = strtoul(pattern, &endp, 10);
273 if(errno || (endp == pattern))
279 pattern = endp + 1;
280 while(*pattern && ISBLANK(*pattern))
281 pattern++;
282 if(!ISDIGIT(*pattern)) {
287 max_n = strtoul(pattern, &endp, 10);
292 pattern = endp + 1;
294 step_n = strtoul(pattern, &endp, 10);
302 pattern = endp + 1;
310 *posp += (pattern - *patternp);
315 /* the pattern is not well-formed */
332 *patternp = pattern;
373 static CURLcode glob_parse(struct URLGlob *glob, char *pattern,
384 while(*pattern && !res) {
387 while(*pattern && *pattern != '{') {
388 if(*pattern == '[') {
391 if(!peek_ipv6(pattern, &skip) && (pattern[1] == ']'))
394 memcpy(buf, pattern, skip);
396 pattern += skip;
402 if(*pattern == '}' || *pattern == ']')
407 if(*pattern == '\\' &&
408 (*(pattern + 1) == '{' || *(pattern + 1) == '[' ||
409 *(pattern + 1) == '}' || *(pattern + 1) == ']') ) {
412 ++pattern;
415 *buf++ = *pattern++; /* copy character to literal */
425 switch(*pattern) {
430 /* process set pattern */
431 pattern++;
433 res = glob_set(glob, &pattern, &pos, amount, globindex++);
437 /* process range pattern */
438 pattern++;
440 res = glob_range(glob, &pattern, &pos, amount, globindex++);
516 if((glob->pattern[i].type == UPTSet) &&
517 (glob->pattern[i].content.Set.elements)) {
518 for(elem = glob->pattern[i].content.Set.size - 1;
521 Curl_safefree(glob->pattern[i].content.Set.elements[elem]);
523 Curl_safefree(glob->pattern[i].content.Set.elements);
546 with the rightmost pattern */
549 pat = &glob->pattern[glob->size - 1 - i];
575 printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
579 if(carry) { /* first pattern ptr has run into overflow, done! */
585 pat = &glob->pattern[i];
612 printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
651 if(glob->pattern[i].globindex == (int)num) {
652 pat = &glob->pattern[i];
681 fprintf(tool_stderr, "internal error: invalid pattern type (%d)\n",