From: Vsevolod Stakhov Date: Wed, 4 Mar 2015 15:29:19 +0000 (+0000) Subject: Support m,, patterns in lua regexps. X-Git-Tag: 0.9.0~567 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1ed6a2f0b92671f36848880d7db5dcdef82460f4;p=rspamd.git Support m,, patterns in lua regexps. --- diff --git a/src/lua/lua_regexp.c b/src/lua/lua_regexp.c index a86424c66..04f141fb3 100644 --- a/src/lua/lua_regexp.c +++ b/src/lua/lua_regexp.c @@ -102,7 +102,7 @@ lua_regexp_create (lua_State *L) GRegex *re; struct rspamd_lua_regexp *new, **pnew; const gchar *string, *flags_str = NULL, *slash; - gchar *pattern; + gchar *pattern, sep; GError *err = NULL; string = luaL_checkstring (L, 1); @@ -122,6 +122,17 @@ lua_regexp_create (lua_State *L) pattern = g_strdup (string); } } + else if (string[0] == 'm') { + /* Special case for perl */ + slash = &string[1]; + sep = *slash; + slash = strrchr (string, sep); + if (slash != NULL && slash > &string[1]) { + flags_str = slash + 1; + pattern = g_malloc (slash - string - 1); + rspamd_strlcpy (pattern, string + 2, slash - string - 1); + } + } else { pattern = g_strdup (string); }