diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-11-22 11:12:07 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-11-22 11:12:07 -0200 |
commit | 29ede6aa13144ff7b69c57a87be1ee93f57ae896 (patch) | |
tree | adcfb5dcff7db55481cd675349e23dec0e63c939 /lobject.c | |
parent | 951897c09319ae5474a4b86bb7d615136577caa0 (diff) | |
download | lua-29ede6aa13144ff7b69c57a87be1ee93f57ae896.tar.gz lua-29ede6aa13144ff7b69c57a87be1ee93f57ae896.tar.bz2 lua-29ede6aa13144ff7b69c57a87be1ee93f57ae896.zip |
first implementation of multiple states (reentrant code).
Diffstat (limited to 'lobject.c')
-rw-r--r-- | lobject.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lobject.c,v 1.23 1999/09/08 20:45:18 roberto Exp roberto $ | 2 | ** $Id: lobject.c,v 1.24 1999/10/04 17:51:04 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 | */ |
@@ -7,6 +7,8 @@ | |||
7 | #include <ctype.h> | 7 | #include <ctype.h> |
8 | #include <stdlib.h> | 8 | #include <stdlib.h> |
9 | 9 | ||
10 | #define LUA_REENTRANT | ||
11 | |||
10 | #include "lobject.h" | 12 | #include "lobject.h" |
11 | #include "lua.h" | 13 | #include "lua.h" |
12 | 14 | ||
@@ -28,13 +30,13 @@ static const long dimensions[] = | |||
28 | 1644817L, 3289613L, 6579211L, 13158023L, MAX_INT}; | 30 | 1644817L, 3289613L, 6579211L, 13158023L, MAX_INT}; |
29 | 31 | ||
30 | 32 | ||
31 | int luaO_redimension (int oldsize) { | 33 | int luaO_redimension (lua_State *L, int oldsize) { |
32 | int i; | 34 | int i; |
33 | for (i=0; dimensions[i]<MAX_INT; i++) { | 35 | for (i=0; dimensions[i]<MAX_INT; i++) { |
34 | if (dimensions[i] > oldsize) | 36 | if (dimensions[i] > oldsize) |
35 | return dimensions[i]; | 37 | return dimensions[i]; |
36 | } | 38 | } |
37 | lua_error("tableEM"); | 39 | lua_error(L, "tableEM"); |
38 | return 0; /* to avoid warnings */ | 40 | return 0; /* to avoid warnings */ |
39 | } | 41 | } |
40 | 42 | ||
@@ -49,7 +51,7 @@ int luaO_equalval (const TObject *t1, const TObject *t2) { | |||
49 | case LUA_T_CPROTO: return fvalue(t1) == fvalue(t2); | 51 | case LUA_T_CPROTO: return fvalue(t1) == fvalue(t2); |
50 | case LUA_T_CLOSURE: return t1->value.cl == t2->value.cl; | 52 | case LUA_T_CLOSURE: return t1->value.cl == t2->value.cl; |
51 | default: | 53 | default: |
52 | LUA_INTERNALERROR("invalid type"); | 54 | LUA_INTERNALERROR(L, "invalid type"); |
53 | return 0; /* UNREACHABLE */ | 55 | return 0; /* UNREACHABLE */ |
54 | } | 56 | } |
55 | } | 57 | } |