aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-12-14 16:16:56 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2021-12-14 16:16:56 +0000
commit601e6403a2c8bcd9e73bb683cd26aa5d3a2c06b9 (patch)
treef86b6bc60758d6099a9f11e3f3c44501fd702f6a /src/lua
parent568773df1dcf5ed043ca0c760eaf53f1705ceb34 (diff)
downloadrspamd-601e6403a2c8bcd9e73bb683cd26aa5d3a2c06b9.tar.gz
rspamd-601e6403a2c8bcd9e73bb683cd26aa5d3a2c06b9.zip
[Minor] Allow lua_text in addition to strings
Diffstat (limited to 'src/lua')
-rw-r--r--src/lua/lua_text.c2
-rw-r--r--src/lua/lua_util.c20
2 files changed, 14 insertions, 8 deletions
diff --git a/src/lua/lua_text.c b/src/lua/lua_text.c
index d1fd87ded..f88b5c29b 100644
--- a/src/lua/lua_text.c
+++ b/src/lua/lua_text.c
@@ -292,7 +292,7 @@ lua_check_text_or_string (lua_State * L, gint pos)
* Fake static lua_text, we allow to use this function multiple times
* by having a small array of static structures.
*/
- static int cur_txt_idx = 0;
+ static unsigned cur_txt_idx = 0;
static struct rspamd_lua_text fake_text[4];
gsize len;
int sel_idx;
diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c
index 570a51be7..4dd944008 100644
--- a/src/lua/lua_util.c
+++ b/src/lua/lua_util.c
@@ -1366,11 +1366,12 @@ static gint
lua_util_fold_header (lua_State *L)
{
LUA_TRACE_POINT;
- const gchar *name, *value, *how, *stop_chars = NULL;
+ const gchar *how, *stop_chars = NULL;
+ struct rspamd_lua_text *name, *value;
GString *folded;
- name = luaL_checkstring (L, 1);
- value = luaL_checkstring (L, 2);
+ name = lua_check_text_or_string (L, 1);
+ value = lua_check_text_or_string (L, 2);
if (name && value) {
@@ -1383,20 +1384,25 @@ lua_util_fold_header (lua_State *L)
}
if (strcmp (how, "cr") == 0) {
- folded = rspamd_header_value_fold (name, value, 0,
+ folded = rspamd_header_value_fold (name->start, name->len,
+ value->start, value->len,
+ 0,
RSPAMD_TASK_NEWLINES_CR, stop_chars);
}
else if (strcmp (how, "lf") == 0) {
- folded = rspamd_header_value_fold (name, value, 0,
+ folded = rspamd_header_value_fold (name->start, name->len,
+ value->start, value->len, 0,
RSPAMD_TASK_NEWLINES_LF, stop_chars);
}
else {
- folded = rspamd_header_value_fold (name, value, 0,
+ folded = rspamd_header_value_fold (name->start, name->len,
+ value->start, value->len, 0,
RSPAMD_TASK_NEWLINES_CRLF, stop_chars);
}
}
else {
- folded = rspamd_header_value_fold (name, value, 0,
+ folded = rspamd_header_value_fold (name->start, name->len,
+ value->start, value->len, 0,
RSPAMD_TASK_NEWLINES_CRLF, stop_chars);
}