summaryrefslogtreecommitdiff
path: root/pcre_jit_compile.c
diff options
context:
space:
mode:
authorzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2015-06-25 04:02:53 +0000
committerzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2015-06-25 04:02:53 +0000
commit8a3ba39428c3e7ab11f1143992b1b51dd4a5c497 (patch)
tree81b874e6eee2a9e167bb545c0f5ad78931897fe9 /pcre_jit_compile.c
parent764692f9aea9eab50fdba6cb537441d8b34c6c37 (diff)
downloadpcre-8a3ba39428c3e7ab11f1143992b1b51dd4a5c497.tar.gz
Minor JIT fixes.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1572 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'pcre_jit_compile.c')
-rw-r--r--pcre_jit_compile.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
index debdf6e..6aedcec 100644
--- a/pcre_jit_compile.c
+++ b/pcre_jit_compile.c
@@ -1071,7 +1071,7 @@ while (cc < ccend)
size = 0;
bracketlen = 0;
if (private_data_ptr > SLJIT_MAX_LOCAL_SIZE)
- return;
+ break;
if (*cc == OP_ONCE || *cc == OP_ONCE_NC || *cc == OP_BRA || *cc == OP_CBRA || *cc == OP_COND)
if (detect_repeat(common, cc))
@@ -1162,12 +1162,17 @@ while (cc < ccend)
size = 1;
break;
- CASE_ITERATOR_TYPE_PRIVATE_DATA_2B
+ case OP_TYPEUPTO:
if (cc[1 + IMM2_SIZE] != OP_ANYNL && cc[1 + IMM2_SIZE] != OP_EXTUNI)
space = 2;
size = 1 + IMM2_SIZE;
break;
+ case OP_TYPEMINUPTO:
+ space = 2;
+ size = 1 + IMM2_SIZE;
+ break;
+
case OP_CLASS:
case OP_NCLASS:
size += 1 + 32 / sizeof(pcre_uchar);