From: Vsevolod Stakhov Date: Fri, 18 Dec 2020 14:44:46 +0000 (+0000) Subject: [Minor] Relax `parse_text` input arguments to allow both string and text X-Git-Tag: 2.7~63 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=10d2f9f5e95b3cea58ee359edfa00667d76facbf;p=thirdparty%2Frspamd.git [Minor] Relax `parse_text` input arguments to allow both string and text --- diff --git a/contrib/libucl/lua_ucl.c b/contrib/libucl/lua_ucl.c index f552ce456b..988dba355b 100644 --- a/contrib/libucl/lua_ucl.c +++ b/contrib/libucl/lua_ucl.c @@ -855,7 +855,21 @@ lua_ucl_parser_parse_text (lua_State *L) int ret = 2; parser = lua_ucl_parser_get (L, 1); - t = lua_touserdata (L, 2); + + if (lua_type (L, 2) == LUA_TUSERDATA) { + t = lua_touserdata (L, 2); + } + else { + const gchar *s; + gsize len; + struct _rspamd_lua_text st_t; + + s = lua_tolstring (L, 2, &len); + st_t.start = s; + st_t.len = len; + + t = &st_t; + } if (lua_type (L, 3) == LUA_TSTRING) { type = lua_ucl_str_to_parse_type (lua_tostring (L, 3));