summaryrefslogtreecommitdiffstats
path: root/src/lua/lua_common.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-05-10 14:37:55 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-05-10 14:37:55 +0100
commitcf2d3dfa4338b06a853fec3c45bddfc819127918 (patch)
tree9035efcbff2bf934f594d161a60767f41dd57245 /src/lua/lua_common.c
parent9978349804f4267c32d83f3a44fb084db19b2425 (diff)
downloadrspamd-cf2d3dfa4338b06a853fec3c45bddfc819127918.tar.gz
rspamd-cf2d3dfa4338b06a853fec3c45bddfc819127918.zip
[Feature] Allow to extract ucl_object from lua using common API
Diffstat (limited to 'src/lua/lua_common.c')
-rw-r--r--src/lua/lua_common.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c
index 63aab5830..768b65bfc 100644
--- a/src/lua/lua_common.c
+++ b/src/lua/lua_common.c
@@ -677,6 +677,20 @@ rspamd_lua_parse_table_arguments (lua_State *L, gint pos,
lua_pop (L, 1);
}
break;
+ case 'u':
+ if (t != LUA_TNONE) {
+ *(va_arg (ap, ucl_object_t **)) = ucl_object_lua_import (L,
+ idx);
+ }
+ else {
+ failed = TRUE;
+ *(va_arg (ap, ucl_object_t **)) = NULL;
+ }
+
+ if (is_table) {
+ lua_pop (L, 1);
+ }
+ break;
case 'U':
if (t == LUA_TNIL || t == LUA_TNONE) {
failed = TRUE;