Пример #1
0
bool lsp::luabag_init(LUABAG *luabag)
{
    if(!luabag)
    {
		return false;
	}

	luabag->L=lua_open();
	
	luaL_openlibs(luabag->L);
	
	luaopen_lualsp(luabag->L);

	mod_mgr.open(luabag->L);
	
	lua_register(luabag->L, "version",lua_version);
	lua_register(luabag->L, "module_version", lua_module_version);
	lua_register(luabag->L, "module_list", lua_module_list);
	lua_register(luabag->L, "log",lua_log);
	lua_register(luabag->L, "uuid_gen",lua_uuid_gen);

	if(!g_conf->init_script.empty())
	{
	    if(luaL_loadfile(luabag->L, g_conf->init_script.c_str()) || lua_pcall(luabag->L,0,0,0))
	    {
			log(LOG_ERR, "%s", lua_tostring(luabag->L,-1));
			lua_pop(luabag->L,1);
		}	    
	}
	
	lua_register(luabag->L,"content_type",lua_content_type);
	lua_register(luabag->L,"set_out_header",lua_set_out_header);
	lua_register(luabag->L,"get_in_header",lua_get_in_header);

	return true;
}
Пример #2
0
int main(int argc,char** argv)
{
    if(argc<2)
	return 0;

    lua_State* L=lua_open();

    luaL_openlibs(L);

    luaopen_lualsp(L);
    
    if(luaL_do_lsp_file(L,argv[1]))
    {
	const char* e=lua_tostring(L,-1);
	
	printf("%s\n",e);
	
        lua_pop(L,1);
    }
    
    lua_close(L);

    return 0;
}