aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_common.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rspamd.com>2024-03-05 15:29:33 +0000
committerVsevolod Stakhov <vsevolod@rspamd.com>2024-03-05 15:29:33 +0000
commitbcd36f79596a8666217d29088f6b0040c6cf092b (patch)
tree14c1255f2dcdd7056d1e0f531284ae81c623cf31 /src/lua/lua_common.c
parentdd284d1c1ef885d0666656fe3286445a79af0929 (diff)
downloadrspamd-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.c10
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);