diff options
author | Julian Laubstein <julianlaubstein@yahoo.de> | 2015-11-05 10:56:20 +0100 |
---|---|---|
committer | Julian Laubstein <julianlaubstein@yahoo.de> | 2015-11-05 10:56:20 +0100 |
commit | 51e5e6e9a8ed689c044256859f16f1b1f57585b7 (patch) | |
tree | 3a0d2409a61622edcc3ec5953a28fb3c13cc8705 /lib/lua/src/ltm.c | |
parent | Merge pull request #2601 from Gargaj/patch-1 (diff) | |
parent | Outsourced all libraries into submodules (diff) | |
download | cuberite-51e5e6e9a8ed689c044256859f16f1b1f57585b7.tar cuberite-51e5e6e9a8ed689c044256859f16f1b1f57585b7.tar.gz cuberite-51e5e6e9a8ed689c044256859f16f1b1f57585b7.tar.bz2 cuberite-51e5e6e9a8ed689c044256859f16f1b1f57585b7.tar.lz cuberite-51e5e6e9a8ed689c044256859f16f1b1f57585b7.tar.xz cuberite-51e5e6e9a8ed689c044256859f16f1b1f57585b7.tar.zst cuberite-51e5e6e9a8ed689c044256859f16f1b1f57585b7.zip |
Diffstat (limited to 'lib/lua/src/ltm.c')
m--------- | lib/lua | 0 | ||||
-rw-r--r-- | lib/lua/src/ltm.c | 75 |
2 files changed, 0 insertions, 75 deletions
diff --git a/lib/lua b/lib/lua new file mode 160000 +Subproject dd27acefcd98a28c68e686f414a42302113471f diff --git a/lib/lua/src/ltm.c b/lib/lua/src/ltm.c deleted file mode 100644 index c27f0f6fa..000000000 --- a/lib/lua/src/ltm.c +++ /dev/null @@ -1,75 +0,0 @@ -/* -** $Id: ltm.c,v 2.8.1.1 2007/12/27 13:02:25 roberto Exp $ -** Tag methods -** See Copyright Notice in lua.h -*/ - - -#include <string.h> - -#define ltm_c -#define LUA_CORE - -#include "lua.h" - -#include "lobject.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" - - - -const char *const luaT_typenames[] = { - "nil", "boolean", "userdata", "number", - "string", "table", "function", "userdata", "thread", - "proto", "upval" -}; - - -void luaT_init (lua_State *L) { - static const char *const luaT_eventname[] = { /* ORDER TM */ - "__index", "__newindex", - "__gc", "__mode", "__eq", - "__add", "__sub", "__mul", "__div", "__mod", - "__pow", "__unm", "__len", "__lt", "__le", - "__concat", "__call" - }; - int i; - for (i=0; i<TM_N; i++) { - G(L)->tmname[i] = luaS_new(L, luaT_eventname[i]); - luaS_fix(G(L)->tmname[i]); /* never collect these names */ - } -} - - -/* -** function to be used with macro "fasttm": optimized for absence of -** tag methods -*/ -const TValue *luaT_gettm (Table *events, TMS event, TString *ename) { - const TValue *tm = luaH_getstr(events, ename); - lua_assert(event <= TM_EQ); - if (ttisnil(tm)) { /* no tag method? */ - events->flags |= cast_byte(1u<<event); /* cache this fact */ - return NULL; - } - else return tm; -} - - -const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event) { - Table *mt; - switch (ttype(o)) { - case LUA_TTABLE: - mt = hvalue(o)->metatable; - break; - case LUA_TUSERDATA: - mt = uvalue(o)->metatable; - break; - default: - mt = G(L)->mt[ttype(o)]; - } - return (mt ? luaH_getstr(mt, G(L)->tmname[event]) : luaO_nilobject); -} - |