[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: How shall a Lua file handle be known?
- From: Reuben Thomas <rrt@...>
- Date: Wed, 11 May 2011 20:56:17 +0100
luaposix makes Lua file handles by setting their metatable to the
FILE* entry from the registry. This is enough to make PUC-Rio Lua
recognise them as Lua file handles, but not LuaJIT 2.0.0-beta7, which
has its own internal userdata types system.
I am unclear from the Lua reference manual whether I ought to expect
this technique to work or not, that is:
luaL_getmetatable(L, LUA_FILEHANDLE); /* LUA_FILEHANDLE is exported
but undocumented */
lua_setmetatable(L, n); /* ??? Should this work ??? */
In LuaJIT, io.type will not return true unless the userdata's private
udtype field is UDTYPE_IO_FILE, and the only way to get that setting
is to use a normal Lua io library call which returns a handle