diff options
author | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2017-07-30 11:53:36 +0300 |
---|---|---|
committer | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2017-07-30 11:53:36 +0300 |
commit | dba454ef54bfc83cc1ade93c668f39ec0a5895d3 (patch) | |
tree | 1ea904c2a08d6258cd28e22138ea789d9eb8d037 /pcre/pcre_internal.h | |
parent | dfd7749120e592299fddf2710bc336ee1000ae07 (diff) | |
download | mariadb-git-dba454ef54bfc83cc1ade93c668f39ec0a5895d3.tar.gz |
8.41
Diffstat (limited to 'pcre/pcre_internal.h')
-rw-r--r-- | pcre/pcre_internal.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/pcre/pcre_internal.h b/pcre/pcre_internal.h index 2923b29f82d..97ff55d03b3 100644 --- a/pcre/pcre_internal.h +++ b/pcre/pcre_internal.h @@ -2772,6 +2772,9 @@ extern const pcre_uint8 PRIV(ucd_stage1)[]; extern const pcre_uint16 PRIV(ucd_stage2)[]; extern const pcre_uint32 PRIV(ucp_gentype)[]; extern const pcre_uint32 PRIV(ucp_gbtable)[]; +#ifdef COMPILE_PCRE32 +extern const ucd_record PRIV(dummy_ucd_record)[]; +#endif #ifdef SUPPORT_JIT extern const int PRIV(ucp_typerange)[]; #endif @@ -2780,10 +2783,16 @@ extern const int PRIV(ucp_typerange)[]; /* UCD access macros */ #define UCD_BLOCK_SIZE 128 -#define GET_UCD(ch) (PRIV(ucd_records) + \ +#define REAL_GET_UCD(ch) (PRIV(ucd_records) + \ PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \ UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE]) +#ifdef COMPILE_PCRE32 +#define GET_UCD(ch) ((ch > 0x10ffff)? PRIV(dummy_ucd_record) : REAL_GET_UCD(ch)) +#else +#define GET_UCD(ch) REAL_GET_UCD(ch) +#endif + #define UCD_CHARTYPE(ch) GET_UCD(ch)->chartype #define UCD_SCRIPT(ch) GET_UCD(ch)->script #define UCD_CATEGORY(ch) PRIV(ucp_gentype)[UCD_CHARTYPE(ch)] |