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;
1244 RMATCH(eptr, ecode + PRIV(OP_lengths)[*ecode], offset_top, md,
1252 if (eptr == md->end_match_ptr) /* Matched an empty string */
1257 eptr = md->end_match_ptr;
1323 cb.current_position = (int)(eptr - md->start_subject);
1399 RMATCH(eptr, ecode, offset_top, md, NULL, RM3);
1447 RMATCH(eptr, ecode, offset_top, md, eptrb, RM49);
1476 md->offset_vector[offset+1] = (int)(eptr - md->start_subject);
1494 if (eptr == mstart && op != OP_ASSERT_ACCEPT &&
1503 md->end_match_ptr = eptr; /* Record where we ended */
1538 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, NULL, RM4);
1609 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, NULL, RM5);
1677 eptr--;
1678 if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);
1679 BACKCHAR(eptr);
1688 eptr -= GET(ecode, 1);
1689 if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);
1694 if (eptr < md->start_used_ptr) md->start_used_ptr = eptr;
1718 cb.current_position = (int)(eptr - md->start_subject);
1764 if (recno == ri->group_num && eptr == ri->subject_position)
1771 new_recursive.subject_position = eptr;
1803 RMATCH(eptr, callpat + PRIV(OP_lengths)[*callpat], offset_top,
1819 eptr = md->end_match_ptr;
1871 RMATCH(eptr, next, offset_top, md, eptrb, RM10);
1880 RMATCH(eptr, next + 1+LINK_SIZE, offset_top, md, eptrb, RM11);
1927 md->end_match_ptr = eptr; /* For ONCE_NC */
1956 md->end_match_ptr = eptr;
1987 md->offset_vector[offset+1] = (int)(eptr - md->start_subject);
2000 md->end_match_ptr = eptr;
2014 if (*ecode == OP_KET || eptr == saved_eptr)
2018 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM12);
2035 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM7);
2039 RMATCH(eptr, prev, offset_top, md, eptrb, RM8);
2046 RMATCH(eptr, prev, offset_top, md, eptrb, RM50);
2054 RMATCH(eptr, prev, offset_top, md, eptrb, RM13);
2059 RMATCH(eptr, ecode + 1 + LINK_SIZE, offset_top, md, eptrb, RM9);
2072 if (md->notbol && eptr == md->start_subject) RRETURN(MATCH_NOMATCH);
2077 if (eptr != md->start_subject) RRETURN(MATCH_NOMATCH);
2084 if (md->notbol && eptr == md->start_subject) RRETURN(MATCH_NOMATCH);
2085 if (eptr != md->start_subject &&
2086 (eptr == md->end_subject || !WAS_NEWLINE(eptr)))
2094 if (eptr != md->start_subject + md->start_offset) RRETURN(MATCH_NOMATCH);
2101 mstart = eptr;
2109 if (eptr < md->end_subject)
2111 if (!IS_NEWLINE(eptr))
2114 eptr + 1 >= md->end_subject &&
2117 UCHAR21TEST(eptr) == NLBLOCK->nl[0])
2145 if (eptr < md->end_subject) RRETURN(MATCH_NOMATCH);
2154 if (eptr < md->end_subject &&
2155 (!IS_NEWLINE(eptr) || eptr != md->end_subject - md->nllen))
2158 eptr + 1 >= md->end_subject &&
2161 UCHAR21TEST(eptr) == NLBLOCK->nl[0])
2191 if (eptr == md->start_subject) prev_is_word = FALSE; else
2193 PCRE_PUCHAR lastptr = eptr - 1;
2213 if (eptr >= md->end_subject)
2220 GETCHAR(c, eptr);
2244 if (eptr == md->start_subject) prev_is_word = FALSE; else
2246 if (eptr <= md->start_used_ptr) md->start_used_ptr = eptr - 1;
2250 c = eptr[-1];
2259 prev_is_word = MAX_255(eptr[-1])
2260 && ((md->ctypes[eptr[-1]] & ctype_word) != 0);
2265 if (eptr >= md->end_subject)
2274 c = *eptr;
2283 cur_is_word = MAX_255(*eptr)
2284 && ((md->ctypes[*eptr] & ctype_word) != 0);
2299 if (IS_NEWLINE(eptr)) RRETURN(MATCH_NOMATCH);
2301 eptr + 1 >= md->end_subject &&
2304 UCHAR21TEST(eptr) == NLBLOCK->nl[0])
2315 if (eptr >= md->end_subject) /* DO NOT merge the eptr++ here; it must */
2320 eptr++;
2322 if (utf) ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
2331 if (eptr >= md->end_subject) /* DO NOT merge the eptr++ here; it must */
2336 eptr++;
2341 if (eptr >= md->end_subject)
2346 GETCHARINCTEST(c, eptr);
2358 if (eptr >= md->end_subject)
2363 GETCHARINCTEST(c, eptr);
2375 if (eptr >= md->end_subject)
2380 GETCHARINCTEST(c, eptr);
2392 if (eptr >= md->end_subject)
2397 GETCHARINCTEST(c, eptr);
2409 if (eptr >= md->end_subject)
2414 GETCHARINCTEST(c, eptr);
2426 if (eptr >= md->end_subject)
2431 GETCHARINCTEST(c, eptr);
2443 if (eptr >= md->end_subject)
2448 GETCHARINCTEST(c, eptr);
2454 if (eptr >= md->end_subject)
2458 else if (UCHAR21TEST(eptr) == CHAR_LF) eptr++;
2478 if (eptr >= md->end_subject)
2483 GETCHARINCTEST(c, eptr);
2493 if (eptr >= md->end_subject)
2498 GETCHARINCTEST(c, eptr);
2508 if (eptr >= md->end_subject)
2513 GETCHARINCTEST(c, eptr);
2523 if (eptr >= md->end_subject)
2528 GETCHARINCTEST(c, eptr);
2543 if (eptr >= md->end_subject)
2548 GETCHARINCTEST(c, eptr);
2648 if (eptr >= md->end_subject)
2656 GETCHARINCTEST(c, eptr);
2658 while (eptr < md->end_subject)
2661 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
2665 eptr += len;
2762 if ((length = match_ref(offset, eptr, length, md, caseless)) < 0)
2764 if (length == -2) eptr = md->end_subject; /* Partial match */
2768 eptr += length;
2783 address of eptr, so that eptr can be a register variable. */
2788 if ((slength = match_ref(offset, eptr, length, md, caseless)) < 0)
2790 if (slength == -2) eptr = md->end_subject; /* Partial match */
2794 eptr += slength;
2809 RMATCH(eptr, ecode, offset_top, md, eptrb, RM14);
2812 if ((slength = match_ref(offset, eptr, length, md, caseless)) < 0)
2814 if (slength == -2) eptr = md->end_subject; /* Partial match */
2818 eptr += slength;
2827 pp = eptr;
2831 if ((slength = match_ref(offset, eptr, length, md, caseless)) < 0)
2833 /* Can't use CHECK_PARTIAL because we don't want to update eptr in
2844 eptr += slength;
2847 while (eptr >= pp)
2849 RMATCH(eptr, ecode, offset_top, md, eptrb, RM15);
2851 eptr -= length;
2919 if (eptr >= md->end_subject)
2924 GETCHARINC(c, eptr);
2939 if (eptr >= md->end_subject)
2944 c = *eptr++;
2971 RMATCH(eptr, ecode, offset_top, md, eptrb, RM16);
2974 if (eptr >= md->end_subject)
2979 GETCHARINC(c, eptr);
2994 RMATCH(eptr, ecode, offset_top, md, eptrb, RM17);
2997 if (eptr >= md->end_subject)
3002 c = *eptr++;
3020 pp = eptr;
3028 if (eptr >= md->end_subject)
3033 GETCHARLEN(c, eptr, len);
3040 eptr += len;
3047 RMATCH(eptr, ecode, offset_top, md, eptrb, RM18);
3049 if (eptr-- == pp) break; /* Stop if tried at original pos */
3050 BACKCHAR(eptr);
3059 if (eptr >= md->end_subject)
3064 c = *eptr;
3073 eptr++;
3078 while (eptr >= pp)
3080 RMATCH(eptr, ecode, offset_top, md, eptrb, RM19);
3082 eptr--;
3143 if (eptr >= md->end_subject)
3148 GETCHARINCTEST(c, eptr);
3164 RMATCH(eptr, ecode, offset_top, md, eptrb, RM20);
3167 if (eptr >= md->end_subject)
3172 GETCHARINCTEST(c, eptr);
3182 pp = eptr;
3186 if (eptr >= md->end_subject)
3192 GETCHARLENTEST(c, eptr, len);
3194 c = *eptr;
3197 eptr += len;
3204 RMATCH(eptr, ecode, offset_top, md, eptrb, RM21);
3206 if (eptr-- == pp) break; /* Stop if tried at original pos */
3208 if (utf) BACKCHAR(eptr);
3227 if (length > md->end_subject - eptr)
3232 while (length-- > 0) if (*ecode++ != UCHAR21INC(eptr)) RRETURN(MATCH_NOMATCH);
3238 if (md->end_subject - eptr < 1)
3243 if (ecode[1] != *eptr++) RRETURN(MATCH_NOMATCH);
3252 if (eptr >= md->end_subject)
3272 pcre_uint32 cc = UCHAR21(eptr);
3275 eptr++;
3285 GETCHARINC(dc, eptr);
3306 != TABLE_GET(*eptr, md->lcc, *eptr)) RRETURN(MATCH_NOMATCH);
3307 eptr++;
3384 until eptr is past the end of the maximum run. If possessive, we are
3418 if (eptr <= md->end_subject - length &&
3419 memcmp(eptr, charptr, IN_UCHARS(length)) == 0) eptr += length;
3422 eptr <= md->end_subject - oclength &&
3423 memcmp(eptr, occhars, IN_UCHARS(oclength)) == 0) eptr += oclength;
3438 RMATCH(eptr, ecode, offset_top, md, eptrb, RM22);
3441 if (eptr <= md->end_subject - length &&
3442 memcmp(eptr, charptr, IN_UCHARS(length)) == 0) eptr += length;
3445 eptr <= md->end_subject - oclength &&
3446 memcmp(eptr, occhars, IN_UCHARS(oclength)) == 0) eptr += oclength;
3459 pp = eptr;
3462 if (eptr <= md->end_subject - length &&
3463 memcmp(eptr, charptr, IN_UCHARS(length)) == 0) eptr += length;
3466 eptr <= md->end_subject - oclength &&
3467 memcmp(eptr, occhars, IN_UCHARS(oclength)) == 0) eptr += oclength;
3479 if (eptr == pp) goto TAIL_RECURSE;
3480 RMATCH(eptr, ecode, offset_top, md, eptrb, RM23);
3483 eptr--;
3484 BACKCHAR(eptr);
3486 eptr -= length;
3512 max, (char *)eptr));
3536 if (eptr >= md->end_subject)
3541 cc = UCHAR21TEST(eptr);
3543 eptr++;
3551 RMATCH(eptr, ecode, offset_top, md, eptrb, RM24);
3554 if (eptr >= md->end_subject)
3559 cc = UCHAR21TEST(eptr);
3561 eptr++;
3567 pp = eptr;
3571 if (eptr >= md->end_subject)
3576 cc = UCHAR21TEST(eptr);
3578 eptr++;
3583 if (eptr == pp) goto TAIL_RECURSE;
3584 RMATCH(eptr, ecode, offset_top, md, eptrb, RM25);
3585 eptr--;
3598 if (eptr >= md->end_subject)
3603 if (fc != UCHAR21INCTEST(eptr)) RRETURN(MATCH_NOMATCH);
3612 RMATCH(eptr, ecode, offset_top, md, eptrb, RM26);
3615 if (eptr >= md->end_subject)
3620 if (fc != UCHAR21INCTEST(eptr)) RRETURN(MATCH_NOMATCH);
3626 pp = eptr;
3629 if (eptr >= md->end_subject)
3634 if (fc != UCHAR21TEST(eptr)) break;
3635 eptr++;
3640 if (eptr == pp) goto TAIL_RECURSE;
3641 RMATCH(eptr, ecode, offset_top, md, eptrb, RM27);
3642 eptr--;
3655 if (eptr >= md->end_subject)
3667 GETCHARINC(c, eptr);
3691 c = *eptr++;
3785 max, (char *)eptr));
3807 if (eptr >= md->end_subject)
3812 GETCHARINC(d, eptr);
3822 if (eptr >= md->end_subject)
3827 if (fc == *eptr || foc == *eptr) RRETURN(MATCH_NOMATCH);
3828 eptr++;
3842 RMATCH(eptr, ecode, offset_top, md, eptrb, RM28);
3845 if (eptr >= md->end_subject)
3850 GETCHARINC(d, eptr);
3860 RMATCH(eptr, ecode, offset_top, md, eptrb, RM29);
3863 if (eptr >= md->end_subject)
3868 if (fc == *eptr || foc == *eptr) RRETURN(MATCH_NOMATCH);
3869 eptr++;
3879 pp = eptr;
3888 if (eptr >= md->end_subject)
3893 GETCHARLEN(d, eptr, len);
3895 eptr += len;
3900 if (eptr == pp) goto TAIL_RECURSE;
3901 RMATCH(eptr, ecode, offset_top, md, eptrb, RM30);
3903 eptr--;
3904 BACKCHAR(eptr);
3913 if (eptr >= md->end_subject)
3918 if (fc == *eptr || foc == *eptr) break;
3919 eptr++;
3924 if (eptr == pp) goto TAIL_RECURSE;
3925 RMATCH(eptr, ecode, offset_top, md, eptrb, RM31);
3927 eptr--;
3944 if (eptr >= md->end_subject)
3949 GETCHARINC(d, eptr);
3959 if (eptr >= md->end_subject)
3964 if (fc == *eptr++) RRETURN(MATCH_NOMATCH);
3978 RMATCH(eptr, ecode, offset_top, md, eptrb, RM32);
3981 if (eptr >= md->end_subject)
3986 GETCHARINC(d, eptr);
3996 RMATCH(eptr, ecode, offset_top, md, eptrb, RM33);
3999 if (eptr >= md->end_subject)
4004 if (fc == *eptr++) RRETURN(MATCH_NOMATCH);
4014 pp = eptr;
4023 if (eptr >= md->end_subject)
4028 GETCHARLEN(d, eptr, len);
4030 eptr += len;
4035 if (eptr == pp) goto TAIL_RECURSE;
4036 RMATCH(eptr, ecode, offset_top, md, eptrb, RM34);
4038 eptr--;
4039 BACKCHAR(eptr);
4048 if (eptr >= md->end_subject)
4053 if (fc == *eptr) break;
4054 eptr++;
4059 if (eptr == pp) goto TAIL_RECURSE;
4060 RMATCH(eptr, ecode, offset_top, md, eptrb, RM35);
4062 eptr--;
4162 if (eptr >= md->end_subject)
4167 GETCHARINCTEST(c, eptr);
4175 if (eptr >= md->end_subject)
4180 GETCHARINCTEST(c, eptr);
4192 if (eptr >= md->end_subject)
4197 GETCHARINCTEST(c, eptr);
4206 if (eptr >= md->end_subject)
4211 GETCHARINCTEST(c, eptr);
4220 if (eptr >= md->end_subject)
4225 GETCHARINCTEST(c, eptr);
4235 if (eptr >= md->end_subject)
4240 GETCHARINCTEST(c, eptr);
4255 if (eptr >= md->end_subject)
4260 GETCHARINCTEST(c, eptr);
4280 if (eptr >= md->end_subject)
4285 GETCHARINCTEST(c, eptr);
4297 if (eptr >= md->end_subject)
4302 GETCHARINCTEST(c, eptr);
4317 if (eptr >= md->end_subject)
4322 GETCHARINCTEST(c, eptr);
4344 if (eptr >= md->end_subject)
4352 GETCHARINCTEST(c, eptr);
4354 while (eptr < md->end_subject)
4357 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
4361 eptr += len;
4379 if (eptr >= md->end_subject)
4384 if (IS_NEWLINE(eptr)) RRETURN(MATCH_NOMATCH);
4386 eptr + 1 >= md->end_subject &&
4389 UCHAR21(eptr) == NLBLOCK->nl[0])
4394 eptr++;
4395 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4402 if (eptr >= md->end_subject)
4407 eptr++;
4408 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4413 if (eptr > md->end_subject - min) RRETURN(MATCH_NOMATCH);
4414 eptr += min;
4420 if (eptr >= md->end_subject)
4425 GETCHARINC(c, eptr);
4431 if (eptr < md->end_subject && UCHAR21(eptr) == CHAR_LF) eptr++;
4453 if (eptr >= md->end_subject)
4458 GETCHARINC(c, eptr);
4470 if (eptr >= md->end_subject)
4475 GETCHARINC(c, eptr);
4487 if (eptr >= md->end_subject)
4492 GETCHARINC(c, eptr);
4504 if (eptr >= md->end_subject)
4509 GETCHARINC(c, eptr);
4521 if (eptr >= md->end_subject)
4526 GETCHARINC(c, eptr);
4536 if (eptr >= md->end_subject)
4541 cc = UCHAR21(eptr);
4544 eptr++;
4553 if (eptr >= md->end_subject)
4558 cc = UCHAR21(eptr);
4561 eptr++;
4562 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4570 if (eptr >= md->end_subject)
4575 cc = UCHAR21(eptr);
4578 eptr++;
4587 if (eptr >= md->end_subject)
4592 cc = UCHAR21(eptr);
4595 eptr++;
4596 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
4604 if (eptr >= md->end_subject)
4609 cc = UCHAR21(eptr);
4612 eptr++;
4632 if (eptr >= md->end_subject)
4637 if (IS_NEWLINE(eptr)) RRETURN(MATCH_NOMATCH);
4639 eptr + 1 >= md->end_subject &&
4642 *eptr == NLBLOCK->nl[0])
4647 eptr++;
4652 if (eptr > md->end_subject - min)
4657 eptr += min;
4661 if (eptr > md->end_subject - min)
4666 eptr += min;
4672 if (eptr >= md->end_subject)
4677 switch(*eptr++)
4682 if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
4704 if (eptr >= md->end_subject)
4709 switch(*eptr++)
4724 if (eptr >= md->end_subject)
4729 switch(*eptr++)
4744 if (eptr >= md->end_subject)
4749 switch(*eptr++)
4764 if (eptr >= md->end_subject)
4769 switch(*eptr++)
4784 if (eptr >= md->end_subject)
4789 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_digit) != 0)
4791 eptr++;
4798 if (eptr >= md->end_subject)
4803 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_digit) == 0)
4805 eptr++;
4812 if (eptr >= md->end_subject)
4817 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_space) != 0)
4819 eptr++;
4826 if (eptr >= md->end_subject)
4831 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_space) == 0)
4833 eptr++;
4840 if (eptr >= md->end_subject)
4845 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_word) != 0)
4847 eptr++;
4854 if (eptr >= md->end_subject)
4859 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_word) == 0)
4861 eptr++;
4888 RMATCH(eptr, ecode, offset_top, md, eptrb, RM36);
4891 if (eptr >= md->end_subject)
4896 GETCHARINCTEST(c, eptr);
4905 RMATCH(eptr, ecode, offset_top, md, eptrb, RM37);
4908 if (eptr >= md->end_subject)
4913 GETCHARINCTEST(c, eptr);
4925 RMATCH(eptr, ecode, offset_top, md, eptrb, RM38);
4928 if (eptr >= md->end_subject)
4933 GETCHARINCTEST(c, eptr);
4942 RMATCH(eptr, ecode, offset_top, md, eptrb, RM39);
4945 if (eptr >= md->end_subject)
4950 GETCHARINCTEST(c, eptr);
4959 RMATCH(eptr, ecode, offset_top, md, eptrb, RM40);
4962 if (eptr >= md->end_subject)
4967 GETCHARINCTEST(c, eptr);
4977 RMATCH(eptr, ecode, offset_top, md, eptrb, RM59);
4980 if (eptr >= md->end_subject)
4985 GETCHARINCTEST(c, eptr);
5000 RMATCH(eptr, ecode, offset_top, md, eptrb, RM61);
5003 if (eptr >= md->end_subject)
5008 GETCHARINCTEST(c, eptr);
5028 RMATCH(eptr, ecode, offset_top, md, eptrb, RM62);
5031 if (eptr >= md->end_subject)
5036 GETCHARINCTEST(c, eptr);
5050 RMATCH(eptr, ecode, offset_top, md, eptrb, RM67);
5053 if (eptr >= md->end_subject)
5058 GETCHARINCTEST(c, eptr);
5073 RMATCH(eptr, ecode, offset_top, md, eptrb, RM60);
5076 if (eptr >= md->end_subject)
5081 GETCHARINCTEST(c, eptr);
5102 RMATCH(eptr, ecode, offset_top, md, eptrb, RM41);
5105 if (eptr >= md->end_subject)
5113 GETCHARINCTEST(c, eptr);
5115 while (eptr < md->end_subject)
5118 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
5122 eptr += len;
5136 RMATCH(eptr, ecode, offset_top, md, eptrb, RM42);
5139 if (eptr >= md->end_subject)
5144 if (ctype == OP_ANY && IS_NEWLINE(eptr))
5146 GETCHARINC(c, eptr);
5151 eptr >= md->end_subject &&
5170 if (eptr < md->end_subject && UCHAR21(eptr) == CHAR_LF) eptr++;
5261 RMATCH(eptr, ecode, offset_top, md, eptrb, RM43);
5264 if (eptr >= md->end_subject)
5269 if (ctype == OP_ANY && IS_NEWLINE(eptr))
5271 c = *eptr++;
5276 eptr >= md->end_subject &&
5295 if (eptr < md->end_subject && *eptr == CHAR_LF) eptr++;
5399 pp = eptr; /* Remember where we started */
5410 if (eptr >= md->end_subject)
5415 GETCHARLENTEST(c, eptr, len);
5417 eptr+= len;
5426 if (eptr >= md->end_subject)
5431 GETCHARLENTEST(c, eptr, len);
5437 eptr+= len;
5445 if (eptr >= md->end_subject)
5450 GETCHARLENTEST(c, eptr, len);
5452 eptr+= len;
5460 if (eptr >= md->end_subject)
5465 GETCHARLENTEST(c, eptr, len);
5467 eptr+= len;
5475 if (eptr >= md->end_subject)
5480 GETCHARLENTEST(c, eptr, len);
5482 eptr+= len;
5491 if (eptr >= md->end_subject)
5496 GETCHARLENTEST(c, eptr, len);
5500 eptr+= len;
5513 if (eptr >= md->end_subject)
5518 GETCHARLENTEST(c, eptr, len);
5531 eptr+= len;
5541 if (eptr >= md->end_subject)
5546 GETCHARLENTEST(c, eptr, len);
5551 eptr+= len;
5560 if (eptr >= md->end_subject)
5565 GETCHARLENTEST(c, eptr, len);
5574 eptr += len;
5583 if (eptr >= md->end_subject)
5588 GETCHARLENTEST(c, eptr, len);
5593 eptr += len;
5601 /* eptr is now past the end of the maximum run */
5606 if (eptr == pp) goto TAIL_RECURSE;
5607 RMATCH(eptr, ecode, offset_top, md, eptrb, RM44);
5609 eptr--;
5610 if (utf) BACKCHAR(eptr);
5621 if (eptr >= md->end_subject)
5629 GETCHARINCTEST(c, eptr);
5631 while (eptr < md->end_subject)
5634 if (!utf) c = *eptr; else { GETCHARLEN(c, eptr, len); }
5638 eptr += len;
5644 /* eptr is now past the end of the maximum run */
5653 if (eptr == pp) goto TAIL_RECURSE; /* At start of char run */
5654 RMATCH(eptr, ecode, offset_top, md, eptrb, RM45);
5661 eptr--;
5662 if (!utf) c = *eptr; else
5664 BACKCHAR(eptr);
5665 GETCHAR(c, eptr);
5671 if (eptr == pp) goto TAIL_RECURSE; /* At start of char run */
5672 fptr = eptr - 1;
5680 eptr = fptr;
5697 if (eptr >= md->end_subject)
5702 if (IS_NEWLINE(eptr)) break;
5704 eptr + 1 >= md->end_subject &&
5707 UCHAR21(eptr) == NLBLOCK->nl[0])
5712 eptr++;
5713 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
5722 if (eptr >= md->end_subject)
5727 eptr++;
5728 ACROSSCHAR(eptr < md->end_subject, *eptr, eptr++);
5733 eptr = md->end_subject; /* Unlimited UTF-8 repeat */
5742 if (c > (unsigned int)(md->end_subject - eptr))
5744 eptr = md->end_subject;
5747 else eptr += c;
5754 if (eptr >= md->end_subject)
5759 GETCHARLEN(c, eptr, len);
5762 if (++eptr >= md->end_subject) break;
5763 if (UCHAR21(eptr) == CHAR_LF) eptr++;
5775 eptr += len;
5786 if (eptr >= md->end_subject)
5791 GETCHARLEN(c, eptr, len);
5798 eptr += len;
5808 if (eptr >= md->end_subject)
5813 GETCHARLEN(c, eptr, len);
5820 eptr += len;
5828 if (eptr >= md->end_subject)
5833 GETCHARLEN(c, eptr, len);
5835 eptr+= len;
5843 if (eptr >= md->end_subject)
5848 GETCHARLEN(c, eptr, len);
5850 eptr+= len;
5858 if (eptr >= md->end_subject)
5863 GETCHARLEN(c, eptr, len);
5865 eptr+= len;
5873 if (eptr >= md->end_subject)
5878 GETCHARLEN(c, eptr, len);
5880 eptr+= len;
5888 if (eptr >= md->end_subject)
5893 GETCHARLEN(c, eptr, len);
5895 eptr+= len;
5903 if (eptr >= md->end_subject)
5908 GETCHARLEN(c, eptr, len);
5910 eptr+= len;
5921 if (eptr == pp) goto TAIL_RECURSE;
5922 RMATCH(eptr, ecode, offset_top, md, eptrb, RM46);
5924 eptr--;
5925 BACKCHAR(eptr);
5926 if (ctype == OP_ANYNL && eptr > pp && UCHAR21(eptr) == CHAR_NL &&
5927 UCHAR21(eptr - 1) == CHAR_CR) eptr--;
5939 if (eptr >= md->end_subject)
5944 if (IS_NEWLINE(eptr)) break;
5946 eptr + 1 >= md->end_subject &&
5949 *eptr == NLBLOCK->nl[0])
5954 eptr++;
5961 if (c > (unsigned int)(md->end_subject - eptr))
5963 eptr = md->end_subject;
5966 else eptr += c;
5972 if (eptr >= md->end_subject)
5977 c = *eptr;
5980 if (++eptr >= md->end_subject) break;
5981 if (*eptr == CHAR_LF) eptr++;
5991 eptr++;
5999 if (eptr >= md->end_subject)
6004 switch(*eptr)
6006 default: eptr++; break;
6020 if (eptr >= md->end_subject)
6025 switch(*eptr)
6032 eptr++; break;
6041 if (eptr >= md->end_subject)
6046 switch(*eptr)
6048 default: eptr++; break;
6062 if (eptr >= md->end_subject)
6067 switch(*eptr)
6074 eptr++; break;
6083 if (eptr >= md->end_subject)
6088 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_digit) != 0) break;
6089 eptr++;
6096 if (eptr >= md->end_subject)
6101 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_digit) == 0) break;
6102 eptr++;
6109 if (eptr >= md->end_subject)
6114 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_space) != 0) break;
6115 eptr++;
6122 if (eptr >= md->end_subject)
6127 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_space) == 0) break;
6128 eptr++;
6135 if (eptr >= md->end_subject)
6140 if (MAX_255(*eptr) && (md->ctypes[*eptr] & ctype_word) != 0) break;
6141 eptr++;
6148 if (eptr >= md->end_subject)
6153 if (!MAX_255(*eptr) || (md->ctypes[*eptr] & ctype_word) == 0) break;
6154 eptr++;
6165 if (eptr == pp) goto TAIL_RECURSE;
6166 RMATCH(eptr, ecode, offset_top, md, eptrb, RM47);
6168 eptr--;
6169 if (ctype == OP_ANYNL && eptr > pp && *eptr == CHAR_LF &&
6170 eptr[-1] == CHAR_CR) eptr--;
6236 #undef eptr