summaryrefslogtreecommitdiff
path: root/regexp.h
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2006-04-19 13:56:07 +0000
committerDave Mitchell <davem@fdisolutions.com>2006-04-19 13:56:07 +0000
commitdad790286e318c5c7f4b6ccd52b4fd512c87c763 (patch)
tree43031f05803caa3558f62fdf49ceafe403e9f64b /regexp.h
parent20f9f807e1e82c57258ff80abead8fc8ae928a83 (diff)
downloadperl-dad790286e318c5c7f4b6ccd52b4fd512c87c763.tar.gz
regmatch(): make IFMATCH use PUSH_STACK rather than fake recursion
p4raw-id: //depot/perl@27903
Diffstat (limited to 'regexp.h')
-rw-r--r--regexp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/regexp.h b/regexp.h
index 455f04838a..5667d1fbec 100644
--- 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;