summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-12-23 01:29:45 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-23 01:29:45 +0000
commitb7c83a7e594640c2503df864ea898c1fad026a14 (patch)
treebb7091e71f3cabb953ce787b13d8f4e177238ab8 /regexec.c
parent22c54be3d94cfb3f4b06aaa5a8a1910193e54a07 (diff)
downloadperl-b7c83a7e594640c2503df864ea898c1fad026a14.tar.gz
More \X fixing.
p4raw-id: //depot/perl@13860
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/regexec.c b/regexec.c
index 1a8a8e7d2f..8e5efb0093 100644
--- a/regexec.c
+++ b/regexec.c
@@ -2591,16 +2591,19 @@ S_regmatch(pTHX_ regnode *prog)
nextchr = UCHARAT(++locinput);
break;
case CLUMP:
- LOAD_UTF8_CHARCLASS(mark,"~");
- if (locinput >= PL_regeol ||
- swash_fetch(PL_utf8_mark,(U8*)locinput, do_utf8))
- sayNO;
- locinput += PL_utf8skip[nextchr];
- while (locinput < PL_regeol &&
- swash_fetch(PL_utf8_mark,(U8*)locinput, do_utf8))
- locinput += UTF8SKIP(locinput);
- if (locinput > PL_regeol)
+ if (locinput >= PL_regeol)
sayNO;
+ if (do_utf8) {
+ LOAD_UTF8_CHARCLASS(mark,"~");
+ if (swash_fetch(PL_utf8_mark,(U8*)locinput, do_utf8))
+ sayNO;
+ locinput += PL_utf8skip[nextchr];
+ while (locinput < PL_regeol &&
+ swash_fetch(PL_utf8_mark,(U8*)locinput, do_utf8))
+ locinput += UTF8SKIP(locinput);
+ if (locinput > PL_regeol)
+ sayNO;
+ }
nextchr = UCHARAT(locinput);
break;
case REFFL: