File

util/envload.lua @ 13238:26327eac56dc

util.datamanager: Always reset index after list shift Shifting the index does not work reliably yet, better to rebuild it from scratch. Since there is minimal parsing involved in that, it should be more efficient anyway.
author Kim Alvefur <zash@zash.se>
date Sat, 22 Jul 2023 14:02:01 +0200
parent 12576:d1aacc6a81ac
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2008-2011 Florian Zeitz
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--
-- luacheck: ignore 113/setfenv 113/loadstring

local load = load;
local io_open = io.open;

local function envload(code, source, env)
	return load(code, source, nil, env);
end

local function envloadfile(file, env)
	local fh, err, errno = io_open(file);
	if not fh then return fh, err, errno; end
	local f, err = load(fh:lines(2048), "@" .. file, nil, env);
	fh:close();
	return f, err;
end

return { envload = envload, envloadfile = envloadfile };