regmatch(): make IFMATCH use PUSH_STACK rather than fake recursion
[p5sagit/p5-mst-13.2.git] / regexp.h
index 455f048..5667d1f 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -260,6 +260,8 @@ typedef struct regmatch_state {
        } whilem;
 
        struct {
+           /* this first element must match u.yes */
+           struct regmatch_state *prev_yes_state;
            I32 paren;
            I32 c1, c2;         /* case fold search */
            CHECKPOINT lastcp;
@@ -276,6 +278,12 @@ typedef struct regmatch_state {
            char *old;
            int count;
        } plus; /* and CURLYN/CURLY/STAR */
+
+       struct {
+           /* this first element must match u.yes */
+           struct regmatch_state *prev_yes_state;
+           I32 wanted;
+       } ifmatch; /* and SUSPEND/UNLESSM */
     } u;
 } regmatch_state;