# HG changeset patch # User Matthew Wild # Date 1279025718 -3600 # Node ID b4ebda3fd6e91b6778fa92c6c188c5a30f30fac9 # Parent cd3cbf361f8ff5c2d2249f93daf10b9bbc0363eb prosody: Add prosody.resolve_relative_path() helper to change relative paths to be relative to the config file diff -r cd3cbf361f8f -r b4ebda3fd6e9 prosody --- a/prosody Tue Jul 13 09:25:45 2010 +0100 +++ b/prosody Tue Jul 13 13:55:18 2010 +0100 @@ -163,6 +163,23 @@ prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR, plugins = CFG_PLUGINDIR, data = CFG_DATADIR }; + local path_sep = package.config:sub(1,1); + local rel_path_start = ".."..path_sep; + function prosody.resolve_relative_path(path) + if path then + local is_relative; + if path_sep == "/" and path:sub(1,1) ~= "/" then + is_relative = true; + elseif path_sep == "\\" and (path:sub(1,1) ~= "/" and path:sub(2,3) ~= ":\\") then + is_relative = true; + end + if is_relative then + return CFG_CONFIGDIR..path_sep..path; + end + end + return path; + end + prosody.arg = _G.arg; prosody.platform = "unknown";