diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-10-05 09:14:08 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-10-05 09:14:08 -0300 |
| commit | 001f2bdd0e2f8803889c1b5164b57a51e44aef5b (patch) | |
| tree | d200cf4d708be3c61e64640c45b47050c9c6a375 /lobject.c | |
| parent | cd2ddaded97f7f2b2af02cecfd165cf70e6f83f4 (diff) | |
| download | lua-001f2bdd0e2f8803889c1b5164b57a51e44aef5b.tar.gz lua-001f2bdd0e2f8803889c1b5164b57a51e44aef5b.tar.bz2 lua-001f2bdd0e2f8803889c1b5164b57a51e44aef5b.zip | |
new definition for types-tags
Diffstat (limited to 'lobject.c')
| -rw-r--r-- | lobject.c | 25 |
1 files changed, 12 insertions, 13 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lobject.c,v 1.50 2000/10/02 20:10:55 roberto Exp roberto $ | 2 | ** $Id: lobject.c,v 1.51 2000/10/03 14:03: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 | */ |
| @@ -18,14 +18,13 @@ | |||
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | 20 | ||
| 21 | const lua_Type luaO_typearr[] = { /* ORDER LUA_T */ | 21 | const TObject luaO_nilobject = {LUA_TNIL, {NULL}}; |
| 22 | LUA_TUSERDATA, LUA_TNUMBER, LUA_TSTRING, LUA_TTABLE, | ||
| 23 | LUA_TFUNCTION, LUA_TFUNCTION, LUA_TNIL | ||
| 24 | }; | ||
| 25 | 22 | ||
| 26 | 23 | ||
| 24 | const char *const luaO_typenames[] = { | ||
| 25 | "userdata", "nil", "number", "string", "table", "function" | ||
| 26 | }; | ||
| 27 | 27 | ||
| 28 | const TObject luaO_nilobject = {TAG_NIL, {NULL}}; | ||
| 29 | 28 | ||
| 30 | 29 | ||
| 31 | /* | 30 | /* |
| @@ -41,17 +40,17 @@ lint32 luaO_power2 (lint32 n) { | |||
| 41 | int luaO_equalObj (const TObject *t1, const TObject *t2) { | 40 | int luaO_equalObj (const TObject *t1, const TObject *t2) { |
| 42 | if (ttype(t1) != ttype(t2)) return 0; | 41 | if (ttype(t1) != ttype(t2)) return 0; |
| 43 | switch (ttype(t1)) { | 42 | switch (ttype(t1)) { |
| 44 | case TAG_NUMBER: | 43 | case LUA_TNUMBER: |
| 45 | return nvalue(t1) == nvalue(t2); | 44 | return nvalue(t1) == nvalue(t2); |
| 46 | case TAG_STRING: case TAG_USERDATA: | 45 | case LUA_TSTRING: case LUA_TUSERDATA: |
| 47 | return tsvalue(t1) == tsvalue(t2); | 46 | return tsvalue(t1) == tsvalue(t2); |
| 48 | case TAG_TABLE: | 47 | case LUA_TTABLE: |
| 49 | return hvalue(t1) == hvalue(t2); | 48 | return hvalue(t1) == hvalue(t2); |
| 50 | case TAG_CCLOSURE: case TAG_LCLOSURE: | 49 | case LUA_TFUNCTION: |
| 51 | return clvalue(t1) == clvalue(t2); | 50 | return clvalue(t1) == clvalue(t2); |
| 52 | default: | 51 | default: |
| 53 | LUA_ASSERT(ttype(t1) == TAG_NIL, "invalid type"); | 52 | LUA_ASSERT(ttype(t1) == LUA_TNIL, "invalid type"); |
| 54 | return 1; /* TAG_NIL */ | 53 | return 1; /* LUA_TNIL */ |
| 55 | } | 54 | } |
| 56 | } | 55 | } |
| 57 | 56 | ||
| @@ -80,7 +79,7 @@ int luaO_str2d (const char *s, Number *result) { /* LUA_NUMBER */ | |||
| 80 | /* this function needs to handle only '%d' and '%.XXs' formats */ | 79 | /* this function needs to handle only '%d' and '%.XXs' formats */ |
| 81 | void luaO_verror (lua_State *L, const char *fmt, ...) { | 80 | void luaO_verror (lua_State *L, const char *fmt, ...) { |
| 82 | va_list argp; | 81 | va_list argp; |
| 83 | char buff[600]; /* to hold formated message */ | 82 | char buff[600]; /* to hold formatted message */ |
| 84 | va_start(argp, fmt); | 83 | va_start(argp, fmt); |
| 85 | vsprintf(buff, fmt, argp); | 84 | vsprintf(buff, fmt, argp); |
| 86 | va_end(argp); | 85 | va_end(argp); |
