diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-11-18 13:23:43 -0200 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-11-18 13:23:43 -0200 |
| commit | c4ae00a3d107a27d80bd157a135ef115104f98f0 (patch) | |
| tree | 604d3fea257fca821e1d8175d0eaaf1befd436b2 /ldblib.c | |
| parent | f4d3bc52f486bb1f0d32c6240faffb0e63bbb8fe (diff) | |
| download | lua-c4ae00a3d107a27d80bd157a135ef115104f98f0.tar.gz lua-c4ae00a3d107a27d80bd157a135ef115104f98f0.tar.bz2 lua-c4ae00a3d107a27d80bd157a135ef115104f98f0.zip | |
details
Diffstat (limited to 'ldblib.c')
| -rw-r--r-- | ldblib.c | 11 |
1 files changed, 8 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldblib.c,v 1.70 2002/09/16 19:18:01 roberto Exp roberto $ | 2 | ** $Id: ldblib.c,v 1.71 2002/11/14 15:41:38 roberto Exp roberto $ |
| 3 | ** Interface from Lua to its debug API | 3 | ** Interface from Lua to its debug API |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -167,8 +167,13 @@ static int sethook (lua_State *L) { | |||
| 167 | static int gethook (lua_State *L) { | 167 | static int gethook (lua_State *L) { |
| 168 | char buff[5]; | 168 | char buff[5]; |
| 169 | unsigned long mask = lua_gethookmask(L); | 169 | unsigned long mask = lua_gethookmask(L); |
| 170 | lua_pushlightuserdata(L, (void *)&KEY_HOOK); | 170 | lua_Hook hook = lua_gethook(L); |
| 171 | lua_rawget(L, LUA_REGISTRYINDEX); /* get hook */ | 171 | if (hook != NULL && hook != hookf) /* external hook? */ |
| 172 | lua_pushliteral(L, "external hook"); | ||
| 173 | else { | ||
| 174 | lua_pushlightuserdata(L, (void *)&KEY_HOOK); | ||
| 175 | lua_rawget(L, LUA_REGISTRYINDEX); /* get hook */ | ||
| 176 | } | ||
| 172 | lua_pushstring(L, unmakemask(mask, buff)); | 177 | lua_pushstring(L, unmakemask(mask, buff)); |
| 173 | lua_pushnumber(L, lua_getmaskcount(mask)); | 178 | lua_pushnumber(L, lua_getmaskcount(mask)); |
| 174 | return 3; | 179 | return 3; |
