Hi all,
Is it possible to store lua function in a C struct and later call lua function from C using the stored information?
I am looking for an implementation as following:
void* myluafunc = luaL_checkluafunction (L, 1);
lua_pushfunctionptr (L, myluafunc);
lua_call (L,0,0);
I have implemented a workaround where lua function's name is stored in a char array in C and then later on lua function is called using following APIs. This way is working fine but using function name as the identifier is using extra memory.
char name[128];
int button_lua_new (lua_State *L)
{
const char* myluafuncname = luaL_checkstring (L,1);
strcpy (name, myluafuncname);
}
void call_button_event_handler ()
{
lua_getglobal(L, name);
lua_call (L,0,0);
}
Thanks