aboutsummaryrefslogtreecommitdiff
path: root/lobject.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-10-05 09:14:08 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-10-05 09:14:08 -0300
commit001f2bdd0e2f8803889c1b5164b57a51e44aef5b (patch)
treed200cf4d708be3c61e64640c45b47050c9c6a375 /lobject.c
parentcd2ddaded97f7f2b2af02cecfd165cf70e6f83f4 (diff)
downloadlua-001f2bdd0e2f8803889c1b5164b57a51e44aef5b.tar.gz
lua-001f2bdd0e2f8803889c1b5164b57a51e44aef5b.tar.bz2
lua-001f2bdd0e2f8803889c1b5164b57a51e44aef5b.zip
new definition for types-tags
Diffstat (limited to 'lobject.c')
-rw-r--r--lobject.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/lobject.c b/lobject.c
index 8f10ee03..de79dcdc 100644
--- a/lobject.c
+++ b/lobject.c
@@ -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
21const lua_Type luaO_typearr[] = { /* ORDER LUA_T */ 21const 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
24const char *const luaO_typenames[] = {
25 "userdata", "nil", "number", "string", "table", "function"
26};
27 27
28const TObject luaO_nilobject = {TAG_NIL, {NULL}};
29 28
30 29
31/* 30/*
@@ -41,17 +40,17 @@ lint32 luaO_power2 (lint32 n) {
41int luaO_equalObj (const TObject *t1, const TObject *t2) { 40int 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 */
81void luaO_verror (lua_State *L, const char *fmt, ...) { 80void 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);