X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=lib%2Flua%2Fsrc%2Fldo.c;h=57d2ac7c2c403283bf6587ab2f6fdbfaf8518851;hb=03428d9825cfdf2cfaed6ac9410dafccac0d4f3a;hp=d1bf786cb7202368755eeba13e3d43b49053b2df;hpb=f916398a541dbd09cbf14409f358556bc42f5535;p=minetest.git diff --git a/lib/lua/src/ldo.c b/lib/lua/src/ldo.c index d1bf786cb..57d2ac7c2 100644 --- a/lib/lua/src/ldo.c +++ b/lib/lua/src/ldo.c @@ -317,7 +317,11 @@ int luaD_precall (lua_State *L, StkId func, int nresults) { if (L->hookmask & LUA_MASKCALL) luaD_callhook(L, LUA_HOOKCALL, -1); lua_unlock(L); - n = (*curr_func(L)->c.f)(L); /* do the actual call */ + /* MINETEST-SPECIFIC CHANGE: Let custom code wrap C function calls. */ + if (G(L)->wrapcf) + n = G(L)->wrapcf(L, *curr_func(L)->c.f); + else + n = (*curr_func(L)->c.f)(L); lua_lock(L); if (n < 0) /* yielding? */ return PCRYIELD;