Lines Matching refs:cd
49 #define NLBLOCK cd /* Block containing newline information */
911 expand_workspace(compile_data *cd) in expand_workspace() argument
914 int newsize = cd->workspace_size * 2; in expand_workspace()
917 if (cd->workspace_size >= COMPILE_WORK_SIZE_MAX || in expand_workspace()
918 newsize - cd->workspace_size < WORK_SIZE_SAFETY_MARGIN) in expand_workspace()
923 memcpy(newspace, cd->start_workspace, cd->workspace_size * sizeof(pcre_uchar)); in expand_workspace()
924 cd->hwm = (pcre_uchar *)newspace + (cd->hwm - cd->start_workspace); in expand_workspace()
925 if (cd->workspace_size > COMPILE_WORK_SIZE) in expand_workspace()
926 (PUBL(free))((void *)cd->start_workspace); in expand_workspace()
927 cd->start_workspace = newspace; in expand_workspace()
928 cd->workspace_size = newsize; in expand_workspace()
1717 find_fixedlength(pcre_uchar *code, BOOL utf, BOOL atend, compile_data *cd, in find_fixedlength() argument
1746 d = find_fixedlength(cc + ((op == OP_CBRA)? IMM2_SIZE : 0), utf, atend, cd, in find_fixedlength()
1778 cs = ce = (pcre_uchar *)cd->start_code + GET(cc, 1); /* Start subpattern */ in find_fixedlength()
1789 d = find_fixedlength(cs + IMM2_SIZE, utf, atend, cd, &this_recurse); in find_fixedlength()
2378 BOOL utf, compile_data *cd, recurse_check *recurses) in could_be_empty_branch() argument
2410 const pcre_uchar *scode = cd->start_code + GET(code, 1); in could_be_empty_branch()
2418 if (cd->start_workspace != NULL) in could_be_empty_branch()
2421 for (tcode = cd->start_workspace; tcode < cd->hwm; tcode += LINK_SIZE) in could_be_empty_branch()
2422 if ((int)GET(tcode, 0) == (int)(code + 1 - cd->start_code)) return TRUE; in could_be_empty_branch()
2450 if (could_be_empty_branch(scode, endcode, utf, cd, &this_recurse)) in could_be_empty_branch()
2506 if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd, in could_be_empty_branch()
2753 branch_chain *bcptr, BOOL utf, compile_data *cd) in could_be_empty() argument
2757 if (!could_be_empty_branch(bcptr->current_branch, endcode, utf, cd, NULL)) in could_be_empty()
3101 compare_opcodes(const pcre_uchar *code, BOOL utf, const compile_data *cd, in compare_opcodes() argument
3192 if (!compare_opcodes(code, utf, cd, base_list, base_end, rec_limit)) in compare_opcodes()
3213 if (!compare_opcodes(next_code, utf, cd, base_list, base_end, rec_limit)) in compare_opcodes()
3225 code = get_chr_property_list(code, utf, cd->fcc, list); in compare_opcodes()
3294 set2 = (pcre_uint8 *)(cd->cbits + cbit_digit); in compare_opcodes()
3301 set2 = (pcre_uint8 *)(cd->cbits + cbit_space); in compare_opcodes()
3308 set2 = (pcre_uint8 *)(cd->cbits + cbit_word); in compare_opcodes()
3501 if (chr < 256 && (cd->ctypes[chr] & ctype_digit) != 0) return FALSE; in compare_opcodes()
3505 if (chr > 255 || (cd->ctypes[chr] & ctype_digit) == 0) return FALSE; in compare_opcodes()
3509 if (chr < 256 && (cd->ctypes[chr] & ctype_space) != 0) return FALSE; in compare_opcodes()
3513 if (chr > 255 || (cd->ctypes[chr] & ctype_space) == 0) return FALSE; in compare_opcodes()
3517 if (chr < 255 && (cd->ctypes[chr] & ctype_word) != 0) return FALSE; in compare_opcodes()
3521 if (chr > 255 || (cd->ctypes[chr] & ctype_word) == 0) return FALSE; in compare_opcodes()
3640 auto_possessify(pcre_uchar *code, BOOL utf, const compile_data *cd) in auto_possessify() argument
3664 get_chr_property_list(code, utf, cd->fcc, list) : NULL; in auto_possessify()
3668 if (end != NULL && compare_opcodes(end, utf, cd, list, end, &rec_limit)) in auto_possessify()
3720 end = get_chr_property_list(code, utf, cd->fcc, list); in auto_possessify()
3725 if (compare_opcodes(end, utf, cd, list, end, &rec_limit)) in auto_possessify()
4005 adjust_recurse(pcre_uchar *group, int adjust, BOOL utf, compile_data *cd, in adjust_recurse() argument
4018 for (hc = (pcre_uchar *)cd->start_workspace + save_hwm_offset; hc < cd->hwm; in adjust_recurse()
4022 if (cd->start_code + offset == ptr + 1) in adjust_recurse()
4032 if (hc >= cd->hwm) in adjust_recurse()
4035 if (cd->start_code + offset >= group) PUT(ptr, 1, offset + adjust); in adjust_recurse()
4060 auto_callout(pcre_uchar *code, const pcre_uchar *ptr, compile_data *cd) in auto_callout() argument
4064 PUT(code, 0, (int)(ptr - cd->start_pattern)); /* Pattern offset */ in auto_callout()
4088 complete_callout(pcre_uchar *previous_callout, const pcre_uchar *ptr, compile_data *cd) in complete_callout() argument
4090 int length = (int)(ptr - cd->start_pattern - GET(previous_callout, 2)); in complete_callout()
4186 compile_data *cd, pcre_uint32 start, pcre_uint32 end) in add_to_class() argument
4212 if (rc > 0) n8 += add_list_to_class(classbits, uchardptr, options, cd, in add_to_class()
4229 else n8 += add_to_class(classbits, uchardptr, options, cd, oc, od); in add_to_class()
4239 SETBIT(classbits, cd->fcc[c]); in add_to_class()
4350 compile_data *cd, const pcre_uint32 *p, unsigned int except) in add_list_to_class() argument
4359 n8 += add_to_class(classbits, uchardptr, options, cd, p[0], p[n]); in add_list_to_class()
4388 int options, compile_data *cd, const pcre_uint32 *p) in add_not_list_to_class() argument
4393 n8 += add_to_class(classbits, uchardptr, options, cd, 0, p[0] - 1); in add_not_list_to_class()
4397 n8 += add_to_class(classbits, uchardptr, options, cd, p[0] + 1, in add_not_list_to_class()
4441 compile_data *cd, int *lengthptr) in compile_branch() argument
4573 if (code > cd->hwm) cd->hwm = code; /* High water info */ in compile_branch()
4575 if (code > cd->start_workspace + cd->workspace_size - in compile_branch()
4626 else if (cd->hwm > cd->start_workspace + cd->workspace_size - in compile_branch()
4648 complete_callout(previous_callout, ptr, cd); in compile_branch()
4654 code = auto_callout(code, ptr, cd); in compile_branch()
4668 while (MAX_255(c) && (cd->ctypes[c] & ctype_space) != 0) c = *(++ptr); in compile_branch()
4675 ptr += cd->nllen; in compile_branch()
4700 complete_callout(previous_callout, ptr, cd); in compile_branch()
4710 code = auto_callout(code, ptr, cd); in compile_branch()
4790 if ((cd->external_options & PCRE_JAVASCRIPT_COMPAT) != 0) in compile_branch()
4861 (cd->external_options & PCRE_JAVASCRIPT_COMPAT) != 0) in compile_branch()
4959 register const pcre_uint8 *cbits = cd->cbits; in compile_branch()
5099 escape = check_escape(&ptr, &ec, errorcodeptr, cd->bracount, options, in compile_branch()
5122 register const pcre_uint8 *cbits = cd->cbits; in compile_branch()
5179 (void)add_list_to_class(classbits, &class_uchardata, options, cd, in compile_branch()
5185 cd, PRIV(hspace_list)); in compile_branch()
5189 (void)add_list_to_class(classbits, &class_uchardata, options, cd, in compile_branch()
5195 cd, PRIV(vspace_list)); in compile_branch()
5254 if (c == CHAR_CR || c == CHAR_NL) cd->external_flags |= PCRE_HASCRORLF; in compile_branch()
5307 descape = check_escape(&ptr, &d, errorcodeptr, cd->bracount, options, TRUE); in compile_branch()
5353 if (d == CHAR_CR || d == CHAR_NL) cd->external_flags |= PCRE_HASCRORLF; in compile_branch()
5356 add_to_class(classbits, &class_uchardata, options, cd, c, d); in compile_branch()
5444 add_to_class(classbits, &class_uchardata, options, cd, c, c); in compile_branch()
5614 while (MAX_255(*p) && (cd->ctypes[*p] & ctype_space) != 0) p++; in compile_branch()
5621 p += cd->nllen; in compile_branch()
5671 if (lengthptr == NULL && cd->hwm >= cd->start_workspace + LINK_SIZE) in compile_branch()
5673 int offset = GET(cd->hwm, -LINK_SIZE); in compile_branch()
5674 if (offset == previous + 1 - cd->start_code) in compile_branch()
5675 PUT(cd->hwm, -LINK_SIZE, offset + 1 + LINK_SIZE); in compile_branch()
5723 reqcharflags = req_caseopt | cd->req_varyopt; in compile_branch()
5988 adjust_recurse(previous, 1, utf, cd, save_hwm_offset); in compile_branch()
6012 adjust_recurse(previous, 2 + LINK_SIZE, utf, cd, save_hwm_offset); in compile_branch()
6075 size_t this_hwm_offset = cd->hwm - cd->start_workspace; in compile_branch()
6078 while (cd->hwm > cd->start_workspace + cd->workspace_size - in compile_branch()
6082 *errorcodeptr = expand_workspace(cd); in compile_branch()
6086 for (hc = (pcre_uchar *)cd->start_workspace + base_hwm_offset; in compile_branch()
6087 hc < (pcre_uchar *)cd->start_workspace + this_hwm_offset; in compile_branch()
6090 PUT(cd->hwm, 0, GET(hc, 0) + len); in compile_branch()
6091 cd->hwm += LINK_SIZE; in compile_branch()
6138 size_t this_hwm_offset = cd->hwm - cd->start_workspace; in compile_branch()
6159 while (cd->hwm > cd->start_workspace + cd->workspace_size - in compile_branch()
6163 *errorcodeptr = expand_workspace(cd); in compile_branch()
6167 for (hc = (pcre_uchar *)cd->start_workspace + base_hwm_offset; in compile_branch()
6168 hc < (pcre_uchar *)cd->start_workspace + this_hwm_offset; in compile_branch()
6171 PUT(cd->hwm, 0, GET(hc, 0) + len + ((i != 0)? 2+LINK_SIZE : 1)); in compile_branch()
6172 cd->hwm += LINK_SIZE; in compile_branch()
6247 if (could_be_empty_branch(scode, ketcode, utf, cd, NULL)) in compile_branch()
6270 adjust_recurse(bracode, 1 + LINK_SIZE, utf, cd, save_hwm_offset); in compile_branch()
6404 adjust_recurse(tempcode, 1 + LINK_SIZE, utf, cd, save_hwm_offset); in compile_branch()
6453 adjust_recurse(tempcode, 1 + LINK_SIZE, utf, cd, save_hwm_offset); in compile_branch()
6472 cd->req_varyopt |= reqvary; in compile_branch()
6502 || (MAX_255(ptr[1]) && ((cd->ctypes[ptr[1]] & ctype_letter) != 0)))) in compile_branch()
6511 while (MAX_255(*ptr) && (cd->ctypes[*ptr] & ctype_letter) != 0) ptr++; in compile_branch()
6556 cd->had_accept = TRUE; in compile_branch()
6557 for (oc = cd->open_caps; oc != NULL; oc = oc->next) in compile_branch()
6563 (cd->assert_depth > 0)? OP_ASSERT_ACCEPT : OP_ACCEPT; in compile_branch()
6599 cd->external_flags |= PCRE_HASTHEN; in compile_branch()
6606 cd->had_pruneorskip = TRUE; in compile_branch()
6626 save_hwm_offset = cd->hwm - cd->start_workspace; in compile_branch()
6693 cd->iscondassert = TRUE; in compile_branch()
6761 if (!MAX_255(*ptr) || (cd->ctypes[*ptr] & ctype_word) == 0) in compile_branch()
6767 while (MAX_255(*ptr) && (cd->ctypes[*ptr] & ctype_word) != 0) in compile_branch()
6801 cd->bracount - recno + 1 : recno + cd->bracount; in compile_branch()
6802 if (recno <= 0 || recno > cd->final_bracount) in compile_branch()
6808 if (recno > cd->top_backref) cd->top_backref = recno; in compile_branch()
6814 slot = cd->name_table; in compile_branch()
6815 for (i = 0; i < cd->names_found; i++) in compile_branch()
6818 slot += cd->name_entry_size; in compile_branch()
6826 if (i < cd->names_found) in compile_branch()
6831 if (recno > cd->top_backref) cd->top_backref = recno; in compile_branch()
6832 for (; i < cd->names_found; i++) in compile_branch()
6834 slot += cd->name_entry_size; in compile_branch()
6907 cd->assert_depth += 1; in compile_branch()
6929 cd->assert_depth += 1; in compile_branch()
6939 cd->assert_depth += 1; in compile_branch()
6945 cd->assert_depth += 1; in compile_branch()
6950 if (MAX_255(ptr[1]) && (cd->ctypes[ptr[1]] & ctype_word) != 0) in compile_branch()
6987 PUT(code, 0, (int)(ptr - cd->start_pattern + 1)); /* Pattern offset */ in compile_branch()
7023 while (MAX_255(*ptr) && (cd->ctypes[*ptr] & ctype_word) != 0) ptr++; in compile_branch()
7035 pcre_uint32 number = cd->bracount + 1; in compile_branch()
7043 if (cd->names_found >= MAX_NAME_COUNT) in compile_branch()
7049 if (namelen + IMM2_SIZE + 1 > cd->name_entry_size) in compile_branch()
7051 cd->name_entry_size = namelen + IMM2_SIZE + 1; in compile_branch()
7066 ng = cd->named_groups; in compile_branch()
7067 for (i = 0; i < cd->names_found; i++, ng++) in compile_branch()
7078 cd->dupnames = TRUE; /* Duplicate names exist */ in compile_branch()
7087 if (i >= cd->names_found) /* Not a duplicate with same number */ in compile_branch()
7091 if (cd->names_found >= cd->named_group_list_size) in compile_branch()
7093 int newsize = cd->named_group_list_size * 2; in compile_branch()
7103 memcpy(newspace, cd->named_groups, in compile_branch()
7104 cd->named_group_list_size * sizeof(named_group)); in compile_branch()
7105 if (cd->named_group_list_size > NAMED_GROUP_LIST_SIZE) in compile_branch()
7106 (PUBL(free))((void *)cd->named_groups); in compile_branch()
7107 cd->named_groups = newspace; in compile_branch()
7108 cd->named_group_list_size = newsize; in compile_branch()
7111 cd->named_groups[cd->names_found].name = name; in compile_branch()
7112 cd->named_groups[cd->names_found].length = namelen; in compile_branch()
7113 cd->named_groups[cd->names_found].number = number; in compile_branch()
7114 cd->names_found++; in compile_branch()
7141 while (MAX_255(*ptr) && (cd->ctypes[*ptr] & ctype_word) != 0) ptr++; in compile_branch()
7176 ng = cd->named_groups; in compile_branch()
7177 for (i = 0; i < cd->names_found; i++, ng++) in compile_branch()
7183 recno = (i < cd->names_found)? ng->number : 0; in compile_branch()
7187 if (!is_recurse) cd->namedrefcount++; in compile_branch()
7203 slot = cd->name_table; in compile_branch()
7204 for (i = 0; i < cd->names_found; i++) in compile_branch()
7209 slot += cd->name_entry_size; in compile_branch()
7212 if (i < cd->names_found) in compile_branch()
7231 if (lengthptr == NULL && cd->dupnames) in compile_branch()
7235 pcre_uchar *cslot = slot + cd->name_entry_size; in compile_branch()
7237 for (i++; i < cd->names_found; i++) in compile_branch()
7243 cslot += cd->name_entry_size; in compile_branch()
7256 for (; slot < cslot; slot += cd->name_entry_size) in compile_branch()
7260 cd->backref_map |= (recno < 32)? (1 << recno) : 1; in compile_branch()
7261 if (recno > cd->top_backref) cd->top_backref = recno; in compile_branch()
7267 for (oc = cd->open_caps; oc != NULL; oc = oc->next) in compile_branch()
7341 recno = cd->bracount - recno + 1; in compile_branch()
7355 recno += cd->bracount; in compile_branch()
7363 called = cd->start_code; in compile_branch()
7376 called = PRIV(find_bracket)(cd->start_code, utf, recno); in compile_branch()
7382 if (recno > cd->final_bracount) in compile_branch()
7392 called = cd->start_code + recno; in compile_branch()
7393 if (cd->hwm >= cd->start_workspace + cd->workspace_size - in compile_branch()
7396 *errorcodeptr = expand_workspace(cd); in compile_branch()
7399 PUTINC(cd->hwm, 0, (int)(code + 1 - cd->start_code)); in compile_branch()
7412 could_be_empty(called, code, bcptr, utf, cd)) in compile_branch()
7424 PUT(code, 1, (int)(called - cd->start_code)); in compile_branch()
7449 cd->external_flags |= PCRE_JCHANGED; in compile_branch()
7492 if (code == cd->start_code + 1 + LINK_SIZE && in compile_branch()
7495 cd->external_options = newoptions; in compile_branch()
7536 cd->bracount += 1; in compile_branch()
7537 PUT2(code, 1+LINK_SIZE, cd->bracount); in compile_branch()
7544 if ((cd->parens_depth += 1) > PARENS_NEST_LIMIT) in compile_branch()
7559 cd->iscondassert) in compile_branch()
7562 cd->iscondassert = FALSE; in compile_branch()
7568 tempreqvary = cd->req_varyopt; /* Save value before bracket */ in compile_branch()
7569 tempbracount = cd->bracount; /* Save value before bracket */ in compile_branch()
7588 cd, /* Tables block */ in compile_branch()
7594 cd->parens_depth -= 1; in compile_branch()
7599 if (bravalue == OP_ONCE && cd->bracount <= tempbracount) in compile_branch()
7603 cd->assert_depth -= 1; in compile_branch()
7770 escape = check_escape(&ptr, &ec, errorcodeptr, cd->bracount, options, FALSE); in compile_branch()
7812 … save_hwm_offset = cd->hwm - cd->start_workspace; /* Normally this is set when '(' is read */ in compile_branch()
7882 cd->backref_map |= (recno < 32)? (1 << recno) : 1; in compile_branch()
7883 if (recno > cd->top_backref) cd->top_backref = recno; in compile_branch()
7889 for (oc = cd->open_caps; oc != NULL; oc = oc->next) in compile_branch()
7934 cd->max_lookbehind == 0) in compile_branch()
7935 cd->max_lookbehind = 1; in compile_branch()
8021 cd->external_flags |= PCRE_HASCRORLF; in compile_branch()
8046 reqcharflags = cd->req_varyopt; in compile_branch()
8064 reqcharflags = req_caseopt | cd->req_varyopt; in compile_branch()
8122 branch_chain *bcptr, compile_data *cd, int *lengthptr) in compile_regex() argument
8157 save_hwm_offset = cd->hwm - cd->start_workspace; in compile_regex()
8183 capitem.next = cd->open_caps; in compile_regex()
8185 cd->open_caps = &capitem; in compile_regex()
8195 orig_bracount = max_bracount = cd->bracount; in compile_regex()
8201 if (reset_bracount) cd->bracount = orig_bracount; in compile_regex()
8218 cond_depth, cd, (lengthptr == NULL)? NULL : &length)) in compile_regex()
8227 if (cd->bracount > max_bracount) max_bracount = cd->bracount; in compile_regex()
8300 FALSE, cd, NULL); in compile_regex()
8304 cd->check_lookbehind = TRUE; in compile_regex()
8315 if (fixed_length > cd->max_lookbehind) in compile_regex()
8316 cd->max_lookbehind = fixed_length; in compile_regex()
8357 if (cd->open_caps->flag) in compile_regex()
8361 (options & PCRE_UTF8) != 0, cd, save_hwm_offset); in compile_regex()
8372 cd->open_caps = cd->open_caps->next; in compile_regex()
8377 cd->bracount = max_bracount; in compile_regex()
8472 compile_data *cd, int atomcount) in is_anchored() argument
8484 if (!is_anchored(scode, bracket_map, cd, atomcount)) return FALSE; in is_anchored()
8494 if (!is_anchored(scode, new_map, cd, atomcount)) return FALSE; in is_anchored()
8501 if (!is_anchored(scode, bracket_map, cd, atomcount)) return FALSE; in is_anchored()
8508 if (!is_anchored(scode, bracket_map, cd, atomcount + 1)) in is_anchored()
8519 if (scode[1] != OP_ALLANY || (bracket_map & cd->backref_map) != 0 || in is_anchored()
8520 atomcount > 0 || cd->had_pruneorskip) in is_anchored()
8562 compile_data *cd, int atomcount) in is_startline() argument
8589 if (!is_startline(scode, bracket_map, cd, atomcount)) return FALSE; in is_startline()
8603 if (!is_startline(scode, bracket_map, cd, atomcount)) return FALSE; in is_startline()
8613 if (!is_startline(scode, new_map, cd, atomcount)) return FALSE; in is_startline()
8620 if (!is_startline(scode, bracket_map, cd, atomcount)) return FALSE; in is_startline()
8627 if (!is_startline(scode, bracket_map, cd, atomcount + 1)) return FALSE; in is_startline()
8638 if (scode[1] != OP_ANY || (bracket_map & cd->backref_map) != 0 || in is_startline()
8639 atomcount > 0 || cd->had_pruneorskip) in is_startline()
8773 add_name(compile_data *cd, const pcre_uchar *name, int length, in add_name() argument
8777 pcre_uchar *slot = cd->name_table; in add_name()
8779 for (i = 0; i < cd->names_found; i++) in add_name()
8792 memmove(slot + cd->name_entry_size, slot, in add_name()
8793 IN_UCHARS((cd->names_found - i) * cd->name_entry_size)); in add_name()
8799 slot += cd->name_entry_size; in add_name()
8805 cd->names_found++; in add_name()
8886 compile_data *cd = &compile_block; in pcre_compile2() local
8932 cd->lcc = tables + lcc_offset; in pcre_compile2()
8933 cd->fcc = tables + fcc_offset; in pcre_compile2()
8934 cd->cbits = tables + cbits_offset; in pcre_compile2()
8935 cd->ctypes = tables + ctypes_offset; in pcre_compile2()
8952 cd->external_flags = 0; /* Initialize here for LIMIT_MATCH/RECURSION */ in pcre_compile2()
8999 cd->external_flags |= PCRE_MLSET; in pcre_compile2()
9018 cd->external_flags |= PCRE_RLSET; in pcre_compile2()
9118 cd->nltype = NLTYPE_ANYCRLF; in pcre_compile2()
9122 cd->nltype = NLTYPE_ANY; in pcre_compile2()
9126 cd->nltype = NLTYPE_FIXED; in pcre_compile2()
9129 cd->nllen = 2; in pcre_compile2()
9130 cd->nl[0] = (newline >> 8) & 255; in pcre_compile2()
9131 cd->nl[1] = newline & 255; in pcre_compile2()
9135 cd->nllen = 1; in pcre_compile2()
9136 cd->nl[0] = newline; in pcre_compile2()
9144 cd->top_backref = 0; in pcre_compile2()
9145 cd->backref_map = 0; in pcre_compile2()
9162 cd->bracount = cd->final_bracount = 0; in pcre_compile2()
9163 cd->names_found = 0; in pcre_compile2()
9164 cd->name_entry_size = 0; in pcre_compile2()
9165 cd->name_table = NULL; in pcre_compile2()
9166 cd->dupnames = FALSE; in pcre_compile2()
9167 cd->namedrefcount = 0; in pcre_compile2()
9168 cd->start_code = cworkspace; in pcre_compile2()
9169 cd->hwm = cworkspace; in pcre_compile2()
9170 cd->iscondassert = FALSE; in pcre_compile2()
9171 cd->start_workspace = cworkspace; in pcre_compile2()
9172 cd->workspace_size = COMPILE_WORK_SIZE; in pcre_compile2()
9173 cd->named_groups = named_groups; in pcre_compile2()
9174 cd->named_group_list_size = NAMED_GROUP_LIST_SIZE; in pcre_compile2()
9175 cd->start_pattern = (const pcre_uchar *)pattern; in pcre_compile2()
9176 cd->end_pattern = (const pcre_uchar *)(pattern + STRLEN_UC((const pcre_uchar *)pattern)); in pcre_compile2()
9177 cd->req_varyopt = 0; in pcre_compile2()
9178 cd->parens_depth = 0; in pcre_compile2()
9179 cd->assert_depth = 0; in pcre_compile2()
9180 cd->max_lookbehind = 0; in pcre_compile2()
9181 cd->external_options = options; in pcre_compile2()
9182 cd->open_caps = NULL; in pcre_compile2()
9194 (void)compile_regex(cd->external_options, &code, &ptr, &errorcode, FALSE, in pcre_compile2()
9196 cd, &length); in pcre_compile2()
9200 (int)(cd->hwm - cworkspace))); in pcre_compile2()
9213 (length + cd->names_found * cd->name_entry_size) * sizeof(pcre_uchar); in pcre_compile2()
9232 re->options = cd->external_options; in pcre_compile2()
9233 re->flags = cd->external_flags; in pcre_compile2()
9239 re->name_entry_size = cd->name_entry_size; in pcre_compile2()
9240 re->name_count = cd->names_found; in pcre_compile2()
9257 cd->final_bracount = cd->bracount; /* Save for checking forward references */ in pcre_compile2()
9258 cd->parens_depth = 0; in pcre_compile2()
9259 cd->assert_depth = 0; in pcre_compile2()
9260 cd->bracount = 0; in pcre_compile2()
9261 cd->max_lookbehind = 0; in pcre_compile2()
9262 cd->name_table = (pcre_uchar *)re + re->name_table_offset; in pcre_compile2()
9263 codestart = cd->name_table + re->name_entry_size * re->name_count; in pcre_compile2()
9264 cd->start_code = codestart; in pcre_compile2()
9265 cd->hwm = (pcre_uchar *)(cd->start_workspace); in pcre_compile2()
9266 cd->iscondassert = FALSE; in pcre_compile2()
9267 cd->req_varyopt = 0; in pcre_compile2()
9268 cd->had_accept = FALSE; in pcre_compile2()
9269 cd->had_pruneorskip = FALSE; in pcre_compile2()
9270 cd->check_lookbehind = FALSE; in pcre_compile2()
9271 cd->open_caps = NULL; in pcre_compile2()
9276 if (cd->names_found > 0) in pcre_compile2()
9278 int i = cd->names_found; in pcre_compile2()
9279 named_group *ng = cd->named_groups; in pcre_compile2()
9280 cd->names_found = 0; in pcre_compile2()
9282 add_name(cd, ng->name, ng->length, ng->number); in pcre_compile2()
9283 if (cd->named_group_list_size > NAMED_GROUP_LIST_SIZE) in pcre_compile2()
9284 (PUBL(free))((void *)cd->named_groups); in pcre_compile2()
9295 &firstchar, &firstcharflags, &reqchar, &reqcharflags, NULL, cd, NULL); in pcre_compile2()
9296 re->top_bracket = cd->bracount; in pcre_compile2()
9297 re->top_backref = cd->top_backref; in pcre_compile2()
9298 re->max_lookbehind = cd->max_lookbehind; in pcre_compile2()
9299 re->flags = cd->external_flags | PCRE_MODE; in pcre_compile2()
9301 if (cd->had_accept) in pcre_compile2()
9330 if (cd->hwm > cd->start_workspace) in pcre_compile2()
9334 while (errorcode == 0 && cd->hwm > cd->start_workspace) in pcre_compile2()
9337 cd->hwm -= LINK_SIZE; in pcre_compile2()
9338 offset = GET(cd->hwm, 0); in pcre_compile2()
9353 if (cd->workspace_size > COMPILE_WORK_SIZE) in pcre_compile2()
9354 (PUBL(free))((void *)cd->start_workspace); in pcre_compile2()
9355 cd->start_workspace = NULL; in pcre_compile2()
9372 auto_possessify(temp, utf, cd); in pcre_compile2()
9383 if (cd->check_lookbehind) in pcre_compile2()
9403 cd, NULL); in pcre_compile2()
9412 if (fixed_length > cd->max_lookbehind) cd->max_lookbehind = fixed_length; in pcre_compile2()
9445 if (is_anchored(codestart, 0, cd, 0)) re->options |= PCRE_ANCHORED; in pcre_compile2()
9467 if (cd->fcc[re->first_char] != re->first_char) in pcre_compile2()
9476 && cd->fcc[re->first_char] != re->first_char) in pcre_compile2()
9483 else if (is_startline(codestart, 0, cd, 0)) re->flags |= PCRE_STARTLINE; in pcre_compile2()
9509 if (cd->fcc[re->req_char] != re->req_char) in pcre_compile2()
9517 if (MAX_255(re->req_char) && cd->fcc[re->req_char] != re->req_char) in pcre_compile2()
9577 if (could_be_empty_branch(codestart, code, utf, cd, NULL)) in pcre_compile2()