From 6a30fe2fe4f0bb6db21e47ec2a65c7c5da11c117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petri=20H=C3=A4kkinen?= Date: Sun, 19 Mar 2023 19:58:45 +0200 Subject: [PATCH] Add lua_getuserdatadtor --- VM/include/lua.h | 1 + VM/src/lapi.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/VM/include/lua.h b/VM/include/lua.h index 783e60a5..32d31bdb 100644 --- a/VM/include/lua.h +++ b/VM/include/lua.h @@ -314,6 +314,7 @@ LUA_API double lua_clock(); LUA_API void lua_setuserdatatag(lua_State* L, int idx, int tag); LUA_API void lua_setuserdatadtor(lua_State* L, int tag, void (*dtor)(lua_State*, void*)); +LUA_API void (*lua_getuserdatadtor(lua_State* L, int tag))(lua_State*, void*); LUA_API void lua_clonefunction(lua_State* L, int idx); diff --git a/VM/src/lapi.cpp b/VM/src/lapi.cpp index 1528aa39..fbf12e33 100644 --- a/VM/src/lapi.cpp +++ b/VM/src/lapi.cpp @@ -1384,6 +1384,12 @@ void lua_setuserdatadtor(lua_State* L, int tag, void (*dtor)(lua_State*, void*)) L->global->udatagc[tag] = dtor; } +void (*lua_getuserdatadtor(lua_State* L, int tag))(lua_State*, void*) +{ + api_check(L, unsigned(tag) < LUA_UTAG_LIMIT); + return L->global->udatagc[tag]; +} + void lua_clonefunction(lua_State* L, int idx) { luaC_checkGC(L);