view util/import.lua @ 1829:3d0db768be2f

util.encodings: Fixed an issue with cross-module memory deallocation (crashes on some windows versions).
author Waqas Hussain <waqas20@gmail.com>
date Tue, 22 Sep 2009 22:21:15 +0500
parents 841d61be198f
children b7049746bd29
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2008-2009 Matthew Wild
-- Copyright (C) 2008-2009 Waqas Hussain
-- 
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--



local t_insert = table.insert;
function import(module, ...)
	local m = package.loaded[module] or require(module);
	if type(m) == "table" and ... then
		local ret = {};
		for _, f in ipairs{...} do
			t_insert(ret, m[f]);
		end
		return unpack(ret);
	end
	return m;
end