typedef enum {
REGEX_DEPENDS_CHARSET = 0,
REGEX_LOCALE_CHARSET,
- REGEX_UNICODE_CHARSET
+ REGEX_UNICODE_CHARSET,
+ REGEX_ASCII_RESTRICTED_CHARSET,
+ REGEX_ASCII_MORE_RESTRICTED_CHARSET
} regex_charset;
#define _RXf_PMf_CHARSET_SHIFT ((RXf_PMf_STD_PMMOD_SHIFT)+5)
-#define RXf_PMf_CHARSET (3 << (_RXf_PMf_CHARSET_SHIFT)) /* 2 bits */
+#define RXf_PMf_CHARSET (7 << (_RXf_PMf_CHARSET_SHIFT)) /* 3 bits */
/* embed.pl doesn't yet know how to handle static inline functions, so
manually decorate them here with gcc-style attributes.
{
/* Returns the enum corresponding to the character set in 'flags' */
- return (flags & RXf_PMf_CHARSET) >> _RXf_PMf_CHARSET_SHIFT;
+ return (regex_charset) ((flags & RXf_PMf_CHARSET) >> _RXf_PMf_CHARSET_SHIFT);
}
/* Next available bit after the above. Name begins with '_' so won't be
* exported by B */
-#define _RXf_PMf_SHIFT_NEXT (RXf_PMf_STD_PMMOD_SHIFT+7)
+#define _RXf_PMf_SHIFT_NEXT (RXf_PMf_STD_PMMOD_SHIFT+8)
/* Mask of the above bits. These need to be transferred from op_pmflags to
* re->extflags during compilation */