Lines Matching refs:ptr

1329 PCRE2_SPTR ptr = *ptrptr;  in read_number()  local
1334 if (allow_sign >= 0 && ptr < ptrend) in read_number()
1336 if (*ptr == CHAR_PLUS) in read_number()
1340 ptr++; in read_number()
1342 else if (*ptr == CHAR_MINUS) in read_number()
1345 ptr++; in read_number()
1349 if (ptr >= ptrend || !IS_DIGIT(*ptr)) return FALSE; in read_number()
1350 while (ptr < ptrend && IS_DIGIT(*ptr)) in read_number()
1352 n = n * 10 + *ptr++ - CHAR_0; in read_number()
1381 *ptrptr = ptr; in read_number()
1557 PCRE2_SPTR ptr = *ptrptr; in PRIV() local
1564 if (ptr >= ptrend) in PRIV()
1570 GETCHARINCTEST(c, ptr); /* Get character value, increment pointer */ in PRIV()
1604 if (escape == ESC_N && ptr < ptrend && *ptr == CHAR_LEFT_CURLY_BRACKET) in PRIV()
1606 PCRE2_SPTR p = ptr + 1; in PRIV()
1626 ptr = p + 2; in PRIV()
1694 if (ptr >= ptrend) break; in PRIV()
1695 if (*ptr == CHAR_LEFT_CURLY_BRACKET && in PRIV()
1698 PCRE2_SPTR hptr = ptr + 1; in PRIV()
1706 ptr = hptr; /* Show where */ in PRIV()
1713 if (hptr == ptr + 1 || /* No hex digits */ in PRIV()
1718 ptr++; /* Skip { */ in PRIV()
1723 ptr = hptr + 1; in PRIV()
1728 if (ptrend - ptr < 4) break; /* Less than 4 chars */ in PRIV()
1729 if ((cc = XDIGIT(ptr[0])) == 0xff) break; /* Not a hex digit */ in PRIV()
1730 if ((xc = XDIGIT(ptr[1])) == 0xff) break; /* Not a hex digit */ in PRIV()
1732 if ((xc = XDIGIT(ptr[2])) == 0xff) break; /* Not a hex digit */ in PRIV()
1734 if ((xc = XDIGIT(ptr[3])) == 0xff) break; /* Not a hex digit */ in PRIV()
1736 ptr += 4; in PRIV()
1782 if (ptr >= ptrend) in PRIV()
1788 if (*ptr == CHAR_LESS_THAN_SIGN || *ptr == CHAR_APOSTROPHE) in PRIV()
1797 if (*ptr == CHAR_LEFT_CURLY_BRACKET) in PRIV()
1799 PCRE2_SPTR p = ptr + 1; in PRIV()
1815 ptr = p + 1; in PRIV()
1822 if (!read_number(&ptr, ptrend, cb->bracount, MAX_GROUP_NUMBER, ERR61, &s, in PRIV()
1858 oldptr = ptr; in PRIV()
1859 ptr--; /* Back to the digit */ in PRIV()
1869 if (read_number(&ptr, ptrend, -1, INT_MAX/10 - 1, 0, &s, errorcodeptr) && in PRIV()
1877 ptr = oldptr; /* Put the pointer back and fall through */ in PRIV()
1897 while(i++ < 2 && ptr < ptrend && *ptr >= CHAR_0 && *ptr <= CHAR_7) in PRIV()
1898 c = c * 8 + *ptr++ - CHAR_0; in PRIV()
1909 if (ptr >= ptrend || *ptr++ != CHAR_LEFT_CURLY_BRACKET) in PRIV()
1911 ptr--; in PRIV()
1916 while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; in PRIV()
1917 if (ptr >= ptrend || *ptr == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
1925 while (ptr < ptrend && *ptr >= CHAR_0 && *ptr <= CHAR_7) in PRIV()
1927 cc = *ptr++; in PRIV()
1942 while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; in PRIV()
1946 while (ptr < ptrend && *ptr >= CHAR_0 && *ptr <= CHAR_7) ptr++; in PRIV()
1949 else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
1954 ptr--; in PRIV()
1960 ptr--; in PRIV()
1972 if (ptrend - ptr < 2) break; /* Less than 2 characters */ in PRIV()
1973 if ((cc = XDIGIT(ptr[0])) == 0xff) break; /* Not a hex digit */ in PRIV()
1974 if ((xc = XDIGIT(ptr[1])) == 0xff) break; /* Not a hex digit */ in PRIV()
1976 ptr += 2; in PRIV()
1988 if (ptr < ptrend && *ptr == CHAR_LEFT_CURLY_BRACKET) in PRIV()
1990 ptr++; in PRIV()
1991 while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; in PRIV()
1996 if (ptr >= ptrend || *ptr == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
2004 while (ptr < ptrend && (cc = XDIGIT(*ptr)) != 0xff) in PRIV()
2006 ptr++; in PRIV()
2021 while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; in PRIV()
2027 while (ptr < ptrend && XDIGIT(*ptr) != 0xff) ptr++; in PRIV()
2030 else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) in PRIV()
2035 ptr--; in PRIV()
2047 ptr--; in PRIV()
2057 if (ptr >= ptrend || (cc = XDIGIT(*ptr)) == 0xff) break; /* Not a hex digit */ in PRIV()
2058 ptr++; in PRIV()
2060 if (ptr >= ptrend || (cc = XDIGIT(*ptr)) == 0xff) break; /* Not a hex digit */ in PRIV()
2061 ptr++; in PRIV()
2086 if (ptr >= ptrend) in PRIV()
2091 c = *ptr; in PRIV()
2122 ptr++; in PRIV()
2130 *ptrptr = ptr - 1; /* Point to the character at fault */ in PRIV()
2137 *ptrptr = ptr; in PRIV()
2171 PCRE2_SPTR ptr = *ptrptr; in get_ucp() local
2176 if (ptr >= cb->end_pattern) goto ERROR_RETURN; in get_ucp()
2177 c = *ptr++; in get_ucp()
2185 if (ptr >= cb->end_pattern) goto ERROR_RETURN; in get_ucp()
2187 if (*ptr == CHAR_CIRCUMFLEX_ACCENT) in get_ucp()
2190 ptr++; in get_ucp()
2195 if (ptr >= cb->end_pattern) goto ERROR_RETURN; in get_ucp()
2196 c = *ptr++; in get_ucp()
2203 if (ptr >= cb->end_pattern) goto ERROR_RETURN; in get_ucp()
2204 c = *ptr++; in get_ucp()
2226 *ptrptr = ptr; in get_ucp()
2323 *ptrptr = ptr; in get_ucp()
2376 check_posix_syntax(PCRE2_SPTR ptr, PCRE2_SPTR ptrend, PCRE2_SPTR *endptr) in check_posix_syntax() argument
2379 terminator = *ptr++; /* compiler warns about "non-constant" initializer. */ in check_posix_syntax()
2381 for (; ptrend - ptr >= 2; ptr++) in check_posix_syntax()
2383 if (*ptr == CHAR_BACKSLASH && in check_posix_syntax()
2384 (ptr[1] == CHAR_RIGHT_SQUARE_BRACKET || ptr[1] == CHAR_BACKSLASH)) in check_posix_syntax()
2385 ptr++; in check_posix_syntax()
2387 else if ((*ptr == CHAR_LEFT_SQUARE_BRACKET && ptr[1] == terminator) || in check_posix_syntax()
2388 *ptr == CHAR_RIGHT_SQUARE_BRACKET) return FALSE; in check_posix_syntax()
2390 else if (*ptr == terminator && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET) in check_posix_syntax()
2392 *endptr = ptr; in check_posix_syntax()
2417 check_posix_name(PCRE2_SPTR ptr, int len) in check_posix_name() argument
2424 PRIV(strncmp_c8)(ptr, pn, (unsigned int)len) == 0) return yield; in check_posix_name()
2467 PCRE2_SPTR ptr = *ptrptr; in read_name() local
2468 BOOL is_group = (*ptr++ != CHAR_ASTERISK); in read_name()
2472 while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; in read_name()
2474 if (ptr >= ptrend) /* No characters in name */ in read_name()
2481 *nameptr = ptr; in read_name()
2482 *offsetptr = (PCRE2_SIZE)(ptr - cb->start_pattern); in read_name()
2492 GETCHAR(c, ptr); in read_name()
2505 ptr++; in read_name()
2506 FORWARDCHARTEST(ptr, ptrend); in read_name()
2507 if (ptr >= ptrend) break; in read_name()
2508 GETCHAR(c, ptr); in read_name()
2522 if (is_group && IS_DIGIT(*ptr)) in read_name()
2528 while (ptr < ptrend && MAX_255(*ptr) && (cb->ctypes[*ptr] & ctype_word) != 0) in read_name()
2530 ptr++; in read_name()
2536 if (ptr > *nameptr + MAX_NAME_SIZE) in read_name()
2541 *namelenptr = (uint32_t)(ptr - *nameptr); in read_name()
2548 if (ptr == *nameptr) in read_name()
2554 while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; in read_name()
2555 if (ptr >= ptrend || *ptr != (PCRE2_UCHAR)terminator) in read_name()
2560 ptr++; in read_name()
2563 *ptrptr = ptr; in read_name()
2567 *ptrptr = ptr; in read_name()
2594 manage_callouts(PCRE2_SPTR ptr, uint32_t **pcalloutptr, BOOL auto_callout, in manage_callouts() argument
2599 if (previous_callout != NULL) previous_callout[2] = (uint32_t)(ptr - in manage_callouts()
2614 previous_callout[1] = (uint32_t)(ptr - cb->start_pattern); in manage_callouts()
2772 static int parse_regex(PCRE2_SPTR ptr, uint32_t options, BOOL *has_lookbehind, in parse_regex() argument
2828 while (ptr < ptrend) in parse_regex()
2835 thisptr = ptr; in parse_regex()
2836 GETCHARINCTEST(c, ptr); in parse_regex()
2863 while (ptr < ptrend) in parse_regex()
2900 thisptr = ptr; in parse_regex()
2901 GETCHARINCTEST(c, ptr); in parse_regex()
2908 if (c == CHAR_BACKSLASH && ptr < ptrend && *ptr == CHAR_E) in parse_regex()
2911 ptr++; /* Skip E */ in parse_regex()
2917 ptr--; /* but an empty \Q\E sequence is OK. */ in parse_regex()
2983 if (ptr - verbnamestart - 1 > (int)MAX_MARK) in parse_regex()
2985 ptr--; in parse_regex()
3005 escape = PRIV(check_escape)(&ptr, ptrend, &c, &errorcode, options, in parse_regex()
3045 if (c == CHAR_BACKSLASH && ptr < ptrend) in parse_regex()
3047 if (*ptr == CHAR_Q || *ptr == CHAR_E) in parse_regex()
3049 inescq = *ptr == CHAR_Q; in parse_regex()
3050 ptr++; in parse_regex()
3071 while (ptr < ptrend) in parse_regex()
3073 if (IS_NEWLINE(ptr)) /* For non-fixed-length newline cases, */ in parse_regex()
3075 ptr += cb->nllen; in parse_regex()
3078 ptr++; in parse_regex()
3080 if (utf) FORWARDCHARTEST(ptr, ptrend); in parse_regex()
3089 if (c == CHAR_LEFT_PARENTHESIS && ptrend - ptr >= 2 && in parse_regex()
3090 ptr[0] == CHAR_QUESTION_MARK && ptr[1] == CHAR_NUMBER_SIGN) in parse_regex()
3092 while (++ptr < ptrend && *ptr != CHAR_RIGHT_PARENTHESIS); in parse_regex()
3093 if (ptr >= ptrend) in parse_regex()
3098 ptr++; in parse_regex()
3107 (tempptr = ptr, in parse_regex()
3129 BOOL ok = c == CHAR_LEFT_PARENTHESIS && ptrend - ptr >= 3 && in parse_regex()
3130 (ptr[0] == CHAR_QUESTION_MARK || ptr[0] == CHAR_ASTERISK); in parse_regex()
3133 if (ptr[0] == CHAR_ASTERISK) /* New alpha assertion format, possibly */ in parse_regex()
3135 ok = MAX_255(ptr[1]) && (cb->ctypes[ptr[1]] & ctype_lcletter) != 0; in parse_regex()
3137 else switch(ptr[1]) /* Traditional symbolic format */ in parse_regex()
3148 ok = ptr[2] == CHAR_EQUALS_SIGN || ptr[2] == CHAR_EXCLAMATION_MARK; in parse_regex()
3158 ptr--; /* Adjust error offset */ in parse_regex()
3204 tempptr = ptr; in parse_regex()
3205 escape = PRIV(check_escape)(&ptr, ptrend, &c, &errorcode, options, in parse_regex()
3212 ptr = tempptr; in parse_regex()
3213 if (ptr >= ptrend) c = CHAR_BACKSLASH; else in parse_regex()
3215 GETCHARINCTEST(c, ptr); /* Get character value, increment pointer */ in parse_regex()
3236 offset = (PCRE2_SIZE)(ptr - cb->start_pattern - 1); in parse_regex()
3334 if (!get_ucp(&ptr, &negated, &ptype, &pdata, &errorcode, cb)) in parse_regex()
3355 if (ptr >= ptrend || (*ptr != CHAR_LEFT_CURLY_BRACKET && in parse_regex()
3356 *ptr != CHAR_LESS_THAN_SIGN && *ptr != CHAR_APOSTROPHE)) in parse_regex()
3361 terminator = (*ptr == CHAR_LESS_THAN_SIGN)? in parse_regex()
3362 CHAR_GREATER_THAN_SIGN : (*ptr == CHAR_APOSTROPHE)? in parse_regex()
3369 PCRE2_SPTR p = ptr + 1; in parse_regex()
3379 ptr = p; in parse_regex()
3388 if (!read_name(&ptr, ptrend, utf, terminator, &offset, &name, &namelen, in parse_regex()
3440 if (!read_repeat_counts(&ptr, ptrend, &min_repeat, &max_repeat, in parse_regex()
3503 if (ptrend - ptr >= 6 && in parse_regex()
3504 (PRIV(strncmp_c8)(ptr, STRING_WEIRD_STARTWORD, 6) == 0 || in parse_regex()
3505 PRIV(strncmp_c8)(ptr, STRING_WEIRD_ENDWORD, 6) == 0)) in parse_regex()
3509 if (ptr[2] == CHAR_LESS_THAN_SIGN) in parse_regex()
3532 ptr += 6; in parse_regex()
3539 if (ptr < ptrend && (*ptr == CHAR_COLON || *ptr == CHAR_DOT || in parse_regex()
3540 *ptr == CHAR_EQUALS_SIGN) && in parse_regex()
3541 check_posix_syntax(ptr, ptrend, &tempptr)) in parse_regex()
3543 errorcode = (*ptr-- == CHAR_COLON)? ERR12 : ERR13; in parse_regex()
3553 while (ptr < ptrend) in parse_regex()
3555 GETCHARINCTEST(c, ptr); in parse_regex()
3558 if (ptr < ptrend && *ptr == CHAR_E) ptr++; in parse_regex()
3559 else if (ptrend - ptr >= 3 && in parse_regex()
3560 PRIV(strncmp_c8)(ptr, STR_Q STR_BACKSLASH STR_E, 3) == 0) in parse_regex()
3561 ptr += 3; in parse_regex()
3606 if (c == CHAR_BACKSLASH && ptr < ptrend && *ptr == CHAR_E) in parse_regex()
3609 ptr++; /* Skip the 'E' */ in parse_regex()
3628 ptrend - ptr >= 3 && in parse_regex()
3629 (*ptr == CHAR_COLON || *ptr == CHAR_DOT || in parse_regex()
3630 *ptr == CHAR_EQUALS_SIGN) && in parse_regex()
3631 check_posix_syntax(ptr, ptrend, &tempptr)) in parse_regex()
3647 if (*ptr != CHAR_COLON) in parse_regex()
3653 if (*(++ptr) == CHAR_CIRCUMFLEX_ACCENT) in parse_regex()
3656 ptr++; in parse_regex()
3659 posix_class = check_posix_name(ptr, (int)(tempptr - ptr)); in parse_regex()
3665 ptr = tempptr + 2; in parse_regex()
3673 if (ptr < ptrend - 1 && *ptr == CHAR_MINUS && in parse_regex()
3674 ptr[1] != CHAR_RIGHT_SQUARE_BRACKET) in parse_regex()
3772 tempptr = ptr; in parse_regex()
3773 escape = PRIV(check_escape)(&ptr, ptrend, &c, &errorcode, options, in parse_regex()
3780 ptr = tempptr; in parse_regex()
3781 if (ptr >= ptrend) c = CHAR_BACKSLASH; else in parse_regex()
3783 GETCHARINCTEST(c, ptr); /* Get character value, increment pointer */ in parse_regex()
3810 ptr--; in parse_regex()
3864 if (!get_ucp(&ptr, &negated, &ptype, &pdata, &errorcode, cb)) in parse_regex()
3878 ptr--; in parse_regex()
3885 if (ptr < ptrend - 1 && *ptr == CHAR_MINUS && in parse_regex()
3886 ptr[1] != CHAR_RIGHT_SQUARE_BRACKET) in parse_regex()
3896 if (ptr >= ptrend) in parse_regex()
3901 GETCHARINCTEST(c, ptr); in parse_regex()
3920 if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
3925 if (*ptr != CHAR_QUESTION_MARK) in parse_regex()
3932 if (*ptr != CHAR_ASTERISK) in parse_regex()
3951 else if (ptrend - ptr <= 1 || (c = ptr[1]) == CHAR_RIGHT_PARENTHESIS) in parse_regex()
3965 if (!read_name(&ptr, ptrend, utf, 0, &offset, &name, &namelen, in parse_regex()
3967 if (ptr >= ptrend || *ptr != CHAR_COLON) in parse_regex()
4026 ptr--; in parse_regex()
4039 ptr++; in parse_regex()
4068 if (!read_name(&ptr, ptrend, utf, 0, &offset, &name, &namelen, in parse_regex()
4070 if (ptr >= ptrend || (*ptr != CHAR_COLON && in parse_regex()
4071 *ptr != CHAR_RIGHT_PARENTHESIS)) in parse_regex()
4095 if (*ptr == CHAR_COLON && ptr + 1 < ptrend && in parse_regex()
4096 ptr[1] == CHAR_RIGHT_PARENTHESIS) in parse_regex()
4097 ptr++; /* Advance to the closing parens */ in parse_regex()
4101 if (verbs[i].has_arg > 0 && *ptr != CHAR_COLON) in parse_regex()
4122 if (*ptr++ == CHAR_COLON) /* Skip past : or ) */ in parse_regex()
4144 verbnamestart = ptr; in parse_regex()
4164 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4166 switch(*ptr) in parse_regex()
4169 if (*ptr == CHAR_MINUS && ptrend - ptr > 1 && IS_DIGIT(ptr[1])) in parse_regex()
4190 if (*ptr == CHAR_VERTICAL_LINE) in parse_regex()
4197 ptr++; in parse_regex()
4217 if (ptr < ptrend && *ptr == CHAR_CIRCUMFLEX_ACCENT) in parse_regex()
4223 ptr++; in parse_regex()
4226 while (ptr < ptrend && *ptr != CHAR_RIGHT_PARENTHESIS && in parse_regex()
4227 *ptr != CHAR_COLON) in parse_regex()
4229 switch (*ptr++) in parse_regex()
4235 ptr--; /* Correct the offset */ in parse_regex()
4246 if (ptr < ptrend) in parse_regex()
4248 if (*ptr == CHAR_D) in parse_regex()
4251 ptr++; in parse_regex()
4254 if (*ptr == CHAR_P) in parse_regex()
4257 ptr++; in parse_regex()
4260 if (*ptr == CHAR_S) in parse_regex()
4263 ptr++; in parse_regex()
4266 if (*ptr == CHAR_T) in parse_regex()
4269 ptr++; in parse_regex()
4272 if (*ptr == CHAR_W) in parse_regex()
4275 ptr++; in parse_regex()
4300 if (ptr < ptrend && *ptr == CHAR_x) in parse_regex()
4303 ptr++; in parse_regex()
4309 ptr--; /* Correct the offset */ in parse_regex()
4332 if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4333 if (*ptr++ == CHAR_RIGHT_PARENTHESIS) in parse_regex()
4357 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4361 if (*ptr == CHAR_LESS_THAN_SIGN) in parse_regex()
4370 if (*ptr == CHAR_GREATER_THAN_SIGN) goto RECURSE_BY_NAME; in parse_regex()
4375 if (*ptr != CHAR_EQUALS_SIGN) in parse_regex()
4380 if (!read_name(&ptr, ptrend, utf, CHAR_RIGHT_PARENTHESIS, &offset, &name, in parse_regex()
4393 ptr++; in parse_regex()
4394 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4405 if (ptrend - ptr < 2 || !IS_DIGIT(ptr[1])) in parse_regex()
4415 if (!read_number(&ptr, ptrend, in parse_regex()
4416 (IS_DIGIT(*ptr))? -1:(int)(cb->bracount), /* + and - are relative */ in parse_regex()
4424 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4429 offset = (PCRE2_SIZE)(ptr - cb->start_pattern); in parse_regex()
4430 ptr++; in parse_regex()
4440 if (!read_name(&ptr, ptrend, utf, CHAR_RIGHT_PARENTHESIS, &offset, &name, in parse_regex()
4451 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4482 if (*ptr != CHAR_RIGHT_PARENTHESIS && !IS_DIGIT(*ptr)) in parse_regex()
4485 PCRE2_SPTR startptr = ptr; in parse_regex()
4490 if (*ptr == PRIV(callout_start_delims)[i]) in parse_regex()
4507 if (++ptr >= ptrend) in parse_regex()
4510 ptr = startptr; /* To give a more useful message */ in parse_regex()
4513 if (*ptr == delimiter && (++ptr >= ptrend || *ptr != delimiter)) in parse_regex()
4517 calloutlength = (PCRE2_SIZE)(ptr - startptr); in parse_regex()
4536 while (ptr < ptrend && IS_DIGIT(*ptr)) in parse_regex()
4538 n = n * 10 + *ptr++ - CHAR_0; in parse_regex()
4550 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4555 ptr++; in parse_regex()
4560 previous_callout[1] = (uint32_t)(ptr - cb->start_pattern); in parse_regex()
4585 if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; in parse_regex()
4596 if (*ptr == CHAR_QUESTION_MARK || *ptr == CHAR_ASTERISK) in parse_regex()
4599 ptr--; /* Pull pointer back to the opening parenthesis. */ in parse_regex()
4606 if (read_number(&ptr, ptrend, cb->bracount, MAX_GROUP_NUMBER, ERR61, &i, in parse_regex()
4615 offset = (PCRE2_SIZE)(ptr - cb->start_pattern - 2); in parse_regex()
4623 else if (ptrend - ptr >= 10 && in parse_regex()
4624 PRIV(strncmp_c8)(ptr, STRING_VERSION, 7) == 0 && in parse_regex()
4625 ptr[7] != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4631 ptr += 7; in parse_regex()
4632 if (*ptr == CHAR_GREATER_THAN_SIGN) in parse_regex()
4635 ptr++; in parse_regex()
4641 if (*ptr != CHAR_EQUALS_SIGN || (ptr++, !IS_DIGIT(*ptr))) in parse_regex()
4644 if (!read_number(&ptr, ptrend, -1, 1000, ERR79, &major, &errorcode)) in parse_regex()
4647 if (ptr >= ptrend) goto BAD_VERSION_CONDITION; in parse_regex()
4648 if (*ptr == CHAR_DOT) in parse_regex()
4650 if (++ptr >= ptrend || !IS_DIGIT(*ptr)) goto BAD_VERSION_CONDITION; in parse_regex()
4651 minor = (*ptr++ - CHAR_0) * 10; in parse_regex()
4652 if (ptr >= ptrend) goto BAD_VERSION_CONDITION; in parse_regex()
4653 if (IS_DIGIT(*ptr)) minor += *ptr++ - CHAR_0; in parse_regex()
4654 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4674 if (*ptr == CHAR_R && ptrend - ptr > 1 && ptr[1] == CHAR_AMPERSAND) in parse_regex()
4678 ptr++; in parse_regex()
4680 else if (*ptr == CHAR_LESS_THAN_SIGN) in parse_regex()
4682 else if (*ptr == CHAR_APOSTROPHE) in parse_regex()
4687 ptr--; /* Point to char before name */ in parse_regex()
4689 if (!read_name(&ptr, ptrend, utf, terminator, &offset, &name, &namelen, in parse_regex()
4697 ptr--; /* Back to closing parens */ in parse_regex()
4715 ptr--; /* Back to closing parens */ in parse_regex()
4731 if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) in parse_regex()
4736 ptr++; in parse_regex()
4746 ptr++; in parse_regex()
4755 ptr++; in parse_regex()
4761 ptr++; in parse_regex()
4767 ptr++; in parse_regex()
4777 if (ptrend - ptr <= 1 || in parse_regex()
4778 (ptr[1] != CHAR_EQUALS_SIGN && in parse_regex()
4779 ptr[1] != CHAR_EXCLAMATION_MARK && in parse_regex()
4780 ptr[1] != CHAR_ASTERISK)) in parse_regex()
4785 *parsed_pattern++ = (ptr[1] == CHAR_EQUALS_SIGN)? in parse_regex()
4786 META_LOOKBEHIND : (ptr[1] == CHAR_EXCLAMATION_MARK)? in parse_regex()
4791 offset = (PCRE2_SIZE)(ptr - cb->start_pattern - 2); in parse_regex()
4793 ptr += 2; in parse_regex()
4833 if (!read_name(&ptr, ptrend, utf, terminator, &offset, &name, &namelen, in parse_regex()
4980 if (inverbname && ptr >= ptrend) in parse_regex()
4989 parsed_pattern = manage_callouts(ptr, &previous_callout, auto_callout, in parse_regex()
5024 cb->erroroffset = (PCRE2_SIZE)(ptr - cb->start_pattern); in parse_regex()
5030 ptr--; in parse_regex()
10137 PCRE2_SPTR ptr; /* Current pointer in pattern */ in pcre2_compile() local
10303 ptr = pattern; in pcre2_compile()
10309 ptr[skipatstart] == CHAR_LEFT_PARENTHESIS && in pcre2_compile()
10310 ptr[skipatstart+1] == CHAR_ASTERISK) in pcre2_compile()
10318 PRIV(strncmp_c8)(ptr + skipatstart + 2, (char *)(p->name), in pcre2_compile()
10347 if (!IS_DIGIT(ptr[pp])) in pcre2_compile()
10350 ptr += pp; in pcre2_compile()
10353 while (IS_DIGIT(ptr[pp])) in pcre2_compile()
10356 c = c*10 + (ptr[pp++] - CHAR_0); in pcre2_compile()
10358 if (ptr[pp++] != CHAR_RIGHT_PARENTHESIS) in pcre2_compile()
10361 ptr += pp; in pcre2_compile()
10379 ptr += skipatstart; in pcre2_compile()
10487 for (p = ptr; p < cb.end_pattern; p++) if (*p >= META_END) big32count++; in pcre2_compile()
10521 errorcode = parse_regex(ptr, cb.external_options, &has_lookbehind, &cb); in pcre2_compile()
10974 ptr = pattern + cb.erroroffset; in pcre2_compile()
10977 *erroroffset = ptr - pattern; in pcre2_compile()