lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> Can anyone provide an example of how to create global userdata objects in C code that are accessible from Lua 5.2 scripts?

I've not used 5.2, but in 5.1 it's a simple matter of creating the
userdata object as normal, leave it on the top of the stack, and then
use lua_setfield(L, LUA_GLOBALSINDEX, "variableName");

A quick look at the documentation indicates that in 5.2, instead of
using LUA_GLOBALSINDEX you'll want to grab the global environment out
of the registry (lua_getfield(L, LUA_REGISTRYINDEX,
LUA_RIDX_GLOBALS);) and then set your userdata as a field in the table
that returns.

/s/ Adam