Skip to content

Commit

Permalink
Merge b9eed08 into 08e4a1e
Browse files Browse the repository at this point in the history
  • Loading branch information
hvds committed May 28, 2021
2 parents 08e4a1e + b9eed08 commit 8277769
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions regcomp.c
Expand Up @@ -5386,13 +5386,25 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
}
min += charlen - min_subtract;
assert (min >= 0);
delta += min_subtract;
if ((SSize_t)min_subtract < OPTIMIZE_INFTY
&& delta < OPTIMIZE_INFTY - (SSize_t)min_subtract
) {
delta += min_subtract;
} else {
delta = OPTIMIZE_INFTY;
}
if (flags & SCF_DO_SUBSTR) {
data->pos_min += charlen - min_subtract;
if (data->pos_min < 0) {
data->pos_min = 0;
}
data->pos_delta += min_subtract;
if ((SSize_t)min_subtract < OPTIMIZE_INFTY
&& data->pos_delta < OPTIMIZE_INFTY - (SSize_t)min_subtract
) {
data->pos_delta += min_subtract;
} else {
data->pos_delta = OPTIMIZE_INFTY;
}
if (min_subtract) {
data->cur_is_floating = 1; /* float */
}
Expand Down Expand Up @@ -5820,15 +5832,17 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
#if 0
Perl_re_printf( aTHX_ "counted=%" UVuf " deltanext=%" UVuf
" OPTIMIZE_INFTY=%" UVuf " minnext=%" UVuf
" maxcount=%" UVuf " mincount=%" UVuf "\n",
" maxcount=%" UVuf " mincount=%" UVuf
" data->pos_delta=%" UVuf "\n",
(UV)counted, (UV)deltanext, (UV)OPTIMIZE_INFTY, (UV)minnext, (UV)maxcount,
(UV)mincount);
(UV)mincount, (UV)data->pos_delta);
if (deltanext != OPTIMIZE_INFTY)
Perl_re_printf( aTHX_ "LHS=%" UVuf " RHS=%" UVuf "\n",
(UV)(-counted * deltanext + (minnext + deltanext) * maxcount
- minnext * mincount), (UV)(OPTIMIZE_INFTY - data->pos_delta));
#endif
if (deltanext == OPTIMIZE_INFTY
|| data->pos_delta == OPTIMIZE_INFTY
|| -counted * deltanext + (minnext + deltanext) * maxcount - minnext * mincount >= OPTIMIZE_INFTY - data->pos_delta)
data->pos_delta = OPTIMIZE_INFTY;
else
Expand Down

0 comments on commit 8277769

Please sign in to comment.