diff options
author | Vsevolod Stakhov <vsevolod@rspamd.com> | 2024-03-05 15:29:33 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rspamd.com> | 2024-03-05 15:29:33 +0000 |
commit | bcd36f79596a8666217d29088f6b0040c6cf092b (patch) | |
tree | 14c1255f2dcdd7056d1e0f531284ae81c623cf31 /src/lua/lua_common.c | |
parent | dd284d1c1ef885d0666656fe3286445a79af0929 (diff) | |
download | rspamd-bcd36f79596a8666217d29088f6b0040c6cf092b.tar.gz rspamd-bcd36f79596a8666217d29088f6b0040c6cf092b.zip |
[Rework] Rework dynamic usage
Diffstat (limited to 'src/lua/lua_common.c')
-rw-r--r-- | src/lua/lua_common.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c index 5a2672fbc..8474ff790 100644 --- a/src/lua/lua_common.c +++ b/src/lua/lua_common.c @@ -1326,7 +1326,6 @@ rspamd_lua_parse_table_arguments(lua_State *L, gint pos, const gchar *p, *key = NULL, *end, *cls; va_list ap; gboolean required = FALSE, failed = FALSE, is_table; - gchar classbuf[128]; enum { read_key = 0, read_arg, @@ -1818,15 +1817,14 @@ rspamd_lua_parse_table_arguments(lua_State *L, gint pos, return FALSE; } - rspamd_snprintf(classbuf, sizeof(classbuf), "rspamd{%*s}", - (gint) clslen, cls); - + const char *static_cls = rspamd_lua_static_classname(cls, clslen); /* * We skip class check here for speed in non-table mode */ if (!failed && (!is_table || - rspamd_lua_check_class(L, idx, classbuf))) { + static_cls == NULL || + rspamd_lua_check_class(L, idx, static_cls))) { if (direct_userdata) { void **arg_p = (va_arg(ap, void **)); *arg_p = lua_touserdata(L, idx); @@ -1844,7 +1842,7 @@ rspamd_lua_parse_table_arguments(lua_State *L, gint pos, "invalid class for key %.*s, expected %s, got %s", (gint) keylen, key, - classbuf, + static_cls, rspamd_lua_class_tostring_buf(L, FALSE, idx)); va_end(ap); |