Software /
code /
prosody
Diff
util/pluginloader.lua @ 7115:805d068d2fd5
modulemanager, util.pluginloader: Move logic for locating some module libraries to pluginloader, to fix problems with non-filesystem errors being masked by the second load_code call
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 01 Feb 2016 21:26:15 +0000 |
parent | 6777:5de6b93d0190 |
child | 8382:e5d00bf4a4d5 |
line wrap: on
line diff
--- a/util/pluginloader.lua Sun Jan 31 17:27:15 2016 +0100 +++ b/util/pluginloader.lua Mon Feb 01 21:26:15 2016 +0000 @@ -55,8 +55,23 @@ return f, path; end +local function load_code_ext(plugin, resource, extension, env) + local content, err = load_resource(plugin, resource.."."..extension); + if not content then + content, err = load_resource(resource, resource.."."..extension); + if not content then + return content, err; + end + end + local path = err; + local f, err = envload(content, "@"..path, env); + if not f then return f, err; end + return f, path; +end + return { load_file = load_file; load_resource = load_resource; load_code = load_code; + load_code_ext = load_code_ext; };