X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=regexec.c;h=a5f6bb5c9409bf143e777d0dea0389774667930a;hb=6499cc01a61ed62809d392d9c843f37a021fbc35;hp=aea0ad6f135e3d75ac5a3a0d49bf100ea844b20d;hpb=e64b1bd1d100534286224b3b46db4d9c6a8cb3a9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/regexec.c b/regexec.c index aea0ad6..a5f6bb5 100644 --- a/regexec.c +++ b/regexec.c @@ -308,7 +308,7 @@ S_regcppop(pTHX_ const regexp *rex) - pregexec - match a regexp against a string */ I32 -Perl_pregexec(pTHX_ register regexp *prog, char *stringarg, register char *strend, +Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, register char *strend, char *strbeg, I32 minend, SV *screamer, U32 nosave) /* strend: pointer to null at end of string */ /* strbeg: real beginning of string */ @@ -372,8 +372,8 @@ Perl_pregexec(pTHX_ register regexp *prog, char *stringarg, register char *stren deleted from the finite automaton. */ char * -Perl_re_intuit_start(pTHX_ regexp *prog, SV *sv, char *strpos, - char *strend, U32 flags, re_scream_pos_data *data) +Perl_re_intuit_start(pTHX_ REGEXP * const prog, SV *sv, char *strpos, + char *strend, const U32 flags, re_scream_pos_data *data) { dVAR; register I32 start_shift = 0; @@ -1705,7 +1705,7 @@ S_swap_match_buff (pTHX_ regexp *prog) { - regexec_flags - match a regexp against a string */ I32 -Perl_regexec_flags(pTHX_ register regexp *prog, char *stringarg, register char *strend, +Perl_regexec_flags(pTHX_ REGEXP * const prog, char *stringarg, register char *strend, char *strbeg, I32 minend, SV *sv, void *data, U32 flags) /* strend: pointer to null at end of string */ /* strbeg: real beginning of string */ @@ -1845,7 +1845,7 @@ Perl_regexec_flags(pTHX_ register regexp *prog, char *stringarg, register char * if (regtry(®info, &s)) goto got_it; after_try: - if (s >= end) + if (s > end) goto phooey; if (prog->extflags & RXf_USE_INTUIT) { s = re_intuit_start(prog, sv, s + 1, strend, flags, NULL); @@ -5006,7 +5006,7 @@ NULL #undef ST case FOLDCHAR: n = ARG(scan); - if ( n == what_len_TRICKYFOLD(locinput,do_utf8,ln) ) { + if ( n == (U32)what_len_TRICKYFOLD(locinput,do_utf8,ln) ) { locinput += ln; } else if ( 0xDF == n && !do_utf8 && !UTF ) { sayNO; @@ -5017,7 +5017,7 @@ NULL char *e = PL_regeol; to_uni_fold(n, folded, &foldlen); - if (ibcmp_utf8(folded, 0, foldlen, 1, + if (ibcmp_utf8((const char*) folded, 0, foldlen, 1, l, &e, 0, do_utf8)) { sayNO; }