}
lua_pushvalue (L, 2);
cbref = luaL_ref (L, LUA_REGISTRYINDEX);
- if (lua_gettop (L) >= 3 && rspamd_lua_check_udata (L, 3, "rspamd{ev_base}")) {
+ if (lua_gettop (L) >= 3 && rspamd_lua_check_udata_maybe (L, 3, "rspamd{ev_base}")) {
ev_base = *(struct event_base **)lua_touserdata (L, 3);
}
else {
ev_base = NULL;
}
- if (lua_gettop (L) >= 4 && rspamd_lua_check_udata (L, 4, "rspamd{resolver}")) {
+ if (lua_gettop (L) >= 4 && rspamd_lua_check_udata_maybe (L, 4, "rspamd{resolver}")) {
resolver = *(struct rspamd_dns_resolver **)lua_touserdata (L, 4);
}
else {
resolver = lua_http_global_resolver (ev_base);
}
- if (lua_gettop (L) >= 5 && rspamd_lua_check_udata (L, 5, "rspamd{session}")) {
+ if (lua_gettop (L) >= 5 && rspamd_lua_check_udata_maybe (L, 5, "rspamd{session}")) {
session = *(struct rspamd_async_session **)lua_touserdata (L, 5);
}
else {
if (task == NULL) {
lua_pushstring (L, "ev_base");
lua_gettable (L, -2);
- if (rspamd_lua_check_udata (L, -1, "rspamd{ev_base}")) {
+ if (rspamd_lua_check_udata_maybe (L, -1, "rspamd{ev_base}")) {
ev_base = *(struct event_base **)lua_touserdata (L, -1);
}
else {
lua_pushstring (L, "resolver");
lua_gettable (L, -2);
- if (rspamd_lua_check_udata (L, -1, "rspamd{resolver}")) {
+ if (rspamd_lua_check_udata_maybe (L, -1, "rspamd{resolver}")) {
resolver = *(struct rspamd_dns_resolver **)lua_touserdata (L, -1);
}
else {
lua_pushstring (L, "session");
lua_gettable (L, -2);
- if (rspamd_lua_check_udata (L, -1, "rspamd{session}")) {
+ if (rspamd_lua_check_udata_maybe (L, -1, "rspamd{session}")) {
session = *(struct rspamd_async_session **)lua_touserdata (L, -1);
}
else {