Changeset

2161:6f91d5348847

Merge with trunk
author Matthew Wild <mwild1@gmail.com>
date Mon, 23 Nov 2009 20:22:37 +0000
parents 2160:0ef04962e112 (current diff) 2155:bcc8f4bdb0e6 (diff)
children 2162:22b6b1899a55 2163:8d33f94dc3a1
files
diffstat 1 files changed, 21 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/prosody	Mon Nov 23 20:21:20 2009 +0000
+++ b/prosody	Mon Nov 23 20:22:37 2009 +0000
@@ -58,7 +58,27 @@
 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("**************************");