--- embedaddon/pcre/pcre_study.c 2012/02/21 23:50:25 1.1.1.2 +++ embedaddon/pcre/pcre_study.c 2012/10/09 09:19:17 1.1.1.3 @@ -1123,7 +1123,7 @@ do case OP_HSPACE: SET_BIT(0x09); SET_BIT(0x20); -#ifdef COMPILE_PCRE8 +#ifdef SUPPORT_UTF if (utf) { #ifdef COMPILE_PCRE8 @@ -1148,7 +1148,7 @@ do SET_BIT(0x0B); SET_BIT(0x0C); SET_BIT(0x0D); -#ifdef COMPILE_PCRE8 +#ifdef SUPPORT_UTF if (utf) { #ifdef COMPILE_PCRE8 @@ -1418,7 +1418,8 @@ we don't have to change that code. */ if (bits_set || min > 0 #ifdef SUPPORT_JIT - || (options & PCRE_STUDY_JIT_COMPILE) != 0 + || (options & (PCRE_STUDY_JIT_COMPILE | PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE + | PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE)) != 0 #endif ) { @@ -1478,7 +1479,13 @@ if (bits_set || min > 0 #ifdef SUPPORT_JIT extra->executable_jit = NULL; - if ((options & PCRE_STUDY_JIT_COMPILE) != 0) PRIV(jit_compile)(re, extra); + if ((options & PCRE_STUDY_JIT_COMPILE) != 0) + PRIV(jit_compile)(re, extra, JIT_COMPILE); + if ((options & PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE) != 0) + PRIV(jit_compile)(re, extra, JIT_PARTIAL_SOFT_COMPILE); + if ((options & PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE) != 0) + PRIV(jit_compile)(re, extra, JIT_PARTIAL_HARD_COMPILE); + if (study->flags == 0 && (extra->flags & PCRE_EXTRA_EXECUTABLE_JIT) == 0) { #ifdef COMPILE_PCRE8