lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 72a1d81b510797759a8a5b9e701eb4b791aa8a84
parent 2c580a0afb8dbaf7070a9819b7e81ebde5737ff9
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Tue, 29 Jul 1997 18:10:49 -0300

bug: lua_getlocal breaks when called with a CFunction.

Diffstat:
Mbugs | 2+-
Mopcode.c | 5++++-
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/bugs b/bugs @@ -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 diff --git a/opcode.c b/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) {