aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1999-11-11 15:02:40 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1999-11-11 15:02:40 -0200
commit573372665ab47bb6c0451ee7ca3ff5fce9b370e0 (patch)
tree248cfe8ec057fb301145fea58387b752435d3be3
parenta6755e2f1a6b9993cfd9e94c4165c76adafbdc31 (diff)
downloadlua-573372665ab47bb6c0451ee7ca3ff5fce9b370e0.tar.gz
lua-573372665ab47bb6c0451ee7ca3ff5fce9b370e0.tar.bz2
lua-573372665ab47bb6c0451ee7ca3ff5fce9b370e0.zip
new API function `lua_equalobj'
-rw-r--r--lapi.c15
-rw-r--r--lbuiltin.c6
-rw-r--r--lua.h4
3 files changed, 18 insertions, 7 deletions
diff --git a/lapi.c b/lapi.c
index 020a4642..33e384d3 100644
--- a/lapi.c
+++ b/lapi.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lapi.c,v 1.54 1999/10/14 19:13:31 roberto Exp roberto $ 2** $Id: lapi.c,v 1.55 1999/11/04 17:22:26 roberto Exp roberto $
3** Lua API 3** Lua API
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -209,15 +209,15 @@ const char *lua_type (lua_Object o) {
209} 209}
210 210
211int lua_isnil (lua_Object o) { 211int lua_isnil (lua_Object o) {
212 return (o!= LUA_NOOBJECT) && (ttype(Address(o)) == LUA_T_NIL); 212 return (o != LUA_NOOBJECT) && (ttype(Address(o)) == LUA_T_NIL);
213} 213}
214 214
215int lua_istable (lua_Object o) { 215int lua_istable (lua_Object o) {
216 return (o!= LUA_NOOBJECT) && (ttype(Address(o)) == LUA_T_ARRAY); 216 return (o != LUA_NOOBJECT) && (ttype(Address(o)) == LUA_T_ARRAY);
217} 217}
218 218
219int lua_isuserdata (lua_Object o) { 219int lua_isuserdata (lua_Object o) {
220 return (o!= LUA_NOOBJECT) && (ttype(Address(o)) == LUA_T_USERDATA); 220 return (o != LUA_NOOBJECT) && (ttype(Address(o)) == LUA_T_USERDATA);
221} 221}
222 222
223int lua_iscfunction (lua_Object o) { 223int lua_iscfunction (lua_Object o) {
@@ -225,7 +225,7 @@ int lua_iscfunction (lua_Object o) {
225} 225}
226 226
227int lua_isnumber (lua_Object o) { 227int lua_isnumber (lua_Object o) {
228 return (o!= LUA_NOOBJECT) && (tonumber(Address(o)) == 0); 228 return (o != LUA_NOOBJECT) && (tonumber(Address(o)) == 0);
229} 229}
230 230
231int lua_isstring (lua_Object o) { 231int lua_isstring (lua_Object o) {
@@ -238,6 +238,11 @@ int lua_isfunction (lua_Object o) {
238 return (t == LUA_T_PROTO) || (t == LUA_T_CPROTO); 238 return (t == LUA_T_PROTO) || (t == LUA_T_CPROTO);
239} 239}
240 240
241int lua_equalobj (lua_Object o1, lua_Object o2) {
242 if (o1 == LUA_NOOBJECT || o2 == LUA_NOOBJECT) return 0;
243 else return luaO_equalObj(Address(o1), Address(o2));
244}
245
241 246
242double lua_getnumber (lua_Object object) { 247double lua_getnumber (lua_Object object) {
243 if (object == LUA_NOOBJECT) return 0.0; 248 if (object == LUA_NOOBJECT) return 0.0;
diff --git a/lbuiltin.c b/lbuiltin.c
index 7dc09664..98918b54 100644
--- a/lbuiltin.c
+++ b/lbuiltin.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lbuiltin.c,v 1.70 1999/11/04 17:22:26 roberto Exp roberto $ 2** $Id: lbuiltin.c,v 1.71 1999/11/10 15:41:11 roberto Exp roberto $
3** Built-in functions 3** Built-in functions
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -741,6 +741,10 @@ static void testC (void) {
741 n=lua_next(reg[n], (int)lua_getnumber(reg[getnum(s)])); 741 n=lua_next(reg[n], (int)lua_getnumber(reg[getnum(s)]));
742 lua_pushnumber(n); break; 742 lua_pushnumber(n); break;
743 } 743 }
744 case 'q' : { int n1=getnum(s); int n2=getnum(s);
745 lua_pushnumber(lua_equalobj(reg[n1], reg[n2]));
746 break;
747 }
744 default: luaL_verror("unknown command in `testC': %c", *(s-1)); 748 default: luaL_verror("unknown command in `testC': %c", *(s-1));
745 } 749 }
746 if (*s == 0) return; 750 if (*s == 0) return;
diff --git a/lua.h b/lua.h
index 2ba27c50..12cbb626 100644
--- a/lua.h
+++ b/lua.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lua.h,v 1.35 1999/09/29 12:56:22 roberto Exp roberto $ 2** $Id: lua.h,v 1.36 1999/10/07 19:04:30 roberto Exp roberto $
3** Lua - An Extensible Extension Language 3** Lua - An Extensible Extension Language
4** TeCGraf: Grupo de Tecnologia em Computacao Grafica, PUC-Rio, Brazil 4** TeCGraf: Grupo de Tecnologia em Computacao Grafica, PUC-Rio, Brazil
5** e-mail: lua@tecgraf.puc-rio.br 5** e-mail: lua@tecgraf.puc-rio.br
@@ -68,6 +68,8 @@ int lua_isnumber (lua_Object object);
68int lua_isstring (lua_Object object); 68int lua_isstring (lua_Object object);
69int lua_isfunction (lua_Object object); 69int lua_isfunction (lua_Object object);
70 70
71int lua_equalobj (lua_Object o1, lua_Object o2);
72
71double lua_getnumber (lua_Object object); 73double lua_getnumber (lua_Object object);
72const char *lua_getstring (lua_Object object); 74const char *lua_getstring (lua_Object object);
73long lua_strlen (lua_Object object); 75long lua_strlen (lua_Object object);