install pods to 'pods' rather than 'pod' on cygwin (modified
[p5sagit/p5-mst-13.2.git] / regcomp.h
index 61726bb..e30c8e7 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -66,10 +66,10 @@ typedef OP OP_4tree;                        /* Will be redefined later. */
  */
 
 struct regnode_string {
-    U8 flags;
+    U8 str_len;
     U8  type;
     U16 next_off;
-    U8 string[1];
+    char string[1];
 };
 
 struct regnode_1 {
@@ -133,6 +133,12 @@ struct regnode_2 {
 
 #define        OP(p)           ((p)->type)
 #define        OPERAND(p)      (((struct regnode_string *)p)->string)
+#define MASK(p)                ((char*)OPERAND(p))
+#define        STR_LEN(p)      (((struct regnode_string *)p)->str_len)
+#define        STRING(p)       (((struct regnode_string *)p)->string)
+#define STR_SZ(l)      ((l + sizeof(regnode) - 1) / sizeof(regnode))
+#define NODE_SZ_STR(p) (STR_SZ(STR_LEN(p))+1)
+
 #define        NODE_ALIGN(node)
 #define        ARG_LOC(p)      (((struct regnode_1 *)p)->arg1)
 #define        ARG1_LOC(p)     (((struct regnode_2 *)p)->arg1)
@@ -241,14 +247,14 @@ struct regnode_2 {
 #define        FAIL(m) \
     STMT_START {                                                       \
        if (!SIZE_ONLY)                                                 \
-           SAVEDESTRUCTOR(S_clear_re,(void*)PL_regcomp_rx);            \
+           SAVEDESTRUCTOR(clear_re,(void*)PL_regcomp_rx);              \
        Perl_croak(aTHX_ "/%.127s/: %s",  PL_regprecomp,m);             \
     } STMT_END
 
 #define        FAIL2(pat,m) \
     STMT_START {                                                       \
        if (!SIZE_ONLY)                                                 \
-           SAVEDESTRUCTOR(S_clear_re,(void*)PL_regcomp_rx);            \
+           SAVEDESTRUCTOR(clear_re,(void*)PL_regcomp_rx);              \
        S_re_croak2(aTHX_ "/%.127s/: ",pat,PL_regprecomp,m);            \
     } STMT_END