X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosody;h=7f69e085bdcb8408536b9961fdab455e5f92b3a3;hb=c54c2d6e8eb7ef47913c98335b9ff1e72d258dd5;hp=8dd37f30f6ada3bbfc5dcc4f50a62abbb7f81b09;hpb=f0c7481b240addcbc55f6a8bfb7f53f14dd41038;p=prosody.git diff --git a/prosody b/prosody index 8dd37f30..7f69e085 100755 --- a/prosody +++ b/prosody @@ -58,7 +58,27 @@ config = require "core.configmanager" function read_config() -- TODO: Check for other formats when we add support for them -- Use lfs? Make a new conf/ dir? - local ok, level, err = config.load((CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); + local filenames = {}; + + local filename; + if arg[1] == "--config" and arg[2] then + table.insert(filenames, arg[2]); + if CFG_CONFIGDIR then + table.insert(filenames, CFG_CONFIGDIR.."/"..arg[2]); + end + else + table.insert(filenames, (CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); + end + for _,_filename in ipairs(filenames) do + filename = _filename; + local file = io.open(filename); + if file then + file:close(); + CFG_CONFIGDIR = filename:match("^(.*)[\\/][^\\/]*$"); + break; + end + end + local ok, level, err = config.load(filename); if not ok then print("\n"); print("**************************");