summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-04-18 19:28:04 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-04-18 19:28:04 +0000
commit14ebb1a2c3090470663d3e2baaf3787edad7c9a7 (patch)
treeff0ed70dc937a0a7a4b6dd83f0f5b31cbc29ff03 /regcomp.c
parentd60ecbe5204b1d5c06464db2b54d51236d8a45d0 (diff)
downloadperl-14ebb1a2c3090470663d3e2baaf3787edad7c9a7.tar.gz
UTF8 regexp patch from Inaba Hiroto.
p4raw-id: //depot/perl@19264
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/regcomp.c b/regcomp.c
index c1ec5f905e..8f52e284ac 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -576,14 +576,17 @@ S_cl_and(pTHX_ struct regnode_charclass_class *cl,
if (!(and_with->flags & ANYOF_EOS))
cl->flags &= ~ANYOF_EOS;
- if (cl->flags & ANYOF_UNICODE_ALL && and_with->flags & ANYOF_UNICODE) {
+ if (cl->flags & ANYOF_UNICODE_ALL && and_with->flags & ANYOF_UNICODE &&
+ !(and_with->flags & ANYOF_INVERT)) {
cl->flags &= ~ANYOF_UNICODE_ALL;
cl->flags |= ANYOF_UNICODE;
ARG_SET(cl, ARG(and_with));
}
- if (!(and_with->flags & ANYOF_UNICODE_ALL))
+ if (!(and_with->flags & ANYOF_UNICODE_ALL) &&
+ !(and_with->flags & ANYOF_INVERT))
cl->flags &= ~ANYOF_UNICODE_ALL;
- if (!(and_with->flags & (ANYOF_UNICODE|ANYOF_UNICODE_ALL)))
+ if (!(and_with->flags & (ANYOF_UNICODE|ANYOF_UNICODE_ALL)) &&
+ !(and_with->flags & ANYOF_INVERT))
cl->flags &= ~ANYOF_UNICODE;
}