Ressurect change 27824, which plugs a resource leak in uncalled code.
[p5sagit/p5-mst-13.2.git] / regexp.h
index 455f048..0493267 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -184,7 +184,6 @@ typedef enum {
     resume_CURLYM1,
     resume_CURLYM2,
     resume_CURLYM3,
-    resume_CURLYM4,
     resume_IFMATCH,
     resume_PLUS1,
     resume_PLUS2,
@@ -260,12 +259,15 @@ 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;
            I32 l;
            I32 matches;
            I32 maxwanted;
+           bool minmod;
        } curlym;
 
        struct {
@@ -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;