summaryrefslogtreecommitdiff
path: root/ldblib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-11-18 13:23:43 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-11-18 13:23:43 -0200
commitc4ae00a3d107a27d80bd157a135ef115104f98f0 (patch)
tree604d3fea257fca821e1d8175d0eaaf1befd436b2 /ldblib.c
parentf4d3bc52f486bb1f0d32c6240faffb0e63bbb8fe (diff)
downloadlua-c4ae00a3d107a27d80bd157a135ef115104f98f0.tar.gz
lua-c4ae00a3d107a27d80bd157a135ef115104f98f0.tar.bz2
lua-c4ae00a3d107a27d80bd157a135ef115104f98f0.zip
details
Diffstat (limited to 'ldblib.c')
-rw-r--r--ldblib.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/ldblib.c b/ldblib.c
index d2566889..b5027ff1 100644
--- a/ldblib.c
+++ b/ldblib.c
@@ -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) {
167static int gethook (lua_State *L) { 167static 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;