summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2005-03-21 23:29:09 +0100
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-03-21 21:33:16 +0000
commitcc601c3163078dbee18369839db37a81c9f1d02a (patch)
treed62d2ced4239e667a2b0367b266ae38575053ae9 /regexec.c
parentefcaa95b05d30c10585967bb358126b84bd75b53 (diff)
downloadperl-cc601c3163078dbee18369839db37a81c9f1d02a.tar.gz
Re: regexp trie fails compile on VMS
Message-ID: <9b18b311050321132917a4b1c7@mail.gmail.com> p4raw-id: //depot/perl@24059
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/regexec.c b/regexec.c
index 9efb4794b2..fb455a68a9 100644
--- a/regexec.c
+++ b/regexec.c
@@ -2361,7 +2361,8 @@ typedef union re_unwind_t {
} \
} \
if ( charid && \
- ( base + charid - 1 - trie->uniquecharcount ) >=0 && \
+ ( base + charid > trie->uniquecharcount ) && \
+ ( base + charid - 1 - trie->uniquecharcount < trie->lasttrans) && \
trie->trans[ base + charid - 1 - trie->uniquecharcount ].check == state ) \
{ \
state = trie->trans[ base + charid - 1 - trie->uniquecharcount ].next; \
@@ -2731,7 +2732,7 @@ S_regmatch(pTHX_ regnode *prog)
tmp ? SvPV_nolen( *tmp ) : "not compiled under -Dr",
PL_colors[5] );
});
- PL_reginput = accept_buff[ 0 ].endpos;
+ PL_reginput = (char *)accept_buff[ 0 ].endpos;
/* in this case we free tmps/leave before we call regmatch
as we wont be using accept_buff again. */
FREETMPS;
@@ -2772,7 +2773,7 @@ S_regmatch(pTHX_ regnode *prog)
accept_buff[ accepted ] = tmp;
best = accepted;
}
- PL_reginput = accept_buff[ best ].endpos;
+ PL_reginput = (char *)accept_buff[ best ].endpos;
/*
as far as I can tell we only need the SAVETMPS/FREETMPS