Browse Source

[Minor] Add Lua methods to get urls order

tags/3.6
Vsevolod Stakhov 10 months ago
parent
commit
5331d429f1
No account linked to committer's email address
1 changed files with 46 additions and 0 deletions
  1. 46
    0
      src/lua/lua_url.c

+ 46
- 0
src/lua/lua_url.c View File

LUA_FUNCTION_DEF(url, all); LUA_FUNCTION_DEF(url, all);
LUA_FUNCTION_DEF(url, lt); LUA_FUNCTION_DEF(url, lt);
LUA_FUNCTION_DEF(url, eq); LUA_FUNCTION_DEF(url, eq);
LUA_FUNCTION_DEF(url, get_order);
LUA_FUNCTION_DEF(url, get_part_order);


static const struct luaL_reg urllib_m[] = { static const struct luaL_reg urllib_m[] = {
LUA_INTERFACE_DEF(url, get_length), LUA_INTERFACE_DEF(url, get_length),
LUA_INTERFACE_DEF(url, get_count), LUA_INTERFACE_DEF(url, get_count),
LUA_INTERFACE_DEF(url, get_flags), LUA_INTERFACE_DEF(url, get_flags),
LUA_INTERFACE_DEF(url, get_flags_num), LUA_INTERFACE_DEF(url, get_flags_num),
LUA_INTERFACE_DEF(url, get_order),
LUA_INTERFACE_DEF(url, get_part_order),
{"get_redirected", lua_url_get_phished}, {"get_redirected", lua_url_get_phished},
LUA_INTERFACE_DEF(url, set_redirected), LUA_INTERFACE_DEF(url, set_redirected),
{"__tostring", lua_url_tostring}, {"__tostring", lua_url_tostring},
return 1; return 1;
} }


static gint
lua_url_get_order(lua_State *L)
{
LUA_TRACE_POINT;
struct rspamd_lua_url *url = lua_check_url(L, 1);

if (url) {
if (url->url->order != (uint16_t) -1) {
lua_pushinteger(L, url->url->order);
}
else {
lua_pushnil(L);
}
}
else {
return luaL_error(L, "invalid arguments");
}

return 1;
}

static gint
lua_url_get_part_order(lua_State *L)
{
LUA_TRACE_POINT;
struct rspamd_lua_url *url = lua_check_url(L, 1);

if (url) {
if (url->url->part_order != (uint16_t) -1) {
lua_pushinteger(L, url->url->part_order);
}
else {
lua_pushnil(L);
}
}
else {
return luaL_error(L, "invalid arguments");
}

return 1;
}

void lua_tree_url_callback(gpointer key, gpointer value, gpointer ud) void lua_tree_url_callback(gpointer key, gpointer value, gpointer ud)
{ {
struct rspamd_lua_url *lua_url; struct rspamd_lua_url *lua_url;

Loading…
Cancel
Save