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); |