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