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 /opcode.c | |
| parent | 2c580a0afb8dbaf7070a9819b7e81ebde5737ff9 (diff) | |
| download | lua-72a1d81b510797759a8a5b9e701eb4b791aa8a84.tar.gz lua-72a1d81b510797759a8a5b9e701eb4b791aa8a84.tar.bz2 lua-72a1d81b510797759a8a5b9e701eb4b791aa8a84.zip | |
bug: lua_getlocal breaks when called with a CFunction.
Diffstat (limited to 'opcode.c')
| -rw-r--r-- | opcode.c | 5 |
1 files changed, 4 insertions, 1 deletions
| @@ -3,7 +3,7 @@ | |||
| 3 | ** TecCGraf - PUC-Rio | 3 | ** TecCGraf - PUC-Rio |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | char *rcs_opcode="$Id: opcode.c,v 4.17 1997/07/04 14:55:37 roberto Exp roberto $"; | 6 | char *rcs_opcode="$Id: opcode.c,v 4.18 1997/07/29 13:35:06 roberto Exp roberto $"; |
| 7 | 7 | ||
| 8 | #include <setjmp.h> | 8 | #include <setjmp.h> |
| 9 | #include <stdio.h> | 9 | #include <stdio.h> |
| @@ -538,6 +538,9 @@ int lua_currentline (lua_Function func) | |||
| 538 | lua_Object lua_getlocal (lua_Function func, int local_number, char **name) | 538 | lua_Object lua_getlocal (lua_Function func, int local_number, char **name) |
| 539 | { | 539 | { |
| 540 | TObject *f = luaI_Address(func); | 540 | TObject *f = luaI_Address(func); |
| 541 | /* check whether func is a Lua function */ | ||
| 542 | if (ttype(f) != LUA_T_MARK && ttype(f) != LUA_T_FUNCTION) | ||
| 543 | return LUA_NOOBJECT; | ||
| 541 | *name = luaI_getlocalname(f->value.tf, local_number, lua_currentline(func)); | 544 | *name = luaI_getlocalname(f->value.tf, local_number, lua_currentline(func)); |
| 542 | if (*name) | 545 | if (*name) |
| 543 | { | 546 | { |
