summaryrefslogtreecommitdiff
path: root/ltm.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1999-10-04 15:51:04 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1999-10-04 15:51:04 -0200
commit4343420d4d559a7d4cdacdbc1fd61552dcf59f04 (patch)
tree57e0bdd41e2f3a4ab70d3150022569751e3d02ad /ltm.c
parent1f7103e05d01a6a4c300a73bcfc8d9b17b2c20a4 (diff)
downloadlua-4343420d4d559a7d4cdacdbc1fd61552dcf59f04.tar.gz
lua-4343420d4d559a7d4cdacdbc1fd61552dcf59f04.tar.bz2
lua-4343420d4d559a7d4cdacdbc1fd61552dcf59f04.zip
simplified version of `gc' tag method (only for userdata now).
Diffstat (limited to 'ltm.c')
-rw-r--r--ltm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ltm.c b/ltm.c
index f5da877f..37ef9fef 100644
--- a/ltm.c
+++ b/ltm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltm.c,v 1.26 1999/08/16 20:52:00 roberto Exp roberto $ 2** $Id: ltm.c,v 1.27 1999/09/20 14:57:29 roberto Exp roberto $
3** Tag methods 3** Tag methods
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -39,13 +39,17 @@ static const char luaT_validevents[NUM_TAGS][IM_N] = {
39{1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}, /* LUA_T_USERDATA */ 39{1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}, /* LUA_T_USERDATA */
40{1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, /* LUA_T_NUMBER */ 40{1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, /* LUA_T_NUMBER */
41{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, /* LUA_T_STRING */ 41{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, /* LUA_T_STRING */
42{0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, /* LUA_T_ARRAY */ 42{0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}, /* LUA_T_ARRAY */
43{1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, /* LUA_T_PROTO */ 43{1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, /* LUA_T_PROTO */
44{1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, /* LUA_T_CPROTO */ 44{1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, /* LUA_T_CPROTO */
45{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} /* LUA_T_NIL */ 45{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} /* LUA_T_NIL */
46}; 46};
47 47
48int luaT_validevent (int t, int e) { /* ORDER LUA_T */ 48int luaT_validevent (int t, int e) { /* ORDER LUA_T */
49#ifdef LUA_COMPAT_GC
50 if (t == LUA_T_ARRAY && e == IM_GC)
51 return 1; /* old versions allowed gc tag method for tables */
52#endif
49 return (t < LUA_T_NIL) ? 1 : luaT_validevents[-t][e]; 53 return (t < LUA_T_NIL) ? 1 : luaT_validevents[-t][e];
50} 54}
51 55