| 2404 | |
| 2405 | |
| 2406 | LUALIB_API int luaL_getmetafield(lua_State *L, int obj, const char *event) { |
| 2407 | if (!lua_getmetatable(L, obj)) /* no metatable? */ |
| 2408 | return LUA_TNIL; |
| 2409 | else { |
| 2410 | int tt; |
| 2411 | lua_pushstring(L, event); |
| 2412 | tt = lua_rawget(L, -2); |
| 2413 | if (tt == LUA_TNIL) /* is metafield nil? */ |
| 2414 | lua_pop(L, 2); /* remove metatable and metafield */ |
| 2415 | else |
| 2416 | lua_remove(L, -2); /* remove only metatable */ |
| 2417 | return tt; /* return metafield type */ |
| 2418 | } |
| 2419 | } |
| 2420 | |
| 2421 | |
| 2422 | LUALIB_API int luaL_callmeta(lua_State *L, int obj, const char *event) { |
no test coverage detected