aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_common.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-01-01 19:45:48 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-01-01 19:46:31 +0000
commit00c9ae4c698cd63b9ab7cb155d5c342f50281cd6 (patch)
tree1c2d6df4fa608fc7f0154482707f89a920d6e676 /src/lua/lua_common.c
parent81b57286eee68cb0f61769b9860ad36b75e4fc05 (diff)
downloadrspamd-00c9ae4c698cd63b9ab7cb155d5c342f50281cd6.tar.gz
rspamd-00c9ae4c698cd63b9ab7cb155d5c342f50281cd6.zip
[Minor] Move function to the common routines
Diffstat (limited to 'src/lua/lua_common.c')
-rw-r--r--src/lua/lua_common.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c
index 80a9423d9..248f1dbc3 100644
--- a/src/lua/lua_common.c
+++ b/src/lua/lua_common.c
@@ -2346,4 +2346,35 @@ rspamd_lua_push_words (lua_State *L, GArray *words,
}
return 1;
+}
+
+gchar *
+rspamd_lua_get_module_name (lua_State *L)
+{
+ lua_Debug d;
+ gchar *p;
+ gchar func_buf[128];
+
+ if (lua_getstack (L, 1, &d) == 1) {
+ (void) lua_getinfo (L, "Sl", &d);
+ if ((p = strrchr (d.short_src, '/')) == NULL) {
+ p = d.short_src;
+ }
+ else {
+ p++;
+ }
+
+ if (strlen (p) > 20) {
+ rspamd_snprintf (func_buf, sizeof (func_buf), "%10s...]:%d", p,
+ d.currentline);
+ }
+ else {
+ rspamd_snprintf (func_buf, sizeof (func_buf), "%s:%d", p,
+ d.currentline);
+ }
+
+ return g_strdup (func_buf);
+ }
+
+ return NULL;
} \ No newline at end of file