diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-05-10 14:37:55 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-05-10 14:37:55 +0100 |
commit | cf2d3dfa4338b06a853fec3c45bddfc819127918 (patch) | |
tree | 9035efcbff2bf934f594d161a60767f41dd57245 /src/lua/lua_common.c | |
parent | 9978349804f4267c32d83f3a44fb084db19b2425 (diff) | |
download | rspamd-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.c | 14 |
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; |