From 5ef148649daca54714bd141bd473072250b46d83 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 16 Sep 2019 13:10:42 +0100 Subject: [Rework] Lua core: Use lightuserdata to index classes --- src/lua/lua_rsa.c | 36 ++++++------------------------------ 1 file changed, 6 insertions(+), 30 deletions(-) (limited to 'src/lua/lua_rsa.c') diff --git a/src/lua/lua_rsa.c b/src/lua/lua_rsa.c index 58607f92c..4b2caa2bf 100644 --- a/src/lua/lua_rsa.c +++ b/src/lua/lua_rsa.c @@ -719,40 +719,16 @@ lua_load_rsa (lua_State * L) void luaopen_rsa (lua_State * L) { - luaL_newmetatable (L, "rspamd{rsa_pubkey}"); - lua_pushstring (L, "__index"); - lua_pushvalue (L, -2); - lua_settable (L, -3); - - lua_pushstring (L, "class"); - lua_pushstring (L, "rspamd{rsa_pubkey}"); - lua_rawset (L, -3); - - luaL_register (L, NULL, rsapubkeylib_m); + rspamd_lua_new_class (L, "rspamd{rsa_pubkey}", rsapubkeylib_m); + lua_pop (L, 1); rspamd_lua_add_preload (L, "rspamd_rsa_pubkey", lua_load_pubkey); - luaL_newmetatable (L, "rspamd{rsa_privkey}"); - lua_pushstring (L, "__index"); - lua_pushvalue (L, -2); - lua_settable (L, -3); - - lua_pushstring (L, "class"); - lua_pushstring (L, "rspamd{rsa_privkey}"); - lua_rawset (L, -3); - - luaL_register (L, NULL, rsaprivkeylib_m); + rspamd_lua_new_class (L, "rspamd{rsa_privkey}", rsaprivkeylib_m); + lua_pop (L, 1); rspamd_lua_add_preload (L, "rspamd_rsa_privkey", lua_load_privkey); - luaL_newmetatable (L, "rspamd{rsa_signature}"); - lua_pushstring (L, "__index"); - lua_pushvalue (L, -2); - lua_settable (L, -3); - - lua_pushstring (L, "class"); - lua_pushstring (L, "rspamd{rsa_signature}"); - lua_rawset (L, -3); - - luaL_register (L, NULL, rsasignlib_m); + rspamd_lua_new_class (L, "rspamd{rsa_signature}", rsasignlib_m); + lua_pop (L, 1); rspamd_lua_add_preload (L, "rspamd_rsa_signature", lua_load_signature); rspamd_lua_add_preload (L, "rspamd_rsa", lua_load_rsa); -- cgit v1.2.3