Lines Matching refs:ptr

1317 PCRE2_SPTR ptr = *ptrptr;  in read_number()  local
1322 if (allow_sign >= 0 && ptr < ptrend) in read_number()
1324 if (*ptr == CHAR_PLUS) in read_number()
1328 ptr++; in read_number()
1330 else if (*ptr == CHAR_MINUS) in read_number()
1333 ptr++; in read_number()
1337 if (ptr >= ptrend || !IS_DIGIT(*ptr)) return FALSE; in read_number()
1338 while (ptr < ptrend && IS_DIGIT(*ptr)) in read_number()
1340 n = n * 10 + *ptr++ - CHAR_0; in read_number()
1369 *ptrptr = ptr; in read_number()
1488 PCRE2_SPTR ptr = *ptrptr; in PRIV() local
1495 if (ptr >= ptrend) in PRIV()
1501 GETCHARINCTEST(c, ptr); /* Get character value, increment pointer */ in PRIV()
1535 if (escape == ESC_N && ptr < ptrend && *ptr == CHAR_LEFT_CURLY_BRACKET) in PRIV()
1537 PCRE2_SPTR p = ptr + 1; in PRIV()
1553 ptr = p + 1; in PRIV()
1621 if (ptr >= ptrend) break; in PRIV()
1622 if (*ptr == CHAR_LEFT_CURLY_BRACKET && in PRIV()
1625 PCRE2_SPTR hptr = ptr + 1; in PRIV()
1633 ptr = hptr; /* Show where */ in PRIV()
1640 if (hptr == ptr + 1 || /* No hex digits */ in PRIV()
1646 ptr = hptr + 1; in PRIV()
1651 if (ptrend - ptr < 4) break; /* Less than 4 chars */ in PRIV()
1652 if ((cc = XDIGIT(ptr[0])) == 0xff) break; /* Not a hex digit */ in PRIV()
1653 if ((xc = XDIGIT(ptr[1])) == 0xff) break; /* Not a hex digit */ in PRIV()
1655 if ((xc = XDIGIT(ptr[2])) == 0xff) break; /* Not a hex digit */ in PRIV()
1657 if ((xc = XDIGIT(ptr[3])) == 0xff) break; /* Not a hex digit */ in PRIV()
1659 ptr += 4; in PRIV()
1705 if (ptr >= ptrend) in PRIV()
1711 if (*ptr == CHAR_LESS_THAN_SIGN || *ptr == CHAR_APOSTROPHE) in PRIV()
1720 if (*ptr == CHAR_LEFT_CURLY_BRACKET) in PRIV()
1722 PCRE2_SPTR p = ptr + 1; in PRIV()
1734 ptr = p + 1; in PRIV()
1741 if (!read_number(&ptr, ptrend, cb->bracount, MAX_GROUP_NUMBER, ERR61, &s, in PRIV()
1777 oldptr = ptr; in PRIV()
1778 ptr--; /* Back to the digit */ in PRIV()
1779 if (!read_number(&ptr, ptrend, -1, INT_MAX/10 - 1, ERR61, &s, in PRIV()
1792 ptr = oldptr; /* Put the pointer back and fall through */ in PRIV()
1812 while(i++ < 2 && ptr < ptrend && *ptr >= CHAR_0 && *ptr <= CHAR_7) in PRIV()
1813 c = c * 8 + *ptr++ - CHAR_0; in PRIV()
1823 if (ptr >= ptrend || *ptr++ != CHAR_LEFT_CURLY_BRACKET) in PRIV()
1825 ptr--; in PRIV()
1828 else if (ptr >= ptrend || *ptr == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
1834 while (ptr < ptrend && *ptr >= CHAR_0 && *ptr <= CHAR_7) in PRIV()
1836 cc = *ptr++; in PRIV()
1852 while (ptr < ptrend && *ptr >= CHAR_0 && *ptr <= CHAR_7) ptr++; in PRIV()
1855 else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
1860 ptr--; in PRIV()
1866 ptr--; in PRIV()
1879 if (ptrend - ptr < 2) break; /* Less than 2 characters */ in PRIV()
1880 if ((cc = XDIGIT(ptr[0])) == 0xff) break; /* Not a hex digit */ in PRIV()
1881 if ((xc = XDIGIT(ptr[1])) == 0xff) break; /* Not a hex digit */ in PRIV()
1883 ptr += 2; in PRIV()
1895 if (ptr < ptrend && *ptr == CHAR_LEFT_CURLY_BRACKET) in PRIV()
1900 if (++ptr >= ptrend || *ptr == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
1908 while (ptr < ptrend && (cc = XDIGIT(*ptr)) != 0xff) in PRIV()
1910 ptr++; in PRIV()
1925 while (ptr < ptrend && XDIGIT(*ptr) != 0xff) ptr++; in PRIV()
1928 else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
1933 ptr--; in PRIV()
1945 ptr--; in PRIV()
1955 if (ptr >= ptrend || (cc = XDIGIT(*ptr)) == 0xff) break; /* Not a hex digit */ in PRIV()
1956 ptr++; in PRIV()
1958 if (ptr >= ptrend || (cc = XDIGIT(*ptr)) == 0xff) break; /* Not a hex digit */ in PRIV()
1959 ptr++; in PRIV()
1984 if (ptr >= ptrend) in PRIV()
1989 c = *ptr; in PRIV()
2020 ptr++; in PRIV()
2028 *ptrptr = ptr - 1; /* Point to the character at fault */ in PRIV()
2035 *ptrptr = ptr; in PRIV()
2069 PCRE2_SPTR ptr = *ptrptr; in get_ucp() local
2072 if (ptr >= cb->end_pattern) goto ERROR_RETURN; in get_ucp()
2073 c = *ptr++; in get_ucp()
2081 if (ptr >= cb->end_pattern) goto ERROR_RETURN; in get_ucp()
2082 if (*ptr == CHAR_CIRCUMFLEX_ACCENT) in get_ucp()
2085 ptr++; in get_ucp()
2089 if (ptr >= cb->end_pattern) goto ERROR_RETURN; in get_ucp()
2090 c = *ptr++; in get_ucp()
2109 *ptrptr = ptr; in get_ucp()
2134 *ptrptr = ptr; in get_ucp()
2187 check_posix_syntax(PCRE2_SPTR ptr, PCRE2_SPTR ptrend, PCRE2_SPTR *endptr) in check_posix_syntax() argument
2190 terminator = *ptr++; /* compiler warns about "non-constant" initializer. */ in check_posix_syntax()
2192 for (; ptrend - ptr >= 2; ptr++) in check_posix_syntax()
2194 if (*ptr == CHAR_BACKSLASH && in check_posix_syntax()
2195 (ptr[1] == CHAR_RIGHT_SQUARE_BRACKET || ptr[1] == CHAR_BACKSLASH)) in check_posix_syntax()
2196 ptr++; in check_posix_syntax()
2198 else if ((*ptr == CHAR_LEFT_SQUARE_BRACKET && ptr[1] == terminator) || in check_posix_syntax()
2199 *ptr == CHAR_RIGHT_SQUARE_BRACKET) return FALSE; in check_posix_syntax()
2201 else if (*ptr == terminator && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET) in check_posix_syntax()
2203 *endptr = ptr; in check_posix_syntax()
2228 check_posix_name(PCRE2_SPTR ptr, int len) in check_posix_name() argument
2235 PRIV(strncmp_c8)(ptr, pn, (unsigned int)len) == 0) return yield; in check_posix_name()
2277 PCRE2_SPTR ptr = *ptrptr; in read_name() local
2278 BOOL is_group = (*ptr != CHAR_ASTERISK); in read_name()
2280 if (++ptr >= ptrend) /* No characters in name */ in read_name()
2287 *nameptr = ptr; in read_name()
2288 *offsetptr = (PCRE2_SIZE)(ptr - cb->start_pattern); in read_name()
2298 GETCHAR(c, ptr); in read_name()
2311 ptr++; in read_name()
2312 FORWARDCHARTEST(ptr, ptrend); in read_name()
2313 if (ptr >= ptrend) break; in read_name()
2314 GETCHAR(c, ptr); in read_name()
2328 if (is_group && IS_DIGIT(*ptr)) in read_name()
2334 while (ptr < ptrend && MAX_255(*ptr) && (cb->ctypes[*ptr] & ctype_word) != 0) in read_name()
2336 ptr++; in read_name()
2342 if (ptr > *nameptr + MAX_NAME_SIZE) in read_name()
2347 *namelenptr = ptr - *nameptr; in read_name()
2354 if (ptr == *nameptr) in read_name()
2359 if (ptr >= ptrend || *ptr != (PCRE2_UCHAR)terminator) in read_name()
2364 ptr++; in read_name()
2367 *ptrptr = ptr; in read_name()
2371 *ptrptr = ptr; in read_name()
2398 manage_callouts(PCRE2_SPTR ptr, uint32_t **pcalloutptr, BOOL auto_callout, in manage_callouts() argument
2403 if (previous_callout != NULL) previous_callout[2] = (uint32_t)(ptr - in manage_callouts()
2418 previous_callout[1] = (uint32_t)(ptr - cb->start_pattern); in manage_callouts()
2492 static int parse_regex(PCRE2_SPTR ptr, uint32_t options, BOOL *has_lookbehind, in parse_regex() argument
2546 while (ptr < ptrend) in parse_regex()
2553 thisptr = ptr; in parse_regex()
2554 GETCHARINCTEST(c, ptr); in parse_regex()
2581 while (ptr < ptrend) in parse_regex()
2606 thisptr = ptr; in parse_regex()
2607 GETCHARINCTEST(c, ptr); in parse_regex()
2614 if (c == CHAR_BACKSLASH && ptr < ptrend && *ptr == CHAR_E) in parse_regex()
2617 ptr++; /* Skip E */ in parse_regex()
2623 ptr--; /* but an empty \Q\E sequence is OK. */ in parse_regex()
2689 if (ptr - verbnamestart - 1 > (int)MAX_MARK) in parse_regex()
2691 ptr--; in parse_regex()
2711 escape = PRIV(check_escape)(&ptr, ptrend, &c, &errorcode, options, in parse_regex()
2746 if (c == CHAR_BACKSLASH && ptr < ptrend) in parse_regex()
2748 if (*ptr == CHAR_Q || *ptr == CHAR_E) in parse_regex()
2750 inescq = *ptr == CHAR_Q; in parse_regex()
2751 ptr++; in parse_regex()
2772 while (ptr < ptrend) in parse_regex()
2774 if (IS_NEWLINE(ptr)) /* For non-fixed-length newline cases, */ in parse_regex()
2776 ptr += cb->nllen; in parse_regex()
2779 ptr++; in parse_regex()
2781 if (utf) FORWARDCHARTEST(ptr, ptrend); in parse_regex()
2790 if (c == CHAR_LEFT_PARENTHESIS && ptrend - ptr >= 2 && in parse_regex()
2791 ptr[0] == CHAR_QUESTION_MARK && ptr[1] == CHAR_NUMBER_SIGN) in parse_regex()
2793 while (++ptr < ptrend && *ptr != CHAR_RIGHT_PARENTHESIS); in parse_regex()
2794 if (ptr >= ptrend) in parse_regex()
2799 ptr++; in parse_regex()
2808 (tempptr = ptr, in parse_regex()
2827 BOOL ok = c == CHAR_LEFT_PARENTHESIS && ptrend - ptr >= 3 && in parse_regex()
2828 (ptr[0] == CHAR_QUESTION_MARK || ptr[0] == CHAR_ASTERISK); in parse_regex()
2831 if (ptr[0] == CHAR_ASTERISK) /* New alpha assertion format, possibly */ in parse_regex()
2833 ok = MAX_255(ptr[1]) && (cb->ctypes[ptr[1]] & ctype_lcletter) != 0; in parse_regex()
2835 else switch(ptr[1]) /* Traditional symbolic format */ in parse_regex()
2846 ok = ptr[2] == CHAR_EQUALS_SIGN || ptr[2] == CHAR_EXCLAMATION_MARK; in parse_regex()
2856 ptr--; /* Adjust error offset */ in parse_regex()
2903 tempptr = ptr; in parse_regex()
2904 escape = PRIV(check_escape)(&ptr, ptrend, &c, &errorcode, options, in parse_regex()
2911 ptr = tempptr; in parse_regex()
2912 if (ptr >= ptrend) c = CHAR_BACKSLASH; else in parse_regex()
2914 GETCHARINCTEST(c, ptr); /* Get character value, increment pointer */ in parse_regex()
2935 offset = (PCRE2_SIZE)(ptr - cb->start_pattern - 1); in parse_regex()
3050 if (!get_ucp(&ptr, &negated, &ptype, &pdata, &errorcode, cb)) in parse_regex()
3071 if (ptr >= ptrend || (*ptr != CHAR_LEFT_CURLY_BRACKET && in parse_regex()
3072 *ptr != CHAR_LESS_THAN_SIGN && *ptr != CHAR_APOSTROPHE)) in parse_regex()
3077 terminator = (*ptr == CHAR_LESS_THAN_SIGN)? in parse_regex()
3078 CHAR_GREATER_THAN_SIGN : (*ptr == CHAR_APOSTROPHE)? in parse_regex()
3085 PCRE2_SPTR p = ptr + 1; in parse_regex()
3095 ptr = p; in parse_regex()
3103 if (!read_name(&ptr, ptrend, utf, terminator, &offset, &name, &namelen, in parse_regex()
3155 if (!read_repeat_counts(&ptr, ptrend, &min_repeat, &max_repeat, in parse_regex()
3217 if (ptrend - ptr >= 6 && in parse_regex()
3218 (PRIV(strncmp_c8)(ptr, STRING_WEIRD_STARTWORD, 6) == 0 || in parse_regex()
3219 PRIV(strncmp_c8)(ptr, STRING_WEIRD_ENDWORD, 6) == 0)) in parse_regex()
3223 if (ptr[2] == CHAR_LESS_THAN_SIGN) in parse_regex()
3246 ptr += 6; in parse_regex()
3253 if (ptr < ptrend && (*ptr == CHAR_COLON || *ptr == CHAR_DOT || in parse_regex()
3254 *ptr == CHAR_EQUALS_SIGN) && in parse_regex()
3255 check_posix_syntax(ptr, ptrend, &tempptr)) in parse_regex()
3257 errorcode = (*ptr-- == CHAR_COLON)? ERR12 : ERR13; in parse_regex()
3267 while (ptr < ptrend) in parse_regex()
3269 GETCHARINCTEST(c, ptr); in parse_regex()
3272 if (ptr < ptrend && *ptr == CHAR_E) ptr++; in parse_regex()
3273 else if (ptrend - ptr >= 3 && in parse_regex()
3274 PRIV(strncmp_c8)(ptr, STR_Q STR_BACKSLASH STR_E, 3) == 0) in parse_regex()
3275 ptr += 3; in parse_regex()
3320 if (c == CHAR_BACKSLASH && ptr < ptrend && *ptr == CHAR_E) in parse_regex()
3323 ptr++; /* Skip the 'E' */ in parse_regex()
3342 ptrend - ptr >= 3 && in parse_regex()
3343 (*ptr == CHAR_COLON || *ptr == CHAR_DOT || in parse_regex()
3344 *ptr == CHAR_EQUALS_SIGN) && in parse_regex()
3345 check_posix_syntax(ptr, ptrend, &tempptr)) in parse_regex()
3361 if (*ptr != CHAR_COLON) in parse_regex()
3367 if (*(++ptr) == CHAR_CIRCUMFLEX_ACCENT) in parse_regex()
3370 ptr++; in parse_regex()
3373 posix_class = check_posix_name(ptr, (int)(tempptr - ptr)); in parse_regex()
3379 ptr = tempptr + 2; in parse_regex()
3387 if (ptr < ptrend - 1 && *ptr == CHAR_MINUS && in parse_regex()
3388 ptr[1] != CHAR_RIGHT_SQUARE_BRACKET) in parse_regex()
3480 tempptr = ptr; in parse_regex()
3481 escape = PRIV(check_escape)(&ptr, ptrend, &c, &errorcode, options, in parse_regex()
3488 ptr = tempptr; in parse_regex()
3489 if (ptr >= ptrend) c = CHAR_BACKSLASH; else in parse_regex()
3491 GETCHARINCTEST(c, ptr); /* Get character value, increment pointer */ in parse_regex()
3518 ptr--; in parse_regex()
3597 if (!get_ucp(&ptr, &negated, &ptype, &pdata, &errorcode, cb)) in parse_regex()
3611 ptr--; in parse_regex()
3618 if (ptr < ptrend - 1 && *ptr == CHAR_MINUS && in parse_regex()
3619 ptr[1] != CHAR_RIGHT_SQUARE_BRACKET) in parse_regex()
3629 if (ptr >= ptrend) in parse_regex()
3634 GETCHARINCTEST(c, ptr); in parse_regex()
3653 if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
3658 if (*ptr != CHAR_QUESTION_MARK) in parse_regex()
3665 if (*ptr != CHAR_ASTERISK) in parse_regex()
3684 else if (ptrend - ptr <= 1 || (c = ptr[1]) == CHAR_RIGHT_PARENTHESIS) in parse_regex()
3698 if (!read_name(&ptr, ptrend, utf, 0, &offset, &name, &namelen, in parse_regex()
3700 if (ptr >= ptrend || *ptr != CHAR_COLON) in parse_regex()
3759 ptr--; in parse_regex()
3772 ptr++; in parse_regex()
3800 if (!read_name(&ptr, ptrend, utf, 0, &offset, &name, &namelen, in parse_regex()
3802 if (ptr >= ptrend || (*ptr != CHAR_COLON && in parse_regex()
3803 *ptr != CHAR_RIGHT_PARENTHESIS)) in parse_regex()
3827 if (*ptr == CHAR_COLON && ptr + 1 < ptrend && in parse_regex()
3828 ptr[1] == CHAR_RIGHT_PARENTHESIS) in parse_regex()
3829 ptr++; /* Advance to the closing parens */ in parse_regex()
3833 if (verbs[i].has_arg > 0 && *ptr != CHAR_COLON) in parse_regex()
3854 if (*ptr++ == CHAR_COLON) /* Skip past : or ) */ in parse_regex()
3876 verbnamestart = ptr; in parse_regex()
3896 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
3898 switch(*ptr) in parse_regex()
3901 if (*ptr == CHAR_MINUS && ptrend - ptr > 1 && IS_DIGIT(ptr[1])) in parse_regex()
3921 if (*ptr == CHAR_VERTICAL_LINE) in parse_regex()
3928 ptr++; in parse_regex()
3945 if (ptr < ptrend && *ptr == CHAR_CIRCUMFLEX_ACCENT) in parse_regex()
3950 ptr++; in parse_regex()
3953 while (ptr < ptrend && *ptr != CHAR_RIGHT_PARENTHESIS && in parse_regex()
3954 *ptr != CHAR_COLON) in parse_regex()
3956 switch (*ptr++) in parse_regex()
3962 ptr--; /* Correct the offset */ in parse_regex()
3984 if (ptr < ptrend && *ptr == CHAR_x) in parse_regex()
3987 ptr++; in parse_regex()
3993 ptr--; /* Correct the offset */ in parse_regex()
4015 if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4016 if (*ptr++ == CHAR_RIGHT_PARENTHESIS) in parse_regex()
4039 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4043 if (*ptr == CHAR_LESS_THAN_SIGN) in parse_regex()
4052 if (*ptr == CHAR_GREATER_THAN_SIGN) goto RECURSE_BY_NAME; in parse_regex()
4057 if (*ptr != CHAR_EQUALS_SIGN) in parse_regex()
4062 if (!read_name(&ptr, ptrend, utf, CHAR_RIGHT_PARENTHESIS, &offset, &name, in parse_regex()
4075 ptr++; in parse_regex()
4076 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4087 if (ptrend - ptr < 2 || !IS_DIGIT(ptr[1])) in parse_regex()
4097 if (!read_number(&ptr, ptrend, in parse_regex()
4098 (IS_DIGIT(*ptr))? -1:(int)(cb->bracount), /* + and - are relative */ in parse_regex()
4106 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4111 offset = (PCRE2_SIZE)(ptr - cb->start_pattern); in parse_regex()
4112 ptr++; in parse_regex()
4122 if (!read_name(&ptr, ptrend, utf, CHAR_RIGHT_PARENTHESIS, &offset, &name, in parse_regex()
4133 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4164 if (*ptr != CHAR_RIGHT_PARENTHESIS && !IS_DIGIT(*ptr)) in parse_regex()
4167 PCRE2_SPTR startptr = ptr; in parse_regex()
4172 if (*ptr == PRIV(callout_start_delims)[i]) in parse_regex()
4189 if (++ptr >= ptrend) in parse_regex()
4192 ptr = startptr; /* To give a more useful message */ in parse_regex()
4195 if (*ptr == delimiter && (++ptr >= ptrend || *ptr != delimiter)) in parse_regex()
4199 calloutlength = (PCRE2_SIZE)(ptr - startptr); in parse_regex()
4218 while (ptr < ptrend && IS_DIGIT(*ptr)) in parse_regex()
4220 n = n * 10 + *ptr++ - CHAR_0; in parse_regex()
4232 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4237 ptr++; in parse_regex()
4242 previous_callout[1] = (uint32_t)(ptr - cb->start_pattern); in parse_regex()
4267 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4278 if (*ptr == CHAR_QUESTION_MARK || *ptr == CHAR_ASTERISK) in parse_regex()
4281 ptr--; /* Pull pointer back to the opening parenthesis. */ in parse_regex()
4288 if (read_number(&ptr, ptrend, cb->bracount, MAX_GROUP_NUMBER, ERR61, &i, in parse_regex()
4297 offset = (PCRE2_SIZE)(ptr - cb->start_pattern - 2); in parse_regex()
4305 else if (ptrend - ptr >= 10 && in parse_regex()
4306 PRIV(strncmp_c8)(ptr, STRING_VERSION, 7) == 0 && in parse_regex()
4307 ptr[7] != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4313 ptr += 7; in parse_regex()
4314 if (*ptr == CHAR_GREATER_THAN_SIGN) in parse_regex()
4317 ptr++; in parse_regex()
4323 if (*ptr != CHAR_EQUALS_SIGN || (ptr++, !IS_DIGIT(*ptr))) in parse_regex()
4326 if (!read_number(&ptr, ptrend, -1, 1000, ERR79, &major, &errorcode)) in parse_regex()
4329 if (ptr >= ptrend) goto BAD_VERSION_CONDITION; in parse_regex()
4330 if (*ptr == CHAR_DOT) in parse_regex()
4332 if (++ptr >= ptrend || !IS_DIGIT(*ptr)) goto BAD_VERSION_CONDITION; in parse_regex()
4333 minor = (*ptr++ - CHAR_0) * 10; in parse_regex()
4334 if (IS_DIGIT(*ptr)) minor += *ptr++ - CHAR_0; in parse_regex()
4335 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4355 if (*ptr == CHAR_R && ptrend - ptr > 1 && ptr[1] == CHAR_AMPERSAND) in parse_regex()
4359 ptr++; in parse_regex()
4361 else if (*ptr == CHAR_LESS_THAN_SIGN) in parse_regex()
4363 else if (*ptr == CHAR_APOSTROPHE) in parse_regex()
4368 ptr--; /* Point to char before name */ in parse_regex()
4370 if (!read_name(&ptr, ptrend, utf, terminator, &offset, &name, &namelen, in parse_regex()
4378 ptr--; /* Back to closing parens */ in parse_regex()
4396 ptr--; /* Back to closing parens */ in parse_regex()
4412 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4417 ptr++; in parse_regex()
4427 ptr++; in parse_regex()
4436 ptr++; in parse_regex()
4442 ptr++; in parse_regex()
4448 ptr++; in parse_regex()
4458 if (ptrend - ptr <= 1 || in parse_regex()
4459 (ptr[1] != CHAR_EQUALS_SIGN && in parse_regex()
4460 ptr[1] != CHAR_EXCLAMATION_MARK && in parse_regex()
4461 ptr[1] != CHAR_ASTERISK)) in parse_regex()
4466 *parsed_pattern++ = (ptr[1] == CHAR_EQUALS_SIGN)? in parse_regex()
4467 META_LOOKBEHIND : (ptr[1] == CHAR_EXCLAMATION_MARK)? in parse_regex()
4472 offset = (PCRE2_SIZE)(ptr - cb->start_pattern - 2); in parse_regex()
4474 ptr += 2; in parse_regex()
4513 if (!read_name(&ptr, ptrend, utf, terminator, &offset, &name, &namelen, in parse_regex()
4659 if (inverbname && ptr >= ptrend) in parse_regex()
4668 parsed_pattern = manage_callouts(ptr, &previous_callout, auto_callout, in parse_regex()
4703 cb->erroroffset = (PCRE2_SIZE)(ptr - cb->start_pattern); in parse_regex()
4709 ptr--; in parse_regex()
9651 PCRE2_SPTR ptr; /* Current pointer in pattern */ in pcre2_compile() local
9814 ptr = pattern; in pcre2_compile()
9820 ptr[skipatstart] == CHAR_LEFT_PARENTHESIS && in pcre2_compile()
9821 ptr[skipatstart+1] == CHAR_ASTERISK) in pcre2_compile()
9829 PRIV(strncmp_c8)(ptr + skipatstart + 2, (char *)(p->name), in pcre2_compile()
9858 if (!IS_DIGIT(ptr[pp])) in pcre2_compile()
9861 ptr += pp; in pcre2_compile()
9864 while (IS_DIGIT(ptr[pp])) in pcre2_compile()
9867 c = c*10 + (ptr[pp++] - CHAR_0); in pcre2_compile()
9869 if (ptr[pp++] != CHAR_RIGHT_PARENTHESIS) in pcre2_compile()
9872 ptr += pp; in pcre2_compile()
9890 ptr += skipatstart; in pcre2_compile()
9998 for (p = ptr; p < cb.end_pattern; p++) if (*p >= META_END) big32count++; in pcre2_compile()
10032 errorcode = parse_regex(ptr, cb.external_options, &has_lookbehind, &cb); in pcre2_compile()
10486 ptr = pattern + cb.erroroffset; in pcre2_compile()
10489 *erroroffset = ptr - pattern; in pcre2_compile()