X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosody;h=42c3acad954e9af727c7887ac6bbcd861b733d3f;hb=f793d5882e8e75e03836d0efc7d4fce2377aa0e3;hp=b093e4fdd08c3d1b2dd1f0efcf5466732dc2bb82;hpb=7764324cf19bd094ebc8faa60cabc8222123428c;p=prosody.git diff --git a/prosody b/prosody index b093e4fd..42c3acad 100755 --- a/prosody +++ b/prosody @@ -18,10 +18,22 @@ CFG_DATADIR=os.getenv("PROSODY_DATADIR"); -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +local function is_relative(path) + local path_sep = package.config:sub(1,1); + return ((path_sep == "/" and path:sub(1,1) ~= "/") + or (path_sep == "\\" and (path:sub(1,1) ~= "/" and path:sub(2,3) ~= ":\\"))) +end + -- Tell Lua where to find our libraries if CFG_SOURCEDIR then - package.path = CFG_SOURCEDIR.."/?.lua;"..package.path; - package.cpath = CFG_SOURCEDIR.."/?.so;"..package.cpath; + local function filter_relative_paths(path) + if is_relative(path) then return ""; end + end + local function sanitise_paths(paths) + return (paths:gsub("[^;]+;?", filter_relative_paths):gsub(";;+", ";")); + end + package.path = sanitise_paths(CFG_SOURCEDIR.."/?.lua;"..package.path); + package.cpath = sanitise_paths(CFG_SOURCEDIR.."/?.so;"..package.cpath); end -- Substitute ~ with path to home directory in data path