summaryrefslogtreecommitdiff
path: root/pcre_exec.c
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-11-11 17:27:22 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-11-11 17:27:22 +0000
commitf1660e461ec9b5150d4b59c8423261dab447f165 (patch)
tree191aef38ee6dbb93862c539c1d5f975ec4ddc0fe /pcre_exec.c
parente95986b1e5330fb661544200997dff26d06b2548 (diff)
downloadpcre-f1660e461ec9b5150d4b59c8423261dab447f165.tar.gz
Fix really stupid bug in multicase matching, and deficiency in the tests.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1218 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_exec.c')
-rw-r--r--pcre_exec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/pcre_exec.c b/pcre_exec.c
index ca57406..e4059c0 100644
--- a/pcre_exec.c
+++ b/pcre_exec.c
@@ -2594,7 +2594,7 @@ for (;;)
break;
case PT_CLIST:
- cp = PRIV(ucd_caseless_sets) + prop->caseset;
+ cp = PRIV(ucd_caseless_sets) + ecode[2];
for (;;)
{
if (c < *cp)
@@ -4214,7 +4214,7 @@ for (;;)
RRETURN(MATCH_NOMATCH);
}
GETCHARINCTEST(c, eptr);
- cp = PRIV(ucd_caseless_sets) + UCD_CASESET(c);
+ cp = PRIV(ucd_caseless_sets) + prop_value;
for (;;)
{
if (c < *cp)
@@ -4965,7 +4965,7 @@ for (;;)
RRETURN(MATCH_NOMATCH);
}
GETCHARINCTEST(c, eptr);
- cp = PRIV(ucd_caseless_sets) + UCD_CASESET(c);
+ cp = PRIV(ucd_caseless_sets) + prop_value;
for (;;)
{
if (c < *cp)
@@ -5457,7 +5457,7 @@ for (;;)
break;
}
GETCHARLENTEST(c, eptr, len);
- cp = PRIV(ucd_caseless_sets) + UCD_CASESET(c);
+ cp = PRIV(ucd_caseless_sets) + prop_value;
for (;;)
{
if (c < *cp)