Fix unwrapping of LUA lightuserdata type. Add test case.

This commit is contained in:
Ryan Nevell 2020-02-17 08:45:42 -08:00
commit 33c59614fc
4 changed files with 29 additions and 0 deletions

View file

@ -15,6 +15,7 @@ top_builddir = @top_builddir@
CPP_TEST_CASES += \
lua_no_module_global \
lua_inherit_getitem \
lua_lightuserdata \
C_TEST_CASES += \

View file

@ -0,0 +1,7 @@
require("import") -- the import fn
require("lua_lightuserdata") -- import lib
local t = lua_lightuserdata
local d = t.get_lightuserdata()
local r = t.check_lighuserdata(d)
assert(r)

View file

@ -0,0 +1,16 @@
%module lua_lightuserdata
%native(get_lightuserdata) int get_lightuserdata(lua_State* L);
%{
int get_lightuserdata(lua_State* L)
{
lua_pushlightuserdata(L, reinterpret_cast<void*>(0x123456));
return 1;
}
%}
%inline %{
bool check_lighuserdata(const void* d) {
return reinterpret_cast<void*>(0x123456) == d;
}
%}