summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2001-04-27 00:33:38 +0100
committerJarkko Hietaniemi <jhi@iki.fi>2001-04-26 22:35:03 +0000
commit4f66b38db5464959528af7812bbc138af1cb39d6 (patch)
treebe79900b9ea12450167ba985428d59cf6baa6e4a /regcomp.c
parent33235a50d090f47e8c1345f546ef4a97abb985d9 (diff)
downloadperl-4f66b38db5464959528af7812bbc138af1cb39d6.tar.gz
Re: [PATCH @9846] dumping ANYOF
Message-Id: <200104262233.XAA22352@crypt.compulink.co.uk> p4raw-id: //depot/perl@9873
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/regcomp.c b/regcomp.c
index 59b2712e48..1cc3a984e1 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -3888,6 +3888,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state)
}
if (need_class) {
+ ANYOF_FLAGS(ret) |= ANYOF_LARGE;
if (SIZE_ONLY)
RExC_size += ANYOF_CLASS_ADD_SKIP;
else
@@ -4218,7 +4219,10 @@ S_dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
node = dumpuntil(start, NEXTOPER(node), NEXTOPER(node) + 1, sv, l + 1);
}
else if (op == ANYOF) {
- node = next;
+ /* arglen 1 + class block */
+ node += 1 + ((ANYOF_FLAGS(node) & ANYOF_LARGE)
+ ? ANYOF_CLASS_SKIP : ANYOF_SKIP);
+ node = NEXTOPER(node);
}
else if (PL_regkind[(U8)op] == EXACT) {
/* Literal string, where present. */