diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-04-05 15:32:06 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-04-05 15:32:06 -0300 |
commit | 528665089402ea1fff2c36efb4c95c416f01c962 (patch) | |
tree | 869a5d408b21dbb86559e0ced98b39d507db2cc3 | |
parent | 0fb1644c6070daada206fc091f45b4bc39381ea2 (diff) | |
download | lua-528665089402ea1fff2c36efb4c95c416f01c962.tar.gz lua-528665089402ea1fff2c36efb4c95c416f01c962.tar.bz2 lua-528665089402ea1fff2c36efb4c95c416f01c962.zip |
new macro 'ttisequal'
-rw-r--r-- | lobject.c | 4 | ||||
-rw-r--r-- | lvm.c | 4 | ||||
-rw-r--r-- | lvm.h | 5 |
3 files changed, 6 insertions, 7 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lobject.c,v 2.45 2010/12/10 19:03:46 roberto Exp roberto $ | 2 | ** $Id: lobject.c,v 2.46 2011/02/07 19:15:24 roberto Exp roberto $ |
3 | ** Some generic functions over Lua objects | 3 | ** Some generic functions over Lua objects |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -71,7 +71,7 @@ int luaO_ceillog2 (unsigned int x) { | |||
71 | 71 | ||
72 | 72 | ||
73 | int luaO_rawequalObj (const TValue *t1, const TValue *t2) { | 73 | int luaO_rawequalObj (const TValue *t1, const TValue *t2) { |
74 | if (ttype(t1) != ttype(t2)) return 0; | 74 | if (!ttisequal(t1, t2)) return 0; |
75 | else switch (ttype(t1)) { | 75 | else switch (ttype(t1)) { |
76 | case LUA_TNIL: | 76 | case LUA_TNIL: |
77 | return 1; | 77 | return 1; |
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.131 2011/02/07 19:15:24 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.132 2011/04/05 14:26:23 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -239,7 +239,7 @@ int luaV_lessequal (lua_State *L, const TValue *l, const TValue *r) { | |||
239 | 239 | ||
240 | int luaV_equalval_ (lua_State *L, const TValue *t1, const TValue *t2) { | 240 | int luaV_equalval_ (lua_State *L, const TValue *t1, const TValue *t2) { |
241 | const TValue *tm; | 241 | const TValue *tm; |
242 | lua_assert(ttype(t1) == ttype(t2)); | 242 | lua_assert(ttisequal(t1, t2)); |
243 | switch (ttype(t1)) { | 243 | switch (ttype(t1)) { |
244 | case LUA_TNIL: return 1; | 244 | case LUA_TNIL: return 1; |
245 | case LUA_TNUMBER: return luai_numeq(nvalue(t1), nvalue(t2)); | 245 | case LUA_TNUMBER: return luai_numeq(nvalue(t1), nvalue(t2)); |
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.h,v 2.13 2009/11/19 19:04:58 roberto Exp roberto $ | 2 | ** $Id: lvm.h,v 2.14 2009/12/17 16:20:01 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -17,8 +17,7 @@ | |||
17 | 17 | ||
18 | #define tonumber(o,n) (ttisnumber(o) || (((o) = luaV_tonumber(o,n)) != NULL)) | 18 | #define tonumber(o,n) (ttisnumber(o) || (((o) = luaV_tonumber(o,n)) != NULL)) |
19 | 19 | ||
20 | #define equalobj(L,o1,o2) \ | 20 | #define equalobj(L,o1,o2) (ttisequal(o1, o2) && luaV_equalval_(L, o1, o2)) |
21 | (ttype(o1) == ttype(o2) && luaV_equalval_(L, o1, o2)) | ||
22 | 21 | ||
23 | 22 | ||
24 | /* not to called directly */ | 23 | /* not to called directly */ |