From 96206fb615f7b678fa57fa4c73c0f11ad33f0185 Mon Sep 17 00:00:00 2001 From: Ivo Danihelka Date: Wed, 31 Oct 2012 14:05:12 +0000 Subject: [PATCH] Let __gc be inside of the metatables. --- zmq.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zmq.c b/zmq.c index 3668afb..c8636a5 100644 --- a/zmq.c +++ b/zmq.c @@ -526,15 +526,15 @@ DLL_EXPORT int luaopen_libluazmq(lua_State *L) { /* context metatable. */ luaL_newmetatable(L, MT_ZMQ_CONTEXT); - lua_createtable(L, 0, sizeof(ctxmethods) / sizeof(luaL_reg) - 1); luaL_register(L, NULL, ctxmethods); - lua_setfield(L, -2, "__index"); + lua_pushvalue(L, -1); + lua_setfield(L, -1, "__index"); /* socket metatable. */ luaL_newmetatable(L, MT_ZMQ_SOCKET); - lua_createtable(L, 0, sizeof(sockmethods) / sizeof(luaL_reg) - 1); luaL_register(L, NULL, sockmethods); - lua_setfield(L, -2, "__index"); + lua_pushvalue(L, -1); + lua_setfield(L, -1, "__index"); luaL_register(L, "zmq", zmqlib);