In perl.git, the branch yves/exactish_with_min_len has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/ab79ecc9d7bcb01df86abda790b94ab411e18235?hp=4c29c902b7533043baba4bb5f8ce1d0b3ba1e260>

- Log -----------------------------------------------------------------
commit ab79ecc9d7bcb01df86abda790b94ab411e18235
Author: Yves Orton <[email protected]>
Date:   Mon Mar 19 17:33:22 2012 +0100

    WIP
-----------------------------------------------------------------------

Summary of changes:
 regcomp.c |    2 +-
 regcomp.h |   10 ++++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/regcomp.c b/regcomp.c
index d548654..c154e99 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -2688,7 +2688,7 @@ S_join_exact(pTHX_ RExC_state_t *pRExC_state, regnode 
*scan, UV *min_subtract, b
             const unsigned int oldl = STR_LEN(scan);
             regnode * const nnext = regnext(n);
 
-            if (oldl + STR_LEN(n) > U8_MAX)
+            if (oldl + STR_LEN(n) > EXACT_STR_LEN_MAX)
                 break;
             
             DEBUG_PEEP("merg",n,depth);
diff --git a/regcomp.h b/regcomp.h
index 8822d4d..a8e9d0e 100644
--- a/regcomp.h
+++ b/regcomp.h
@@ -140,13 +140,15 @@ typedef OP OP_4tree;                      /* Will be 
redefined later. */
 #define PREGf_CUTGROUP_SEEN    0x00000010
 
 
+#define EXACT_STR_LEN U16
+#define EXACT_STR_LEN_MAX U16_MAX
 /* this is where the old regcomp.h started */
-
 struct regnode_string {
-    U8 str_len;
+    U8 flags;
     U8  type;
     U16 next_off;
-    U8  min_len;
+    EXACT_STR_LEN str_len;
+    EXACT_STR_LEN min_len;
     char string[1];
 };
 
@@ -262,7 +264,7 @@ struct regnode_charclass_class {
 #define        STR_LEN(p)      (((struct regnode_string *)p)->str_len)
 #define        MIN_LEN(p)        (((struct regnode_string *)p)->min_len)
 #define        STRING(p)       (((struct regnode_string *)p)->string)
-#define STR_SZ(l)        ((l + sizeof(regnode) ) / sizeof(regnode))
+#define STR_SZ(l)        ((l + sizeof(regnode) * 2 - 1 ) / sizeof(regnode))
 #define NODE_SZ_STR(p) (STR_SZ(STR_LEN(p))+1)
 
 #undef NODE_ALIGN

--
Perl5 Master Repository

Reply via email to