diff options
Diffstat (limited to 'src/lib_debug.c')
-rw-r--r-- | src/lib_debug.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib_debug.c b/src/lib_debug.c index 54c3b7e2..f112b5bc 100644 --- a/src/lib_debug.c +++ b/src/lib_debug.c | |||
@@ -29,7 +29,7 @@ LJLIB_CF(debug_getregistry) | |||
29 | return 1; | 29 | return 1; |
30 | } | 30 | } |
31 | 31 | ||
32 | LJLIB_CF(debug_getmetatable) | 32 | LJLIB_CF(debug_getmetatable) LJLIB_REC(.) |
33 | { | 33 | { |
34 | lj_lib_checkany(L, 1); | 34 | lj_lib_checkany(L, 1); |
35 | if (!lua_getmetatable(L, 1)) { | 35 | if (!lua_getmetatable(L, 1)) { |
@@ -283,13 +283,13 @@ LJLIB_CF(debug_setuservalue) | |||
283 | 283 | ||
284 | /* ------------------------------------------------------------------------ */ | 284 | /* ------------------------------------------------------------------------ */ |
285 | 285 | ||
286 | static const char KEY_HOOK = 'h'; | 286 | #define KEY_HOOK ((void *)0x3004) |
287 | 287 | ||
288 | static void hookf(lua_State *L, lua_Debug *ar) | 288 | static void hookf(lua_State *L, lua_Debug *ar) |
289 | { | 289 | { |
290 | static const char *const hooknames[] = | 290 | static const char *const hooknames[] = |
291 | {"call", "return", "line", "count", "tail return"}; | 291 | {"call", "return", "line", "count", "tail return"}; |
292 | lua_pushlightuserdata(L, (void *)&KEY_HOOK); | 292 | lua_pushlightuserdata(L, KEY_HOOK); |
293 | lua_rawget(L, LUA_REGISTRYINDEX); | 293 | lua_rawget(L, LUA_REGISTRYINDEX); |
294 | if (lua_isfunction(L, -1)) { | 294 | if (lua_isfunction(L, -1)) { |
295 | lua_pushstring(L, hooknames[(int)ar->event]); | 295 | lua_pushstring(L, hooknames[(int)ar->event]); |
@@ -334,7 +334,7 @@ LJLIB_CF(debug_sethook) | |||
334 | count = luaL_optint(L, arg+3, 0); | 334 | count = luaL_optint(L, arg+3, 0); |
335 | func = hookf; mask = makemask(smask, count); | 335 | func = hookf; mask = makemask(smask, count); |
336 | } | 336 | } |
337 | lua_pushlightuserdata(L, (void *)&KEY_HOOK); | 337 | lua_pushlightuserdata(L, KEY_HOOK); |
338 | lua_pushvalue(L, arg+1); | 338 | lua_pushvalue(L, arg+1); |
339 | lua_rawset(L, LUA_REGISTRYINDEX); | 339 | lua_rawset(L, LUA_REGISTRYINDEX); |
340 | lua_sethook(L, func, mask, count); | 340 | lua_sethook(L, func, mask, count); |
@@ -349,7 +349,7 @@ LJLIB_CF(debug_gethook) | |||
349 | if (hook != NULL && hook != hookf) { /* external hook? */ | 349 | if (hook != NULL && hook != hookf) { /* external hook? */ |
350 | lua_pushliteral(L, "external hook"); | 350 | lua_pushliteral(L, "external hook"); |
351 | } else { | 351 | } else { |
352 | lua_pushlightuserdata(L, (void *)&KEY_HOOK); | 352 | lua_pushlightuserdata(L, KEY_HOOK); |
353 | lua_rawget(L, LUA_REGISTRYINDEX); /* get hook */ | 353 | lua_rawget(L, LUA_REGISTRYINDEX); /* get hook */ |
354 | } | 354 | } |
355 | lua_pushstring(L, unmakemask(mask, buff)); | 355 | lua_pushstring(L, unmakemask(mask, buff)); |