summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-11-28 03:23:04 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-11-28 03:23:04 +0000
commit701a277b5182d929c4baa83d419c46c6d08d2101 (patch)
tree648edde7c33bda4c266026fcc73b5fc5ce22ca05 /regexec.c
parenteca89c5aec5fdc75755d569b277e8d7a65800f20 (diff)
downloadperl-701a277b5182d929c4baa83d419c46c6d08d2101.tar.gz
Fix for "a\x{100}" =~ /A/i.
p4raw-id: //depot/perl@13332
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/regexec.c b/regexec.c
index efdd8df7ab..a8acb0631e 100644
--- a/regexec.c
+++ b/regexec.c
@@ -962,14 +962,17 @@ S_find_byclass(pTHX_ regexp * prog, regnode *c, char *s, char *strend, char *sta
if (c1 == c2)
while (s <= e) {
if ( utf8_to_uvchr((U8*)s, &len) == c1
- && regtry(prog, s) )
+ && (ln == 1 ||
+ ibcmp_utf8(s, do_utf8, m, UTF, ln)) )
goto got_it;
s += len;
}
else
while (s <= e) {
UV c = utf8_to_uvchr((U8*)s, &len);
- if ( (c == c1 || c == c2) && regtry(prog, s) )
+ if ( (c == c1 || c == c2)
+ && (ln == 1 ||
+ ibcmp_utf8(s, do_utf8, m, UTF, ln)) )
goto got_it;
s += len;
}