diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-07-29 18:11:10 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-07-29 18:11:10 -0300 |
commit | 72a1d81b510797759a8a5b9e701eb4b791aa8a84 (patch) | |
tree | d7f47405ff87df5e3c68f77dfcbf473763164218 | |
parent | 2c580a0afb8dbaf7070a9819b7e81ebde5737ff9 (diff) | |
download | lua-github-72a1d81b510797759a8a5b9e701eb4b791aa8a84.tar.gz |
bug: lua_getlocal breaks when called with a CFunction.
-rw-r--r-- | bugs | 2 | ||||
-rw-r--r-- | opcode.c | 5 |
2 files changed, 5 insertions, 2 deletions
@@ -1,3 +1,3 @@ - arquivo comecando com # fica com numero da linha defazado (inout.c 2.69) - LUA_COMPAT2_5 escrito errado em opcode.c (faltou o LUA_) -- +- opcode.c @@ -3,7 +3,7 @@ ** TecCGraf - PUC-Rio */ -char *rcs_opcode="$Id: opcode.c,v 4.17 1997/07/04 14:55:37 roberto Exp roberto $"; +char *rcs_opcode="$Id: opcode.c,v 4.18 1997/07/29 13:35:06 roberto Exp roberto $"; #include <setjmp.h> #include <stdio.h> @@ -538,6 +538,9 @@ int lua_currentline (lua_Function func) lua_Object lua_getlocal (lua_Function func, int local_number, char **name) { TObject *f = luaI_Address(func); + /* check whether func is a Lua function */ + if (ttype(f) != LUA_T_MARK && ttype(f) != LUA_T_FUNCTION) + return LUA_NOOBJECT; *name = luaI_getlocalname(f->value.tf, local_number, lua_currentline(func)); if (*name) { |