Lines Matching refs:eptr

154   eptr        pointer into the subject
165 match_ref(int offset, register PCRE_PUCHAR eptr, int length, match_data *md,
168 PCRE_PUCHAR eptr_start = eptr;
175 if (eptr >= md->end_subject)
180 pchars(eptr, length, TRUE, md);
215 if (eptr >= md->end_subject) return -2; /* Partial match */
216 GETCHARINC(c, eptr);
239 if (eptr >= md->end_subject) return -2; /* Partial match */
240 cc = UCHAR21TEST(eptr);
244 eptr++;
256 if (eptr >= md->end_subject) return -2; /* Partial match */
257 if (UCHAR21INCTEST(p) != UCHAR21INCTEST(eptr)) return -1;
261 return (int)(eptr - eptr_start);
474 if (md->partial != 0 && eptr >= md->end_subject && \
475 eptr > md->start_used_ptr) \
482 if (md->partial != 0 && eptr > md->start_used_ptr) \
495 eptr pointer to current character in subject
501 eptrb pointer to chain of blocks containing eptr at start of
513 match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
542 frame->Xeptr = eptr;
555 #define eptr frame->Xeptr
672 int len = (char *)&rdepth - (char *)eptr;
741 newptrb.epb_saved_eptr = eptr;
759 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
774 md->start_match_ptr = eptr;
783 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
789 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
797 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
805 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
808 md->start_match_ptr = eptr; /* Pass back current position */
826 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top, md,
843 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
852 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode] + ecode[1], offset_top,
875 saved_eptr = eptr;
879 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM64);
909 eptr = md->end_match_ptr;
916 if (*ecode == OP_KET || eptr == saved_eptr)
928 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM65);
935 RMATCH(eptr, prev, offset_top, md, eptrb, RM66);
964 pchars(eptr, 16, TRUE, md);
978 (int)(eptr - md->start_subject);
983 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
1080 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md, eptrb,
1135 pchars(eptr, 16, TRUE, md);
1163 (int)(eptr - md->start_subject);
1165 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
1174 if (eptr == md->end_match_ptr) /* Matched an empty string */
1179 eptr = md->end_match_ptr;
1232 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
1240 if (eptr == md->end_match_ptr) /* Matched an empty string */
1245 eptr = md->end_match_ptr;
1311 cb.current_position = (int)(eptr - md->start_subject);
1388 RMATCH(eptr, ecode, offset_top, md, NULL, RM3);
1439 RMATCH(eptr, ecode, offset_top, md, eptrb, RM49);
1468 md->offset_vector[offset+1] = (int)(eptr - md->start_subject);
1497 if (eptr == mstart && op != OP_ASSERT_ACCEPT &&
1506 md->end_match_ptr = eptr; /* Record where we ended */
1541 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, NULL, RM4);
1612 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, NULL, RM5);
1680 eptr--;
1681 if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);
1682 BACKCHAR(eptr);
1691 eptr -= GET(ecode, 1);
1692 if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);
1697 if (eptr < md->start_used_ptr) md->start_used_ptr = eptr;
1721 cb.current_position = (int)(eptr - md->start_subject);
1767 if (recno == ri->group_num && eptr == ri->subject_position)
1774 new_recursive.subject_position = eptr;
1806 RMATCH(eptr, callpat + PRIV(OP_lengths)[*callpat], offset_top,
1822 eptr = md->end_match_ptr;
1878 RMATCH(eptr, next, offset_top, md, eptrb, RM10);
1887 RMATCH(eptr, next + 1+LINK_SIZE, offset_top, md, eptrb, RM11);
1934 md->end_match_ptr = eptr; /* For ONCE_NC */
1963 md->end_match_ptr = eptr;
1994 md->offset_vector[offset+1] = (int)(eptr - md->start_subject);
2007 md->end_match_ptr = eptr;
2021 if (*ecode == OP_KET || eptr == saved_eptr)
2025 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM12);
2042 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM7);
2046 RMATCH(eptr, prev, offset_top, md, eptrb, RM8);
2053 RMATCH(eptr, prev, offset_top, md, eptrb, RM50);
2061 RMATCH(eptr, prev, offset_top, md, eptrb, RM13);
2066 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM9);
2079 if (md->notbol && eptr == md->start_subject) RRETURN(MATCH_NOMATCH);
2084 if (eptr != md->start_subject) RRETURN(MATCH_NOMATCH);
2091 if (md->notbol && eptr == md->start_subject) RRETURN(MATCH_NOMATCH);
2092 if (eptr != md->start_subject &&
2093 (eptr == md->end_subject || !WAS_NEWLINE(eptr)))
2101 if (eptr != md->start_subject + md->start_offset) RRETURN(MATCH_NOMATCH);
2108 mstart = eptr;
2116 if (eptr < md->end_subject)
2118 if (!IS_NEWLINE(eptr))
2121 eptr + 1 >= md->end_subject &&
2124 UCHAR21TEST(eptr) == NLBLOCK->nl[0])
2152 if (eptr < md->end_subject) RRETURN(MATCH_NOMATCH);
2161 if (eptr < md->end_subject &&
2162 (!IS_NEWLINE(eptr) || eptr != md->end_subject - md->nllen))
2165 eptr + 1 >= md->end_subject &&
2168 UCHAR21TEST(eptr) == NLBLOCK->nl[0])
2198 if (eptr == md->start_subject) prev_is_word = FALSE; else
2200 PCRE_PUCHAR lastptr = eptr - 1;
2220 if (eptr >= md->end_subject)
2227 GETCHAR(c, eptr);
2251 if (eptr == md->start_subject) prev_is_word = FALSE; else
2253 if (eptr <= md->start_used_ptr) md->start_used_ptr = eptr - 1;
2257 c = eptr[-1];
2266 prev_is_word = MAX_255(eptr[-1])
2267 && ((md->ctypes[eptr[-1]] & ctype_word) != 0);
2272 if (eptr >= md->end_subject)
2281 c = *eptr;
2290 cur_is_word = MAX_255(*eptr)
2291 && ((md->ctypes[*eptr] & ctype_word) != 0);
2306 if (IS_NEWLINE(eptr)) RRETURN(MATCH_NOMATCH);
2308 eptr + 1 >= md->end_subject &&
2311 UCHAR21TEST(eptr) == NLBLOCK->nl[0])
2322 if (eptr >= md->end_subject) /* DO NOT merge the eptr++ here; it must */
2327 eptr++;
2329 if (utf) ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
2338 if (eptr >= md->end_subject) /* DO NOT merge the eptr++ here; it must */
2343 eptr++;
2348 if (eptr >= md->end_subject)
2353 GETCHARINCTEST(c, eptr);
2365 if (eptr >= md->end_subject)
2370 GETCHARINCTEST(c, eptr);
2382 if (eptr >= md->end_subject)
2387 GETCHARINCTEST(c, eptr);
2399 if (eptr >= md->end_subject)
2404 GETCHARINCTEST(c, eptr);
2416 if (eptr >= md->end_subject)
2421 GETCHARINCTEST(c, eptr);
2433 if (eptr >= md->end_subject)
2438 GETCHARINCTEST(c, eptr);
2450 if (eptr >= md->end_subject)
2455 GETCHARINCTEST(c, eptr);
2461 if (eptr >= md->end_subject)
2465 else if (UCHAR21TEST(eptr) == CHAR_LF) eptr++;
2485 if (eptr >= md->end_subject)
2490 GETCHARINCTEST(c, eptr);
2500 if (eptr >= md->end_subject)
2505 GETCHARINCTEST(c, eptr);
2515 if (eptr >= md->end_subject)
2520 GETCHARINCTEST(c, eptr);
2530 if (eptr >= md->end_subject)
2535 GETCHARINCTEST(c, eptr);
2550 if (eptr >= md->end_subject)
2555 GETCHARINCTEST(c, eptr);
2655 if (eptr >= md->end_subject)
2663 GETCHARINCTEST(c, eptr);
2665 while (eptr < md->end_subject)
2668 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
2672 eptr += len;
2769 if ((length = match_ref(offset, eptr, length, md, caseless)) < 0)
2771 if (length == -2) eptr = md->end_subject; /* Partial match */
2775 eptr += length;
2790 address of eptr, so that eptr can be a register variable. */
2795 if ((slength = match_ref(offset, eptr, length, md, caseless)) < 0)
2797 if (slength == -2) eptr = md->end_subject; /* Partial match */
2801 eptr += slength;
2816 RMATCH(eptr, ecode, offset_top, md, eptrb, RM14);
2819 if ((slength = match_ref(offset, eptr, length, md, caseless)) < 0)
2821 if (slength == -2) eptr = md->end_subject; /* Partial match */
2825 eptr += slength;
2834 pp = eptr;
2838 if ((slength = match_ref(offset, eptr, length, md, caseless)) < 0)
2840 /* Can't use CHECK_PARTIAL because we don't want to update eptr in
2851 eptr += slength;
2854 while (eptr >= pp)
2856 RMATCH(eptr, ecode, offset_top, md, eptrb, RM15);
2858 eptr -= length;
2926 if (eptr >= md->end_subject)
2931 GETCHARINC(c, eptr);
2946 if (eptr >= md->end_subject)
2951 c = *eptr++;
2978 RMATCH(eptr, ecode, offset_top, md, eptrb, RM16);
2981 if (eptr >= md->end_subject)
2986 GETCHARINC(c, eptr);
3001 RMATCH(eptr, ecode, offset_top, md, eptrb, RM17);
3004 if (eptr >= md->end_subject)
3009 c = *eptr++;
3027 pp = eptr;
3035 if (eptr >= md->end_subject)
3040 GETCHARLEN(c, eptr, len);
3047 eptr += len;
3054 RMATCH(eptr, ecode, offset_top, md, eptrb, RM18);
3056 if (eptr-- == pp) break; /* Stop if tried at original pos */
3057 BACKCHAR(eptr);
3066 if (eptr >= md->end_subject)
3071 c = *eptr;
3080 eptr++;
3085 while (eptr >= pp)
3087 RMATCH(eptr, ecode, offset_top, md, eptrb, RM19);
3089 eptr--;
3150 if (eptr >= md->end_subject)
3155 GETCHARINCTEST(c, eptr);
3171 RMATCH(eptr, ecode, offset_top, md, eptrb, RM20);
3174 if (eptr >= md->end_subject)
3179 GETCHARINCTEST(c, eptr);
3189 pp = eptr;
3193 if (eptr >= md->end_subject)
3199 GETCHARLENTEST(c, eptr, len);
3201 c = *eptr;
3204 eptr += len;
3211 RMATCH(eptr, ecode, offset_top, md, eptrb, RM21);
3213 if (eptr-- == pp) break; /* Stop if tried at original pos */
3215 if (utf) BACKCHAR(eptr);
3234 if (length > md->end_subject - eptr)
3239 while (length-- > 0) if (*ecode++ != UCHAR21INC(eptr)) RRETURN(MATCH_NOMATCH);
3245 if (md->end_subject - eptr < 1)
3250 if (ecode[1] != *eptr++) RRETURN(MATCH_NOMATCH);
3259 if (eptr >= md->end_subject)
3279 pcre_uint32 cc = UCHAR21(eptr);
3282 eptr++;
3292 GETCHARINC(dc, eptr);
3313 != TABLE_GET(*eptr, md->lcc, *eptr)) RRETURN(MATCH_NOMATCH);
3314 eptr++;
3391 until eptr is past the end of the maximum run. If possessive, we are
3425 if (eptr <= md->end_subject - length &&
3426 memcmp(eptr, charptr, IN_UCHARS(length)) == 0) eptr += length;
3429 eptr <= md->end_subject - oclength &&
3430 memcmp(eptr, occhars, IN_UCHARS(oclength)) == 0) eptr += oclength;
3445 RMATCH(eptr, ecode, offset_top, md, eptrb, RM22);
3448 if (eptr <= md->end_subject - length &&
3449 memcmp(eptr, charptr, IN_UCHARS(length)) == 0) eptr += length;
3452 eptr <= md->end_subject - oclength &&
3453 memcmp(eptr, occhars, IN_UCHARS(oclength)) == 0) eptr += oclength;
3466 pp = eptr;
3469 if (eptr <= md->end_subject - length &&
3470 memcmp(eptr, charptr, IN_UCHARS(length)) == 0) eptr += length;
3473 eptr <= md->end_subject - oclength &&
3474 memcmp(eptr, occhars, IN_UCHARS(oclength)) == 0) eptr += oclength;
3486 if (eptr <= pp) goto TAIL_RECURSE;
3487 RMATCH(eptr, ecode, offset_top, md, eptrb, RM23);
3490 eptr--;
3491 BACKCHAR(eptr);
3493 eptr -= length;
3519 max, (char *)eptr));
3543 if (eptr >= md->end_subject)
3548 cc = UCHAR21TEST(eptr);
3550 eptr++;
3558 RMATCH(eptr, ecode, offset_top, md, eptrb, RM24);
3561 if (eptr >= md->end_subject)
3566 cc = UCHAR21TEST(eptr);
3568 eptr++;
3574 pp = eptr;
3578 if (eptr >= md->end_subject)
3583 cc = UCHAR21TEST(eptr);
3585 eptr++;
3590 if (eptr == pp) goto TAIL_RECURSE;
3591 RMATCH(eptr, ecode, offset_top, md, eptrb, RM25);
3592 eptr--;
3605 if (eptr >= md->end_subject)
3610 if (fc != UCHAR21INCTEST(eptr)) RRETURN(MATCH_NOMATCH);
3619 RMATCH(eptr, ecode, offset_top, md, eptrb, RM26);
3622 if (eptr >= md->end_subject)
3627 if (fc != UCHAR21INCTEST(eptr)) RRETURN(MATCH_NOMATCH);
3633 pp = eptr;
3636 if (eptr >= md->end_subject)
3641 if (fc != UCHAR21TEST(eptr)) break;
3642 eptr++;
3647 if (eptr == pp) goto TAIL_RECURSE;
3648 RMATCH(eptr, ecode, offset_top, md, eptrb, RM27);
3649 eptr--;
3662 if (eptr >= md->end_subject)
3674 GETCHARINC(c, eptr);
3698 c = *eptr++;
3792 max, (char *)eptr));
3814 if (eptr >= md->end_subject)
3819 GETCHARINC(d, eptr);
3829 if (eptr >= md->end_subject)
3834 if (fc == *eptr || foc == *eptr) RRETURN(MATCH_NOMATCH);
3835 eptr++;
3849 RMATCH(eptr, ecode, offset_top, md, eptrb, RM28);
3852 if (eptr >= md->end_subject)
3857 GETCHARINC(d, eptr);
3867 RMATCH(eptr, ecode, offset_top, md, eptrb, RM29);
3870 if (eptr >= md->end_subject)
3875 if (fc == *eptr || foc == *eptr) RRETURN(MATCH_NOMATCH);
3876 eptr++;
3886 pp = eptr;
3895 if (eptr >= md->end_subject)
3900 GETCHARLEN(d, eptr, len);
3902 eptr += len;
3907 if (eptr <= pp) goto TAIL_RECURSE;
3908 RMATCH(eptr, ecode, offset_top, md, eptrb, RM30);
3910 eptr--;
3911 BACKCHAR(eptr);
3920 if (eptr >= md->end_subject)
3925 if (fc == *eptr || foc == *eptr) break;
3926 eptr++;
3931 if (eptr == pp) goto TAIL_RECURSE;
3932 RMATCH(eptr, ecode, offset_top, md, eptrb, RM31);
3934 eptr--;
3951 if (eptr >= md->end_subject)
3956 GETCHARINC(d, eptr);
3966 if (eptr >= md->end_subject)
3971 if (fc == *eptr++) RRETURN(MATCH_NOMATCH);
3985 RMATCH(eptr, ecode, offset_top, md, eptrb, RM32);
3988 if (eptr >= md->end_subject)
3993 GETCHARINC(d, eptr);
4003 RMATCH(eptr, ecode, offset_top, md, eptrb, RM33);
4006 if (eptr >= md->end_subject)
4011 if (fc == *eptr++) RRETURN(MATCH_NOMATCH);
4021 pp = eptr;
4030 if (eptr >= md->end_subject)
4035 GETCHARLEN(d, eptr, len);
4037 eptr += len;
4042 if (eptr <= pp) goto TAIL_RECURSE;
4043 RMATCH(eptr, ecode, offset_top, md, eptrb, RM34);
4045 eptr--;
4046 BACKCHAR(eptr);
4055 if (eptr >= md->end_subject)
4060 if (fc == *eptr) break;
4061 eptr++;
4066 if (eptr == pp) goto TAIL_RECURSE;
4067 RMATCH(eptr, ecode, offset_top, md, eptrb, RM35);
4069 eptr--;
4169 if (eptr >= md->end_subject)
4174 GETCHARINCTEST(c, eptr);
4182 if (eptr >= md->end_subject)
4187 GETCHARINCTEST(c, eptr);
4199 if (eptr >= md->end_subject)
4204 GETCHARINCTEST(c, eptr);
4213 if (eptr >= md->end_subject)
4218 GETCHARINCTEST(c, eptr);
4227 if (eptr >= md->end_subject)
4232 GETCHARINCTEST(c, eptr);
4242 if (eptr >= md->end_subject)
4247 GETCHARINCTEST(c, eptr);
4262 if (eptr >= md->end_subject)
4267 GETCHARINCTEST(c, eptr);
4287 if (eptr >= md->end_subject)
4292 GETCHARINCTEST(c, eptr);
4304 if (eptr >= md->end_subject)
4309 GETCHARINCTEST(c, eptr);
4324 if (eptr >= md->end_subject)
4329 GETCHARINCTEST(c, eptr);
4351 if (eptr >= md->end_subject)
4359 GETCHARINCTEST(c, eptr);
4361 while (eptr < md->end_subject)
4364 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
4368 eptr += len;
4386 if (eptr >= md->end_subject)
4391 if (IS_NEWLINE(eptr)) RRETURN(MATCH_NOMATCH);
4393 eptr + 1 >= md->end_subject &&
4396 UCHAR21(eptr) == NLBLOCK->nl[0])
4401 eptr++;
4402 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4409 if (eptr >= md->end_subject)
4414 eptr++;
4415 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4420 if (eptr > md->end_subject - min) RRETURN(MATCH_NOMATCH);
4421 eptr += min;
4427 if (eptr >= md->end_subject)
4432 GETCHARINC(c, eptr);
4438 if (eptr < md->end_subject && UCHAR21(eptr) == CHAR_LF) eptr++;
4460 if (eptr >= md->end_subject)
4465 GETCHARINC(c, eptr);
4477 if (eptr >= md->end_subject)
4482 GETCHARINC(c, eptr);
4494 if (eptr >= md->end_subject)
4499 GETCHARINC(c, eptr);
4511 if (eptr >= md->end_subject)
4516 GETCHARINC(c, eptr);
4528 if (eptr >= md->end_subject)
4533 GETCHARINC(c, eptr);
4543 if (eptr >= md->end_subject)
4548 cc = UCHAR21(eptr);
4551 eptr++;
4560 if (eptr >= md->end_subject)
4565 cc = UCHAR21(eptr);
4568 eptr++;
4569 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4577 if (eptr >= md->end_subject)
4582 cc = UCHAR21(eptr);
4585 eptr++;
4594 if (eptr >= md->end_subject)
4599 cc = UCHAR21(eptr);
4602 eptr++;
4603 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4611 if (eptr >= md->end_subject)
4616 cc = UCHAR21(eptr);
4619 eptr++;
4639 if (eptr >= md->end_subject)
4644 if (IS_NEWLINE(eptr)) RRETURN(MATCH_NOMATCH);
4646 eptr + 1 >= md->end_subject &&
4649 *eptr == NLBLOCK->nl[0])
4654 eptr++;
4659 if (eptr > md->end_subject - min)
4664 eptr += min;
4668 if (eptr > md->end_subject - min)
4673 eptr += min;
4679 if (eptr >= md->end_subject)
4684 switch(*eptr++)
4689 if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
4711 if (eptr >= md->end_subject)
4716 switch(*eptr++)
4731 if (eptr >= md->end_subject)
4736 switch(*eptr++)
4751 if (eptr >= md->end_subject)
4756 switch(*eptr++)
4771 if (eptr >= md->end_subject)
4776 switch(*eptr++)
4791 if (eptr >= md->end_subject)
4796 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_digit) != 0)
4798 eptr++;
4805 if (eptr >= md->end_subject)
4810 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_digit) == 0)
4812 eptr++;
4819 if (eptr >= md->end_subject)
4824 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_space) != 0)
4826 eptr++;
4833 if (eptr >= md->end_subject)
4838 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_space) == 0)
4840 eptr++;
4847 if (eptr >= md->end_subject)
4852 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_word) != 0)
4854 eptr++;
4861 if (eptr >= md->end_subject)
4866 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_word) == 0)
4868 eptr++;
4895 RMATCH(eptr, ecode, offset_top, md, eptrb, RM36);
4898 if (eptr >= md->end_subject)
4903 GETCHARINCTEST(c, eptr);
4912 RMATCH(eptr, ecode, offset_top, md, eptrb, RM37);
4915 if (eptr >= md->end_subject)
4920 GETCHARINCTEST(c, eptr);
4932 RMATCH(eptr, ecode, offset_top, md, eptrb, RM38);
4935 if (eptr >= md->end_subject)
4940 GETCHARINCTEST(c, eptr);
4949 RMATCH(eptr, ecode, offset_top, md, eptrb, RM39);
4952 if (eptr >= md->end_subject)
4957 GETCHARINCTEST(c, eptr);
4966 RMATCH(eptr, ecode, offset_top, md, eptrb, RM40);
4969 if (eptr >= md->end_subject)
4974 GETCHARINCTEST(c, eptr);
4984 RMATCH(eptr, ecode, offset_top, md, eptrb, RM59);
4987 if (eptr >= md->end_subject)
4992 GETCHARINCTEST(c, eptr);
5007 RMATCH(eptr, ecode, offset_top, md, eptrb, RM61);
5010 if (eptr >= md->end_subject)
5015 GETCHARINCTEST(c, eptr);
5035 RMATCH(eptr, ecode, offset_top, md, eptrb, RM62);
5038 if (eptr >= md->end_subject)
5043 GETCHARINCTEST(c, eptr);
5057 RMATCH(eptr, ecode, offset_top, md, eptrb, RM67);
5060 if (eptr >= md->end_subject)
5065 GETCHARINCTEST(c, eptr);
5080 RMATCH(eptr, ecode, offset_top, md, eptrb, RM60);
5083 if (eptr >= md->end_subject)
5088 GETCHARINCTEST(c, eptr);
5109 RMATCH(eptr, ecode, offset_top, md, eptrb, RM41);
5112 if (eptr >= md->end_subject)
5120 GETCHARINCTEST(c, eptr);
5122 while (eptr < md->end_subject)
5125 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
5129 eptr += len;
5143 RMATCH(eptr, ecode, offset_top, md, eptrb, RM42);
5146 if (eptr >= md->end_subject)
5151 if (ctype == OP_ANY && IS_NEWLINE(eptr))
5153 GETCHARINC(c, eptr);
5158 eptr >= md->end_subject &&
5177 if (eptr < md->end_subject && UCHAR21(eptr) == CHAR_LF) eptr++;
5268 RMATCH(eptr, ecode, offset_top, md, eptrb, RM43);
5271 if (eptr >= md->end_subject)
5276 if (ctype == OP_ANY && IS_NEWLINE(eptr))
5278 c = *eptr++;
5283 eptr >= md->end_subject &&
5302 if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
5406 pp = eptr; /* Remember where we started */
5417 if (eptr >= md->end_subject)
5422 GETCHARLENTEST(c, eptr, len);
5424 eptr+= len;
5433 if (eptr >= md->end_subject)
5438 GETCHARLENTEST(c, eptr, len);
5444 eptr+= len;
5452 if (eptr >= md->end_subject)
5457 GETCHARLENTEST(c, eptr, len);
5459 eptr+= len;
5467 if (eptr >= md->end_subject)
5472 GETCHARLENTEST(c, eptr, len);
5474 eptr+= len;
5482 if (eptr >= md->end_subject)
5487 GETCHARLENTEST(c, eptr, len);
5489 eptr+= len;
5498 if (eptr >= md->end_subject)
5503 GETCHARLENTEST(c, eptr, len);
5507 eptr+= len;
5520 if (eptr >= md->end_subject)
5525 GETCHARLENTEST(c, eptr, len);
5538 eptr+= len;
5548 if (eptr >= md->end_subject)
5553 GETCHARLENTEST(c, eptr, len);
5558 eptr+= len;
5567 if (eptr >= md->end_subject)
5572 GETCHARLENTEST(c, eptr, len);
5581 eptr += len;
5590 if (eptr >= md->end_subject)
5595 GETCHARLENTEST(c, eptr, len);
5600 eptr += len;
5608 /* eptr is now past the end of the maximum run */
5613 if (eptr <= pp) goto TAIL_RECURSE;
5614 RMATCH(eptr, ecode, offset_top, md, eptrb, RM44);
5616 eptr--;
5617 if (utf) BACKCHAR(eptr);
5628 if (eptr >= md->end_subject)
5636 GETCHARINCTEST(c, eptr);
5638 while (eptr < md->end_subject)
5641 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
5645 eptr += len;
5651 /* eptr is now past the end of the maximum run */
5665 if (eptr <= pp) goto TAIL_RECURSE; /* At start of char run */
5666 RMATCH(eptr, ecode, offset_top, md, eptrb, RM45);
5673 eptr--;
5674 if (!utf) c = *eptr; else
5676 BACKCHAR(eptr);
5677 GETCHAR(c, eptr);
5683 if (eptr <= pp) goto TAIL_RECURSE; /* At start of char run */
5684 fptr = eptr - 1;
5692 eptr = fptr;
5709 if (eptr >= md->end_subject)
5714 if (IS_NEWLINE(eptr)) break;
5716 eptr + 1 >= md->end_subject &&
5719 UCHAR21(eptr) == NLBLOCK->nl[0])
5724 eptr++;
5725 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
5734 if (eptr >= md->end_subject)
5739 eptr++;
5740 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
5745 eptr = md->end_subject; /* Unlimited UTF-8 repeat */
5754 if (c > (unsigned int)(md->end_subject - eptr))
5756 eptr = md->end_subject;
5759 else eptr += c;
5766 if (eptr >= md->end_subject)
5771 GETCHARLEN(c, eptr, len);
5774 if (++eptr >= md->end_subject) break;
5775 if (UCHAR21(eptr) == CHAR_LF) eptr++;
5787 eptr += len;
5798 if (eptr >= md->end_subject)
5803 GETCHARLEN(c, eptr, len);
5810 eptr += len;
5820 if (eptr >= md->end_subject)
5825 GETCHARLEN(c, eptr, len);
5832 eptr += len;
5840 if (eptr >= md->end_subject)
5845 GETCHARLEN(c, eptr, len);
5847 eptr+= len;
5855 if (eptr >= md->end_subject)
5860 GETCHARLEN(c, eptr, len);
5862 eptr+= len;
5870 if (eptr >= md->end_subject)
5875 GETCHARLEN(c, eptr, len);
5877 eptr+= len;
5885 if (eptr >= md->end_subject)
5890 GETCHARLEN(c, eptr, len);
5892 eptr+= len;
5900 if (eptr >= md->end_subject)
5905 GETCHARLEN(c, eptr, len);
5907 eptr+= len;
5915 if (eptr >= md->end_subject)
5920 GETCHARLEN(c, eptr, len);
5922 eptr+= len;
5933 if (eptr <= pp) goto TAIL_RECURSE;
5934 RMATCH(eptr, ecode, offset_top, md, eptrb, RM46);
5936 eptr--;
5937 BACKCHAR(eptr);
5938 if (ctype == OP_ANYNL && eptr > pp && UCHAR21(eptr) == CHAR_NL &&
5939 UCHAR21(eptr - 1) == CHAR_CR) eptr--;
5951 if (eptr >= md->end_subject)
5956 if (IS_NEWLINE(eptr)) break;
5958 eptr + 1 >= md->end_subject &&
5961 *eptr == NLBLOCK->nl[0])
5966 eptr++;
5973 if (c > (unsigned int)(md->end_subject - eptr))
5975 eptr = md->end_subject;
5978 else eptr += c;
5984 if (eptr >= md->end_subject)
5989 c = *eptr;
5992 if (++eptr >= md->end_subject) break;
5993 if (*eptr == CHAR_LF) eptr++;
6003 eptr++;
6011 if (eptr >= md->end_subject)
6016 switch(*eptr)
6018 default: eptr++; break;
6032 if (eptr >= md->end_subject)
6037 switch(*eptr)
6044 eptr++; break;
6053 if (eptr >= md->end_subject)
6058 switch(*eptr)
6060 default: eptr++; break;
6074 if (eptr >= md->end_subject)
6079 switch(*eptr)
6086 eptr++; break;
6095 if (eptr >= md->end_subject)
6100 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_digit) != 0) break;
6101 eptr++;
6108 if (eptr >= md->end_subject)
6113 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_digit) == 0) break;
6114 eptr++;
6121 if (eptr >= md->end_subject)
6126 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_space) != 0) break;
6127 eptr++;
6134 if (eptr >= md->end_subject)
6139 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_space) == 0) break;
6140 eptr++;
6147 if (eptr >= md->end_subject)
6152 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_word) != 0) break;
6153 eptr++;
6160 if (eptr >= md->end_subject)
6165 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_word) == 0) break;
6166 eptr++;
6177 if (eptr == pp) goto TAIL_RECURSE;
6178 RMATCH(eptr, ecode, offset_top, md, eptrb, RM47);
6180 eptr--;
6181 if (ctype == OP_ANYNL && eptr > pp && *eptr == CHAR_LF &&
6182 eptr[-1] == CHAR_CR) eptr--;
6248 #undef eptr