/* Long definition */
if ((brace = strchr (p + 1, '}')) != NULL) {
if (!rspamd_parse_long_option (p + 1, brace - (p + 1), result)) {
+ msg_warn_pool ("invalid long regexp type: %*s in '%s'",
+ (int)(brace - (p + 1)), p + 1, src);
p = NULL;
}
else {
got_backslash,
got_second_slash,
in_flags,
+ in_flags_brace,
got_obrace,
in_function,
got_ebrace,
state = in_flags;
break;
case in_flags:
- if (!g_ascii_isalpha (t)) {
+ if (t == '{') {
+ state = in_flags_brace;
+ p ++;
+ }
+ else if (!g_ascii_isalpha (t)) {
state = end_atom;
}
else {
p ++;
}
break;
+ case in_flags_brace:
+ if (t == '}') {
+ state = in_flags;
+ }
+ p ++;
+ break;
case got_backslash:
state = prev_state;
p ++;