summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-04-06 07:49:51 -0600
committerKarl Williamson <public@khwilliamson.com>2011-04-06 08:25:52 -0600
commit359960d4a7ff4002134891a49a61ff6943dd505e (patch)
tree4915b70526ec06b4312cd3014557bed5d57c2b84 /regexec.c
parent4cdd48d8aacaf1f4775166dabd4fab9452b1e91a (diff)
downloadperl-359960d4a7ff4002134891a49a61ff6943dd505e.tar.gz
PATCH: [perl #87908] \W is its complement sometimes
A missing '!' turned \W into \w in some code execution paths and utf8 data. This patch fixes that. It does not include tests at the moment, since I don't have time just now to examine why the existing tests didn't catch this, when it looks like they are set up to, and there have been several BBC tickets lately that I'm hopeful this may fix and head off other ones.
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/regexec.c b/regexec.c
index a6de6a8643..391fc1604e 100644
--- a/regexec.c
+++ b/regexec.c
@@ -1594,7 +1594,7 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
case NALNUMU:
REXEC_FBC_CSCAN_PRELOAD(
LOAD_UTF8_CHARCLASS_ALNUM(),
- swash_fetch(PL_utf8_alnum,(U8*)s, utf8_target),
+ !swash_fetch(PL_utf8_alnum,(U8*)s, utf8_target),
! isWORDCHAR_L1((U8) *s)
);
break;