| 882 | |
| 883 | |
| 884 | LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *event) { |
| 885 | if (!lua_getmetatable(L, obj)) /* no metatable? */ |
| 886 | return LUA_TNIL; |
| 887 | else { |
| 888 | int tt; |
| 889 | lua_pushstring(L, event); |
| 890 | tt = lua_rawget(L, -2); |
| 891 | if (tt == LUA_TNIL) /* is metafield nil? */ |
| 892 | lua_pop(L, 2); /* remove metatable and metafield */ |
| 893 | else |
| 894 | lua_remove(L, -2); /* remove only metatable */ |
| 895 | return tt; /* return metafield type */ |
| 896 | } |
| 897 | } |
| 898 | |
| 899 | |
| 900 | LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event) { |
no test coverage detected