summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-03-19 04:00:38 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-03-19 04:00:38 +0000
commit0f0076b444962edb4e038dfed2a525991aa66519 (patch)
tree22734aea7bf47746737c79e807c5df41b79441c3 /regexec.c
parentba7b4546c787dea31508e30b5d22f5f789d3d86f (diff)
downloadperl-0f0076b444962edb4e038dfed2a525991aa66519.tar.gz
UTF-8 walk errors that become visible in EBCDIC.
p4raw-id: //depot/perl@15311
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/regexec.c b/regexec.c
index 59f1be1702..e676568bdd 100644
--- a/regexec.c
+++ b/regexec.c
@@ -2423,7 +2423,7 @@ S_regmatch(pTHX_ regnode *prog)
sayNO_ANYOF;
if (locinput >= PL_regeol)
sayNO;
- locinput += inclasslen ? inclasslen : 1;
+ locinput += inclasslen ? inclasslen : UTF8SKIP(locinput);
nextchr = UCHARAT(locinput);
break;
}
@@ -4240,7 +4240,7 @@ S_reginclass(pTHX_ register regnode *n, register U8* p, STRLEN* lenp, register b
c = do_utf8 ? utf8_to_uvchr(p, &len) : *p;
- plen = lenp ? *lenp : UNISKIP(c);
+ plen = lenp ? *lenp : UNISKIP(NATIVE_TO_UNI(c));
if (do_utf8 || (flags & ANYOF_UNICODE)) {
if (lenp)
*lenp = 0;
@@ -4285,7 +4285,7 @@ S_reginclass(pTHX_ register regnode *n, register U8* p, STRLEN* lenp, register b
}
}
if (match && lenp && *lenp == 0)
- *lenp = UNISKIP(c);
+ *lenp = UNISKIP(NATIVE_TO_UNI(c));
}
if (!match && c < 256) {
if (ANYOF_BITMAP_TEST(n, c))