luaopen_*
functions (to open libraries) cannot be called directly, like a regular C function. They must be called through Lua, like a Lua function.
lua_open
was replaced by lua_newstate
to allow the user to set a memory-allocation function. You can use luaL_newstate
from the standard library to create a state with a standard allocation function (based on realloc
).
luaL_getn
and luaL_setn
(from the auxiliary library) are deprecated. Use lua_objlen
instead of luaL_getn
and nothing instead of luaL_setn
.
luaL_openlib
was replaced by luaL_register
.
luaL_checkudata
now throws an error when the given value is not a userdata of the expected type. (In Lua 5.0 it returned NULL
.)