From b2230d39b7d1ffe8e06d9d4c2481e422dbd0adf3 Mon Sep 17 00:00:00 2001 From: Karl Williamson <public@khwilliamson.com> Date: Sun, 18 Dec 2011 13:27:06 -0700 Subject: regcomp.c: Don't print incorrect debug info The break out of the loop should be done before the debug statements that indicate the things that happen only if the break isn't done. --- regcomp.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'regcomp.c') diff --git a/regcomp.c b/regcomp.c index c8a6e96df0..a05ae449ce 100644 --- a/regcomp.c +++ b/regcomp.c @@ -2554,12 +2554,13 @@ S_join_exact(pTHX_ RExC_state_t *pRExC_state, regnode *scan, I32 *min, U32 flags else if (stringok) { const unsigned int oldl = STR_LEN(scan); regnode * const nnext = regnext(n); + + if (oldl + STR_LEN(n) > U8_MAX) + break; DEBUG_PEEP("merg",n,depth); - merged++; - if (oldl + STR_LEN(n) > U8_MAX) - break; + NEXT_OFF(scan) += NEXT_OFF(n); STR_LEN(scan) += STR_LEN(n); next = n + NODE_SZ_STR(n); -- cgit v1.2.1