Lines Matching refs:code
1667 first_significant_code(const pcre_uchar *code, BOOL skipassert) in first_significant_code() argument
1671 switch ((int)*code) in first_significant_code()
1676 if (!skipassert) return code; in first_significant_code()
1677 do code += GET(code, 1); while (*code == OP_ALT); in first_significant_code()
1678 code += PRIV(OP_lengths)[*code]; in first_significant_code()
1683 if (!skipassert) return code; in first_significant_code()
1692 code += PRIV(OP_lengths)[*code]; in first_significant_code()
1696 return code; in first_significant_code()
1734 find_fixedlength(pcre_uchar *code, BOOL utf, BOOL atend, compile_data *cd, in find_fixedlength() argument
1740 register pcre_uchar *cc = code + 1 + LINK_SIZE; in find_fixedlength()
2078 PRIV(find_bracket)(const pcre_uchar *code, BOOL utf, int number) in PRIV()
2082 register pcre_uchar c = *code; in PRIV()
2090 if (c == OP_XCLASS) code += GET(code, 1); in PRIV()
2096 if (number < 0) return (pcre_uchar *)code; in PRIV()
2097 code += PRIV(OP_lengths)[c]; in PRIV()
2105 int n = (int)GET2(code, 1+LINK_SIZE); in PRIV()
2106 if (n == number) return (pcre_uchar *)code; in PRIV()
2107 code += PRIV(OP_lengths)[c]; in PRIV()
2128 if (code[1] == OP_PROP || code[1] == OP_NOTPROP) code += 2; in PRIV()
2135 if (code[1 + IMM2_SIZE] == OP_PROP || code[1 + IMM2_SIZE] == OP_NOTPROP) in PRIV()
2136 code += 2; in PRIV()
2143 code += code[1]; in PRIV()
2149 code += PRIV(OP_lengths)[c]; in PRIV()
2214 if (HAS_EXTRALEN(code[-1])) code += GET_EXTRALEN(code[-1]); in PRIV()
2241 find_recurse(const pcre_uchar *code, BOOL utf) in find_recurse() argument
2245 register pcre_uchar c = *code; in find_recurse()
2247 if (c == OP_RECURSE) return code; in find_recurse()
2253 if (c == OP_XCLASS) code += GET(code, 1); in find_recurse()
2273 if (code[1] == OP_PROP || code[1] == OP_NOTPROP) code += 2; in find_recurse()
2280 if (code[1 + IMM2_SIZE] == OP_PROP || code[1 + IMM2_SIZE] == OP_NOTPROP) in find_recurse()
2281 code += 2; in find_recurse()
2288 code += code[1]; in find_recurse()
2294 code += PRIV(OP_lengths)[c]; in find_recurse()
2359 if (HAS_EXTRALEN(code[-1])) code += GET_EXTRALEN(code[-1]); in find_recurse()
2394 could_be_empty_branch(const pcre_uchar *code, const pcre_uchar *endcode, in could_be_empty_branch() argument
2400 for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE); in could_be_empty_branch()
2401 code < endcode; in could_be_empty_branch()
2402 code = first_significant_code(code + PRIV(OP_lengths)[c], TRUE)) in could_be_empty_branch()
2406 c = *code; in could_be_empty_branch()
2413 do code += GET(code, 1); while (*code == OP_ALT); in could_be_empty_branch()
2414 c = *code; in could_be_empty_branch()
2427 const pcre_uchar *scode = cd->start_code + GET(code, 1); in could_be_empty_branch()
2439 if ((int)GET(tcode, 0) == (int)(code + 1 - cd->start_code)) return TRUE; in could_be_empty_branch()
2449 if (code >= scode && code <= endgroup) continue; /* Simple recursion */ in could_be_empty_branch()
2485 code += PRIV(OP_lengths)[c]; in could_be_empty_branch()
2486 do code += GET(code, 1); while (*code == OP_ALT); in could_be_empty_branch()
2487 c = *code; in could_be_empty_branch()
2497 do code += GET(code, 1); while (*code == OP_ALT); in could_be_empty_branch()
2498 c = *code; in could_be_empty_branch()
2510 if (GET(code, 1) == 0) return TRUE; /* Hit unclosed bracket */ in could_be_empty_branch()
2516 if (c == OP_COND && code[GET(code, 1)] != OP_ALT) in could_be_empty_branch()
2517 code += GET(code, 1); in could_be_empty_branch()
2523 if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd, in could_be_empty_branch()
2525 code += GET(code, 1); in could_be_empty_branch()
2527 while (*code == OP_ALT); in could_be_empty_branch()
2531 c = *code; in could_be_empty_branch()
2547 ccode = code += GET(code, 1); in could_be_empty_branch()
2553 ccode = code + PRIV(OP_lengths)[OP_CLASS]; in could_be_empty_branch()
2647 if (code[1] == OP_PROP || code[1] == OP_NOTPROP) code += 2; in could_be_empty_branch()
2655 if (code[1 + IMM2_SIZE] == OP_PROP || code[1 + IMM2_SIZE] == OP_NOTPROP) in could_be_empty_branch()
2656 code += 2; in could_be_empty_branch()
2703 if (utf && HAS_EXTRALEN(code[1])) code += GET_EXTRALEN(code[1]); in could_be_empty_branch()
2721 if (utf && HAS_EXTRALEN(code[1 + IMM2_SIZE])) code += GET_EXTRALEN(code[1 + IMM2_SIZE]); in could_be_empty_branch()
2732 code += code[1]; in could_be_empty_branch()
2769 could_be_empty(const pcre_uchar *code, const pcre_uchar *endcode, in could_be_empty() argument
2772 while (bcptr != NULL && bcptr->current_branch >= code) in could_be_empty()
2913 get_chr_property_list(const pcre_uchar *code, BOOL utf, in get_chr_property_list() argument
2916 pcre_uchar c = *code; in get_chr_property_list()
2930 code++; in get_chr_property_list()
2938 code += IMM2_SIZE; in get_chr_property_list()
2961 list[0] = *code; in get_chr_property_list()
2962 code++; in get_chr_property_list()
2988 return code; in get_chr_property_list()
2992 GETCHARINCTEST(chr, code); in get_chr_property_list()
2995 return code; in get_chr_property_list()
3000 GETCHARINCTEST(chr, code); in get_chr_property_list()
3020 return code; in get_chr_property_list()
3025 if (code[0] != PT_CLIST) in get_chr_property_list()
3027 list[2] = code[0]; in get_chr_property_list()
3028 list[3] = code[1]; in get_chr_property_list()
3029 return code + 2; in get_chr_property_list()
3034 clist_src = PRIV(ucd_caseless_sets) + code[1]; in get_chr_property_list()
3036 code += 2; in get_chr_property_list()
3043 list[2] = code[0]; in get_chr_property_list()
3044 list[3] = code[1]; in get_chr_property_list()
3045 return code; in get_chr_property_list()
3055 return code; in get_chr_property_list()
3063 end = code + GET(code, 0) - 1; in get_chr_property_list()
3066 end = code + 32 / sizeof(pcre_uchar); in get_chr_property_list()
3093 list[2] = (pcre_uint32)(end - code); in get_chr_property_list()
3118 compare_opcodes(const pcre_uchar *code, BOOL utf, const compile_data *cd, in compare_opcodes() argument
3149 c = *code; in compare_opcodes()
3155 code += PRIV(OP_lengths)[c]; in compare_opcodes()
3161 do code += GET(code, 1); while (*code == OP_ALT); in compare_opcodes()
3162 c = *code; in compare_opcodes()
3182 switch(*(code - GET(code, 1))) in compare_opcodes()
3197 code += PRIV(OP_lengths)[c]; in compare_opcodes()
3204 next_code = code + GET(code, 1); in compare_opcodes()
3205 code += PRIV(OP_lengths)[c]; in compare_opcodes()
3209 if (!compare_opcodes(code, utf, cd, base_list, base_end, rec_limit)) in compare_opcodes()
3211 code = next_code + 1 + LINK_SIZE; in compare_opcodes()
3221 next_code = code + 1; in compare_opcodes()
3233 code += PRIV(OP_lengths)[c]; in compare_opcodes()
3242 code = get_chr_property_list(code, utf, cd->fcc, list); in compare_opcodes()
3243 if (code == NULL) return FALSE; /* Unsupported */ in compare_opcodes()
3279 set1 = (pcre_uint8 *)(code - list[2]); in compare_opcodes()
3289 ((list_ptr == list ? code : base_end) - list_ptr[2]); in compare_opcodes()
3294 xclass_flags = (list_ptr == list ? code : base_end) - list_ptr[2] + LINK_SIZE; in compare_opcodes()
3610 ((list_ptr == list ? code : base_end) - list_ptr[2]); in compare_opcodes()
3616 if (PRIV(xclass)(chr, (list_ptr == list ? code : base_end) - in compare_opcodes()
3657 auto_possessify(pcre_uchar *code, BOOL utf, const compile_data *cd) in auto_possessify() argument
3667 c = *code; in auto_possessify()
3681 get_chr_property_list(code, utf, cd->fcc, list) : NULL; in auto_possessify()
3690 *code += OP_POSSTAR - OP_STAR; in auto_possessify()
3694 *code += OP_POSSTAR - OP_MINSTAR; in auto_possessify()
3698 *code += OP_POSPLUS - OP_PLUS; in auto_possessify()
3702 *code += OP_POSPLUS - OP_MINPLUS; in auto_possessify()
3706 *code += OP_POSQUERY - OP_QUERY; in auto_possessify()
3710 *code += OP_POSQUERY - OP_MINQUERY; in auto_possessify()
3714 *code += OP_POSUPTO - OP_UPTO; in auto_possessify()
3718 *code += OP_POSUPTO - OP_MINUPTO; in auto_possessify()
3722 c = *code; in auto_possessify()
3728 repeat_opcode = code + GET(code, 1); in auto_possessify()
3731 repeat_opcode = code + 1 + (32 / sizeof(pcre_uchar)); in auto_possessify()
3737 end = get_chr_property_list(code, utf, cd->fcc, list); in auto_possessify()
3768 c = *code; in auto_possessify()
3785 if (code[1] == OP_PROP || code[1] == OP_NOTPROP) code += 2; in auto_possessify()
3792 if (code[1 + IMM2_SIZE] == OP_PROP || code[1 + IMM2_SIZE] == OP_NOTPROP) in auto_possessify()
3793 code += 2; in auto_possessify()
3798 code += GET(code, 1); in auto_possessify()
3806 code += code[1]; in auto_possessify()
3812 code += PRIV(OP_lengths)[c]; in auto_possessify()
3877 if (HAS_EXTRALEN(code[-1])) code += GET_EXTRALEN(code[-1]); in auto_possessify()
4074 auto_callout(pcre_uchar *code, const pcre_uchar *ptr, compile_data *cd) in auto_callout() argument
4076 *code++ = OP_CALLOUT; in auto_callout()
4077 *code++ = 255; in auto_callout()
4078 PUT(code, 0, (int)(ptr - cd->start_pattern)); /* Pattern offset */ in auto_callout()
4079 PUT(code, LINK_SIZE, 0); /* Default length */ in auto_callout()
4080 return code + 2 * LINK_SIZE; in auto_callout()
4471 register pcre_uchar *code = *codeptr; in compile_branch() local
4472 pcre_uchar *last_code = code; in compile_branch()
4473 pcre_uchar *orig_code = code; in compile_branch()
4587 if (code > cd->hwm) cd->hwm = code; /* High water info */ in compile_branch()
4589 if (code > cd->start_workspace + cd->workspace_size - in compile_branch()
4602 if (code < last_code) code = last_code; in compile_branch()
4606 if (OFLOW_MAX - *lengthptr < code - last_code) in compile_branch()
4612 *lengthptr += (int)(code - last_code); in compile_branch()
4614 (int)(code - last_code), c, c)); in compile_branch()
4624 memmove(orig_code, previous, IN_UCHARS(code - previous)); in compile_branch()
4625 code -= previous - orig_code; in compile_branch()
4629 else code = orig_code; in compile_branch()
4634 last_code = code; in compile_branch()
4666 previous_callout = code; in compile_branch()
4667 code = auto_callout(code, ptr, cd); in compile_branch()
4722 previous_callout = code; in compile_branch()
4723 code = auto_callout(code, ptr, cd); in compile_branch()
4738 *codeptr = code; in compile_branch()
4742 if (OFLOW_MAX - *lengthptr < code - last_code) in compile_branch()
4747 *lengthptr += (int)(code - last_code); /* To include callout length */ in compile_branch()
4763 *code++ = OP_CIRCM; in compile_branch()
4765 else *code++ = OP_CIRC; in compile_branch()
4770 *code++ = ((options & PCRE_MULTILINE) != 0)? OP_DOLLM : OP_DOLL; in compile_branch()
4782 previous = code; in compile_branch()
4784 *code++ = ((options & PCRE_DOTALL) != 0)? OP_ALLANY: OP_ANY; in compile_branch()
4834 previous = code; in compile_branch()
4878 *code++ = negate_class? OP_ALLANY : OP_FAIL; in compile_branch()
4896 class_uchardata = code + LINK_SIZE + 2; /* For XCLASS items */ in compile_branch()
5441 *code++ = OP_NOTPROP; in compile_branch()
5442 *code++ = PT_CLIST; in compile_branch()
5443 *code++ = d; in compile_branch()
5450 *code++ = ((options & PCRE_CASELESS) != 0)? OP_NOTI: OP_NOT; in compile_branch()
5453 code += PRIV(ord2utf)(c, code); in compile_branch()
5456 *code++ = c; in compile_branch()
5542 *code++ = OP_XCLASS; in compile_branch()
5543 code += LINK_SIZE; in compile_branch()
5544 *code = negate_class? XCL_NOT:0; in compile_branch()
5545 if (xclass_has_prop) *code |= XCL_HASPROP; in compile_branch()
5552 *code++ |= XCL_MAP; in compile_branch()
5553 memmove(code + (32 / sizeof(pcre_uchar)), code, in compile_branch()
5554 IN_UCHARS(class_uchardata - code)); in compile_branch()
5557 memcpy(code, classbits, 32); in compile_branch()
5558 code = class_uchardata + (32 / sizeof(pcre_uchar)); in compile_branch()
5560 else code = class_uchardata; in compile_branch()
5564 PUT(previous, 1, (int)(code - previous)); in compile_branch()
5581 *code++ = (negate_class == should_flip_negation) ? OP_CLASS : OP_NCLASS; in compile_branch()
5586 memcpy(code, classbits, 32); in compile_branch()
5588 code += 32 / sizeof(pcre_uchar); in compile_branch()
5705 code += 2 + 2 * LINK_SIZE; in compile_branch()
5745 if (utf && NOT_FIRSTCHAR(code[-1])) in compile_branch()
5747 pcre_uchar *lastchar = code - 1; in compile_branch()
5749 c = (int)(code - lastchar); /* Length of UTF-8 character */ in compile_branch()
5759 c = code[-1]; in compile_branch()
5792 oldcode = code; in compile_branch()
5793 code = previous; /* Usually overwrite previous item */ in compile_branch()
5809 if (repeat_max == -1) *code++ = OP_STAR + repeat_type; in compile_branch()
5810 else if (repeat_max == 1) *code++ = OP_QUERY + repeat_type; in compile_branch()
5813 *code++ = OP_UPTO + repeat_type; in compile_branch()
5814 PUT2INC(code, 0, repeat_max); in compile_branch()
5826 *code++ = OP_PLUS + repeat_type; in compile_branch()
5829 code = oldcode; /* leave previous item in place */ in compile_branch()
5831 *code++ = OP_UPTO + repeat_type; in compile_branch()
5832 PUT2INC(code, 0, repeat_max - 1); in compile_branch()
5841 *code++ = OP_EXACT + op_type; /* NB EXACT doesn't have repeat_type */ in compile_branch()
5842 PUT2INC(code, 0, repeat_min); in compile_branch()
5855 memcpy(code, utf_chars, IN_UCHARS(c & 7)); in compile_branch()
5856 code += c & 7; in compile_branch()
5861 *code++ = c; in compile_branch()
5864 *code++ = prop_type; in compile_branch()
5865 *code++ = prop_value; in compile_branch()
5868 *code++ = OP_STAR + repeat_type; in compile_branch()
5880 memcpy(code, utf_chars, IN_UCHARS(c & 7)); in compile_branch()
5881 code += c & 7; in compile_branch()
5885 *code++ = c; in compile_branch()
5888 *code++ = prop_type; in compile_branch()
5889 *code++ = prop_value; in compile_branch()
5895 *code++ = OP_QUERY + repeat_type; in compile_branch()
5899 *code++ = OP_UPTO + repeat_type; in compile_branch()
5900 PUT2INC(code, 0, repeat_max); in compile_branch()
5910 memcpy(code, utf_chars, IN_UCHARS(c & 7)); in compile_branch()
5911 code += c & 7; in compile_branch()
5915 *code++ = c; in compile_branch()
5923 *code++ = prop_type; in compile_branch()
5924 *code++ = prop_value; in compile_branch()
5941 code = previous; in compile_branch()
5946 *code++ = OP_CRSTAR + repeat_type; in compile_branch()
5948 *code++ = OP_CRPLUS + repeat_type; in compile_branch()
5950 *code++ = OP_CRQUERY + repeat_type; in compile_branch()
5953 *code++ = OP_CRRANGE + repeat_type; in compile_branch()
5954 PUT2INC(code, 0, repeat_min); in compile_branch()
5956 PUT2INC(code, 0, repeat_max); in compile_branch()
5972 int len = (int)(code - previous); in compile_branch()
6027 *code = OP_END; in compile_branch()
6030 code++; in compile_branch()
6051 *code = OP_END; in compile_branch()
6054 code += 2 + LINK_SIZE; in compile_branch()
6116 memcpy(code, previous, IN_UCHARS(len)); in compile_branch()
6134 code += len; in compile_branch()
6180 *code++ = OP_BRAZERO + repeat_type; in compile_branch()
6188 *code++ = OP_BRA; in compile_branch()
6189 offset = (bralink == NULL)? 0 : (int)(code - bralink); in compile_branch()
6190 bralink = code; in compile_branch()
6191 PUTINC(code, 0, offset); in compile_branch()
6194 memcpy(code, previous, IN_UCHARS(len)); in compile_branch()
6215 code += len; in compile_branch()
6224 int offset = (int)(code - bralink + 1); in compile_branch()
6225 pcre_uchar *bra = code - offset; in compile_branch()
6228 *code++ = OP_KET; in compile_branch()
6229 PUTINC(code, 0, offset); in compile_branch()
6261 pcre_uchar *ketcode = code - 1 - LINK_SIZE; in compile_branch()
6314 int nlen = (int)(code - bracode); in compile_branch()
6315 *code = OP_END; in compile_branch()
6318 code += 1 + LINK_SIZE; in compile_branch()
6321 *code++ = OP_KETRPOS; in compile_branch()
6322 PUTINC(code, 0, nlen); in compile_branch()
6431 len = (int)(code - tempcode); in compile_branch()
6449 *code = OP_END; in compile_branch()
6452 code += 1 + LINK_SIZE; in compile_branch()
6455 *code++ = OP_KET; in compile_branch()
6456 PUTINC(code, 0, len); in compile_branch()
6498 *code = OP_END; in compile_branch()
6501 code += 1 + LINK_SIZE; in compile_branch()
6504 *code++ = OP_KET; in compile_branch()
6505 PUTINC(code, 0, len); in compile_branch()
6605 *code++ = OP_CLOSE; in compile_branch()
6606 PUT2INC(code, 0, oc->number); in compile_branch()
6608 setverb = *code++ = in compile_branch()
6624 setverb = *code++ = verbs[i].op; in compile_branch()
6634 setverb = *code++ = verbs[i].op_arg; in compile_branch()
6638 *code++ = 0; in compile_branch()
6642 *code++ = arglen; in compile_branch()
6643 memcpy(code, arg, IN_UCHARS(arglen)); in compile_branch()
6644 code += arglen; in compile_branch()
6646 *code++ = 0; in compile_branch()
6764 code[1+LINK_SIZE] = OP_CREF; in compile_branch()
6778 code[1+LINK_SIZE] = OP_RREF; /* Change the type of test */ in compile_branch()
6877 PUT2(code, 2+LINK_SIZE, recno); in compile_branch()
6912 PUT2(code, 2+LINK_SIZE, offset); in compile_branch()
6913 PUT2(code, 2+LINK_SIZE+IMM2_SIZE, count); in compile_branch()
6915 code[1+LINK_SIZE]++; in compile_branch()
6919 PUT2(code, 2+LINK_SIZE, recno); in compile_branch()
6956 code[1+LINK_SIZE] = OP_RREF; /* Change test type */ in compile_branch()
6957 PUT2(code, 2+LINK_SIZE, recno); in compile_branch()
6965 code[1+LINK_SIZE] = OP_DEF; in compile_branch()
6999 *code++ = OP_FAIL; in compile_branch()
7043 previous_callout = code; /* Save for later completion */ in compile_branch()
7045 *code++ = OP_CALLOUT; in compile_branch()
7061 *code++ = n; in compile_branch()
7062 PUT(code, 0, (int)(ptr - cd->start_pattern + 1)); /* Pattern offset */ in compile_branch()
7063 PUT(code, LINK_SIZE, 0); /* Default length */ in compile_branch()
7064 code += 2 * LINK_SIZE; in compile_branch()
7364 previous = code; in compile_branch()
7366 *code++ = ((options & PCRE_CASELESS) != 0)? OP_DNREFI : OP_DNREF; in compile_branch()
7367 PUT2INC(code, 0, index); in compile_branch()
7368 PUT2INC(code, 0, count); in compile_branch()
7491 previous = code; in compile_branch()
7504 *code = OP_END; in compile_branch()
7529 PUTINC(cd->hwm, 0, (int)(code + 1 - cd->start_code)); in compile_branch()
7542 could_be_empty(called, code, bcptr, utf, cd)) in compile_branch()
7553 *code = OP_RECURSE; in compile_branch()
7554 PUT(code, 1, (int)(called - cd->start_code)); in compile_branch()
7555 code += 1 + LINK_SIZE; in compile_branch()
7622 if (code == cd->start_code + 1 + LINK_SIZE && in compile_branch()
7667 PUT2(code, 1+LINK_SIZE, cd->bracount); in compile_branch()
7696 previous = code; in compile_branch()
7700 *code = bravalue; in compile_branch()
7701 tempcode = code; in compile_branch()
7734 *code = OP_ONCE_NC; in compile_branch()
7750 pcre_uchar *tc = code; in compile_branch()
7762 if (code[LINK_SIZE+1] == OP_DEF) in compile_branch()
7808 code++; /* This already contains bravalue */ in compile_branch()
7809 PUTINC(code, 0, 1 + LINK_SIZE); in compile_branch()
7810 *code++ = OP_KET; in compile_branch()
7811 PUTINC(code, 0, 1 + LINK_SIZE); in compile_branch()
7817 code = tempcode; in compile_branch()
8013 previous = code; in compile_branch()
8015 *code++ = ((options & PCRE_CASELESS) != 0)? OP_REFI : OP_REF; in compile_branch()
8016 PUT2INC(code, 0, recno); in compile_branch()
8043 previous = code; in compile_branch()
8045 *code++ = ((escape == ESC_p) != negated)? OP_PROP : OP_NOTPROP; in compile_branch()
8046 *code++ = ptype; in compile_branch()
8047 *code++ = pdata; in compile_branch()
8084 previous = (escape > ESC_b && escape < ESC_Z)? code : NULL; in compile_branch()
8086 *code++ = (!utf && escape == ESC_C)? OP_ALLANY : escape; in compile_branch()
8128 previous = code; in compile_branch()
8141 *code++ = OP_PROP; in compile_branch()
8142 *code++ = PT_CLIST; in compile_branch()
8143 *code++ = c; in compile_branch()
8153 *code++ = ((options & PCRE_CASELESS) != 0)? OP_CHARI : OP_CHAR; in compile_branch()
8154 for (c = 0; c < mclength; c++) *code++ = mcbuffer[c]; in compile_branch()
8183 reqchar = code[-1]; in compile_branch()
8201 reqchar = code[-1]; in compile_branch()
8263 pcre_uchar *code = *codeptr; in compile_regex() local
8264 pcre_uchar *last_branch = code; in compile_regex()
8265 pcre_uchar *start_bracket = code; in compile_regex()
8290 bc.current_branch = code; in compile_regex()
8317 if (*code == OP_CBRA) in compile_regex()
8319 capnumber = GET2(code, 1 + LINK_SIZE); in compile_regex()
8328 PUT(code, 1, 0); in compile_regex()
8329 code += 1 + LINK_SIZE + skipbytes; in compile_regex()
8345 *code++ = OP_REVERSE; in compile_regex()
8346 reverse_count = code; in compile_regex()
8347 PUTINC(code, 0, 0); in compile_regex()
8354 if (!compile_branch(&options, &code, &ptr, errorcodeptr, &branchfirstchar, in compile_regex()
8436 *code = OP_END; in compile_regex()
8471 int branch_length = (int)(code - last_branch); in compile_regex()
8484 *code = OP_KET; in compile_regex()
8485 PUT(code, 1, (int)(code - start_bracket)); in compile_regex()
8486 code += 1 + LINK_SIZE; in compile_regex()
8497 *code = OP_END; in compile_regex()
8501 IN_UCHARS(code - start_bracket)); in compile_regex()
8503 code += 1 + LINK_SIZE; in compile_regex()
8504 PUT(start_bracket, 1, (int)(code - start_bracket)); in compile_regex()
8505 *code = OP_KET; in compile_regex()
8506 PUT(code, 1, (int)(code - start_bracket)); in compile_regex()
8507 code += 1 + LINK_SIZE; in compile_regex()
8519 *codeptr = code; in compile_regex()
8548 code = *codeptr + 1 + LINK_SIZE + skipbytes; in compile_regex()
8553 *code = OP_ALT; in compile_regex()
8554 PUT(code, 1, (int)(code - last_branch)); in compile_regex()
8555 bc.current_branch = last_branch = code; in compile_regex()
8556 code += 1 + LINK_SIZE; in compile_regex()
8609 is_anchored(register const pcre_uchar *code, unsigned int bracket_map, in is_anchored() argument
8614 code + PRIV(OP_lengths)[*code], FALSE); in is_anchored()
8666 code += GET(code, 1); in is_anchored()
8668 while (*code == OP_ALT); /* Loop for each alternative */ in is_anchored()
8699 is_startline(const pcre_uchar *code, unsigned int bracket_map, in is_startline() argument
8704 code + PRIV(OP_lengths)[*code], FALSE); in is_startline()
8790 code += GET(code, 1); in is_startline()
8792 while (*code == OP_ALT); /* Loop for each alternative */ in is_startline()
8820 find_firstassertedchar(const pcre_uchar *code, pcre_int32 *flags, in find_firstassertedchar() argument
8830 int xl = (*code == OP_CBRA || *code == OP_SCBRA || in find_firstassertedchar()
8831 *code == OP_CBRAPOS || *code == OP_SCBRAPOS)? IMM2_SIZE:0; in find_firstassertedchar()
8832 const pcre_uchar *scode = first_significant_code(code + 1+LINK_SIZE + xl, in find_firstassertedchar()
8883 code += GET(code, 1); in find_firstassertedchar()
8885 while (*code == OP_ALT); in find_firstassertedchar()
9020 pcre_uchar *code; in pcre_compile2() local
9330 code = cworkspace; in pcre_compile2()
9331 *code = OP_BRA; in pcre_compile2()
9333 (void)compile_regex(cd->external_options, &code, &ptr, &errorcode, FALSE, in pcre_compile2()
9431 code = (pcre_uchar *)codestart; in pcre_compile2()
9432 *code = OP_BRA; in pcre_compile2()
9433 (void)compile_regex(re->options, &code, &ptr, &errorcode, FALSE, FALSE, 0, 0, in pcre_compile2()
9453 *code++ = OP_END; in pcre_compile2()
9456 if (code - codestart > length) errorcode = ERR23; in pcre_compile2()
9463 VALGRIND_MAKE_MEM_NOACCESS(code, (length - (code - codestart)) * sizeof(pcre_uchar)); in pcre_compile2()
9711 if (code - codestart > length) in pcre_compile2()
9726 if (could_be_empty_branch(codestart, code, utf, cd, NULL)) in pcre_compile2()