From 29975332870cf09fb91b66c862aaa8f068ffbc48 Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Mon, 4 May 2026 12:46:33 +0300 Subject: [PATCH] Use only defined PCRE2 options --- src/pcre.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/src/pcre.c b/src/pcre.c index dfaf921..014f076 100644 --- a/src/pcre.c +++ b/src/pcre.c @@ -43,61 +43,169 @@ static struct pcreopt { uint32_t value; } pcreopts[]= { +#ifdef PCRE2_ALLOW_EMPTY_CLASS {"PCRE2_ALLOW_EMPTY_CLASS", PCRE2_ALLOW_EMPTY_CLASS}, +#endif +#ifdef PCRE2_ALT_BSUX {"PCRE2_ALT_BSUX", PCRE2_ALT_BSUX}, +#endif +#ifdef PCRE2_AUTO_CALLOUT {"PCRE2_AUTO_CALLOUT", PCRE2_AUTO_CALLOUT}, +#endif +#ifdef PCRE2_CASELESS {"PCRE2_CASELESS", PCRE2_CASELESS}, +#endif +#ifdef PCRE2_DOLLAR_ENDONLY {"PCRE2_DOLLAR_ENDONLY", PCRE2_DOLLAR_ENDONLY}, +#endif +#ifdef PCRE2_DOTALL {"PCRE2_DOTALL", PCRE2_DOTALL}, +#endif +#ifdef PCRE2_DUPNAMES {"PCRE2_DUPNAMES", PCRE2_DUPNAMES}, +#endif +#ifdef PCRE2_EXTENDED {"PCRE2_EXTENDED", PCRE2_EXTENDED}, +#endif +#ifdef PCRE2_FIRSTLINE {"PCRE2_FIRSTLINE", PCRE2_FIRSTLINE}, +#endif +#ifdef PCRE2_MATCH_UNSET_BACKREF {"PCRE2_MATCH_UNSET_BACKREF", PCRE2_MATCH_UNSET_BACKREF}, +#endif +#ifdef PCRE2_MULTILINE {"PCRE2_MULTILINE", PCRE2_MULTILINE}, +#endif +#ifdef PCRE2_NEVER_UCP {"PCRE2_NEVER_UCP", PCRE2_NEVER_UCP}, +#endif +#ifdef PCRE2_NEVER_UTF {"PCRE2_NEVER_UTF", PCRE2_NEVER_UTF}, +#endif +#ifdef PCRE2_NO_AUTO_CAPTURE {"PCRE2_NO_AUTO_CAPTURE", PCRE2_NO_AUTO_CAPTURE}, +#endif +#ifdef PCRE2_NO_AUTO_POSSESS {"PCRE2_NO_AUTO_POSSESS", PCRE2_NO_AUTO_POSSESS}, +#endif +#ifdef PCRE2_NO_DOTSTAR_ANCHOR {"PCRE2_NO_DOTSTAR_ANCHOR", PCRE2_NO_DOTSTAR_ANCHOR}, +#endif +#ifdef PCRE2_NO_START_OPTIMIZE {"PCRE2_NO_START_OPTIMIZE", PCRE2_NO_START_OPTIMIZE}, +#endif +#ifdef PCRE2_UCP {"PCRE2_UCP", PCRE2_UCP}, +#endif +#ifdef PCRE2_UNGREEDY {"PCRE2_UNGREEDY", PCRE2_UNGREEDY}, +#endif +#ifdef PCRE2_UTF {"PCRE2_UTF", PCRE2_UTF}, +#endif +#ifdef PCRE2_NEVER_BACKSLASH_C {"PCRE2_NEVER_BACKSLASH_C", PCRE2_NEVER_BACKSLASH_C}, +#endif +#ifdef PCRE2_ALT_CIRCUMFLEX {"PCRE2_ALT_CIRCUMFLEX", PCRE2_ALT_CIRCUMFLEX}, +#endif +#ifdef PCRE2_ALT_VERBNAMES {"PCRE2_ALT_VERBNAMES", PCRE2_ALT_VERBNAMES}, +#endif +#ifdef PCRE2_USE_OFFSET_LIMIT {"PCRE2_USE_OFFSET_LIMIT", PCRE2_USE_OFFSET_LIMIT}, +#endif +#ifdef PCRE2_EXTENDED_MORE {"PCRE2_EXTENDED_MORE", PCRE2_EXTENDED_MORE}, +#endif +#ifdef PCRE2_LITERAL {"PCRE2_LITERAL", PCRE2_LITERAL}, +#endif +#ifdef PCRE2_MATCH_INVALID_UTF {"PCRE2_MATCH_INVALID_UTF", PCRE2_MATCH_INVALID_UTF}, +#endif +#ifdef PCRE2_CASELESS {"PCRE_CASELESS", PCRE2_CASELESS}, +#endif +#ifdef PCRE2_MULTILINE {"PCRE_MULTILINE", PCRE2_MULTILINE}, +#endif +#ifdef PCRE2_DOTALL {"PCRE_DOTALL", PCRE2_DOTALL}, +#endif +#ifdef PCRE2_EXTENDED {"PCRE_EXTENDED", PCRE2_EXTENDED}, +#endif +#ifdef PCRE2_ANCHORED {"PCRE_ANCHORED", PCRE2_ANCHORED}, +#endif +#ifdef PCRE2_DOLLAR_ENDONLY {"PCRE_DOLLAR_ENDONLY", PCRE2_DOLLAR_ENDONLY}, +#endif +#ifdef PCRE2_EXTENDED_MORE {"PCRE_EXTRA", PCRE2_EXTENDED_MORE}, +#endif +#ifdef PCRE2_NOTBOL {"PCRE_NOTBOL", PCRE2_NOTBOL}, +#endif +#ifdef PCRE2_NOTEOL {"PCRE_NOTEOL", PCRE2_NOTEOL}, +#endif +#ifdef PCRE2_UNGREEDY {"PCRE_UNGREEDY", PCRE2_UNGREEDY}, +#endif +#ifdef PCRE2_NOTEMPTY {"PCRE_NOTEMPTY", PCRE2_NOTEMPTY}, +#endif +#ifdef PCRE2_UTF {"PCRE_UTF8", PCRE2_UTF}, +#endif +#ifdef PCRE2_NO_AUTO_CAPTURE {"PCRE_NO_AUTO_CAPTURE", PCRE2_NO_AUTO_CAPTURE}, +#endif +#ifdef PCRE2_MATCH_INVALID_UTF {"PCRE_NO_UTF8_CHECK", PCRE2_MATCH_INVALID_UTF}, +#endif +#ifdef PCRE2_AUTO_CALLOUT {"PCRE_AUTO_CALLOUT", PCRE2_AUTO_CALLOUT}, +#endif +#ifdef PCRE2_PARTIAL_SOFT {"PCRE_PARTIAL", PCRE2_PARTIAL_SOFT}, +#endif +#ifdef PCRE2_DFA_SHORTEST {"PCRE_DFA_SHORTEST", PCRE2_DFA_SHORTEST}, +#endif +#ifdef PCRE2_DFA_RESTART {"PCRE_DFA_RESTART", PCRE2_DFA_RESTART}, +#endif +#ifdef PCRE2_FIRSTLINE {"PCRE_FIRSTLINE", PCRE2_FIRSTLINE}, +#endif +#ifdef PCRE2_DUPNAMES {"PCRE_DUPNAMES", PCRE2_DUPNAMES}, +#endif +#ifdef PCRE2_NEWLINE_CR {"PCRE_NEWLINE_CR", PCRE2_NEWLINE_CR}, +#endif +#ifdef PCRE2_NEWLINE_LF {"PCRE_NEWLINE_LF", PCRE2_NEWLINE_LF}, +#endif +#ifdef PCRE2_NEWLINE_CRLF {"PCRE_NEWLINE_CRLF", PCRE2_NEWLINE_CRLF}, +#endif +#ifdef PCRE2_NEWLINE_ANY {"PCRE_NEWLINE_ANY", PCRE2_NEWLINE_ANY}, +#endif +#ifdef PCRE2_NEWLINE_ANYCRLF {"PCRE_NEWLINE_ANYCRLF", PCRE2_NEWLINE_ANYCRLF}, +#endif +#ifdef PCRE2_BSR_ANYCRLF {"PCRE_BSR_ANYCRLF", PCRE2_BSR_ANYCRLF}, +#endif +#ifdef PCRE2_BSR_UNICODE {"PCRE_BSR_UNICODE", PCRE2_BSR_UNICODE}, +#endif {NULL, 0} };