diff options
author | Matthew Wild <mwild1@gmail.com> | 2008-11-29 03:28:07 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2008-11-29 03:28:07 +0000 |
commit | f03d1616f0b685bda23dfbe79d4d8cc7fd95fde5 (patch) | |
tree | 132e2f26bf8f64086adc5f75fc45a9921a1e5e4c /core | |
parent | e7cfd639687786d0426897f4706200818c66295a (diff) | |
parent | 7271c148cef981f9263a8794ebe27634423b07bd (diff) | |
download | prosody-f03d1616f0b685bda23dfbe79d4d8cc7fd95fde5.tar.gz prosody-f03d1616f0b685bda23dfbe79d4d8cc7fd95fde5.zip |
Automated merge with http://waqas.ath.cx/
Diffstat (limited to 'core')
-rw-r--r-- | core/configmanager.lua | 10 | ||||
-rw-r--r-- | core/modulemanager.lua | 5 |
2 files changed, 10 insertions, 5 deletions
diff --git a/core/configmanager.lua b/core/configmanager.lua index 5f5648b9..a4a24fad 100644 --- a/core/configmanager.lua +++ b/core/configmanager.lua @@ -2,6 +2,7 @@ local _G = _G; local setmetatable, loadfile, pcall, rawget, rawset, io = setmetatable, loadfile, pcall, rawget, rawset, io; + module "configmanager" local parsers = {}; @@ -52,18 +53,21 @@ end function load(filename, format) format = format or filename:match("%w+$"); + if parsers[format] and parsers[format].load then - local f = io.open(filename); + local f, err = io.open(filename); if f then local ok, err = parsers[format].load(f:read("*a")); f:close(); return ok, err; end + return f, err; end + if not format then return nil, "no parser specified"; else - return false, "no parser"; + return nil, "no parser for "..(format); end end @@ -118,4 +122,4 @@ do end -return _M;
\ No newline at end of file +return _M; diff --git a/core/modulemanager.lua b/core/modulemanager.lua index ce34f3e6..31059512 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -1,4 +1,5 @@ +local plugin_dir = CFG_PLUGINDIR or "./plugins/"; local logger = require "util.logger"; local log = logger.init("modulemanager") @@ -11,8 +12,8 @@ local type = type; local tostring, print = tostring, print; +-- We need this to let modules access the real global namespace local _G = _G; -local debug = debug; module "modulemanager" @@ -30,7 +31,7 @@ function load(host, module_name, config) if not (host and module_name) then return nil, "insufficient-parameters"; end - local mod, err = loadfile("plugins/mod_"..module_name..".lua"); + local mod, err = loadfile(plugin_dir.."mod_"..module_name..".lua"); if not mod then log("error", "Unable to load module '%s': %s", module_name or "nil", err or "nil"); return nil, err; |