diff options
Diffstat (limited to 'lobject.c')
| -rw-r--r-- | lobject.c | 15 |
1 files changed, 5 insertions, 10 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lobject.c,v 1.33 2000/03/10 18:37:44 roberto Exp roberto $ | 2 | ** $Id: lobject.c,v 1.34 2000/03/27 20:10:21 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 | */ |
| @@ -15,8 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | const char *const luaO_typenames[] = { /* ORDER LUA_T */ | 16 | const char *const luaO_typenames[] = { /* ORDER LUA_T */ |
| 17 | "userdata", "number", "string", "table", "function", "function", "nil", | 17 | "userdata", "number", "string", "table", "function", "function", "nil", |
| 18 | "function", "function", "function", "function", "function", "function", | 18 | "function", "function", "line" |
| 19 | "line", NULL | ||
| 20 | }; | 19 | }; |
| 21 | 20 | ||
| 22 | 21 | ||
| @@ -35,20 +34,16 @@ unsigned long luaO_power2 (unsigned long n) { | |||
| 35 | 34 | ||
| 36 | int luaO_equalval (const TObject *t1, const TObject *t2) { | 35 | int luaO_equalval (const TObject *t1, const TObject *t2) { |
| 37 | switch (ttype(t1)) { | 36 | switch (ttype(t1)) { |
| 38 | case TAG_NIL: | ||
| 39 | return 1; | ||
| 40 | case TAG_NUMBER: | 37 | case TAG_NUMBER: |
| 41 | return nvalue(t1) == nvalue(t2); | 38 | return nvalue(t1) == nvalue(t2); |
| 42 | case TAG_STRING: case TAG_USERDATA: | 39 | case TAG_STRING: case TAG_USERDATA: |
| 43 | return svalue(t1) == svalue(t2); | 40 | return svalue(t1) == svalue(t2); |
| 44 | case TAG_TABLE: | 41 | case TAG_TABLE: |
| 45 | return avalue(t1) == avalue(t2); | 42 | return avalue(t1) == avalue(t2); |
| 46 | case TAG_LPROTO: | ||
| 47 | return tfvalue(t1) == tfvalue(t2); | ||
| 48 | case TAG_CPROTO: | ||
| 49 | return fvalue(t1) == fvalue(t2); | ||
| 50 | case TAG_CCLOSURE: case TAG_LCLOSURE: | 43 | case TAG_CCLOSURE: case TAG_LCLOSURE: |
| 51 | return t1->value.cl == t2->value.cl; | 44 | return clvalue(t1) == clvalue(t2); |
| 45 | case TAG_NIL: | ||
| 46 | return 1; | ||
| 52 | default: | 47 | default: |
| 53 | LUA_INTERNALERROR(L, "invalid type"); | 48 | LUA_INTERNALERROR(L, "invalid type"); |
| 54 | return 0; /* UNREACHABLE */ | 49 | return 0; /* UNREACHABLE */ |
