diff options
| -rw-r--r-- | ldebug.c | 8 |
1 files changed, 5 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldebug.c,v 1.138 2002/11/21 15:16:04 roberto Exp roberto $ | 2 | ** $Id: ldebug.c,v 1.139 2002/11/25 17:47:13 roberto Exp roberto $ |
| 3 | ** Debug Interface | 3 | ** Debug Interface |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -91,10 +91,12 @@ LUA_API int lua_gethookcount (lua_State *L) { | |||
| 91 | 91 | ||
| 92 | LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar) { | 92 | LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar) { |
| 93 | int status; | 93 | int status; |
| 94 | int ci; | ||
| 94 | lua_lock(L); | 95 | lua_lock(L); |
| 95 | if (L->ci - L->base_ci <= level) status = 0; /* there is no such level */ | 96 | ci = (L->ci - L->base_ci) - level; |
| 97 | if (ci <= 0) status = 0; /* there is no such level */ | ||
| 96 | else { | 98 | else { |
| 97 | ar->i_ci = (L->ci - L->base_ci) - level; | 99 | ar->i_ci = ci; |
| 98 | status = 1; | 100 | status = 1; |
| 99 | } | 101 | } |
| 100 | lua_unlock(L); | 102 | lua_unlock(L); |
