util/startup.lua
branch0.11
changeset 10601 25a3c8134b0a
parent 10600 cb107ea49b35
child 10603 4f655918fef1
child 10604 08f2fe5ac30f
--- a/util/startup.lua	Sun Jan 19 15:26:22 2020 +0000
+++ b/util/startup.lua	Sun Jan 19 15:27:16 2020 +0000
@@ -70,12 +70,11 @@
 	local filenames = {};
 
 	local filename;
-	if arg[1] == "--config" and arg[2] then
-		table.insert(filenames, arg[2]);
+	if prosody.opts.config then
+		table.insert(filenames, prosody.opts.config);
 		if CFG_CONFIGDIR then
-			table.insert(filenames, CFG_CONFIGDIR.."/"..arg[2]);
+			table.insert(filenames, CFG_CONFIGDIR.."/"..prosody.opts.config);
 		end
-		table.remove(arg, 1); table.remove(arg, 1);
 	elseif os.getenv("PROSODY_CONFIG") then -- Passed by prosodyctl
 			table.insert(filenames, os.getenv("PROSODY_CONFIG"));
 	else
@@ -459,8 +458,7 @@
 			os.exit(1);
 		end
 		prosody.current_uid = pposix.getuid();
-		local arg_root = arg[1] == "--root";
-		if arg_root then table.remove(arg, 1); end
+		local arg_root = prosody.opts.root;
 		if prosody.current_uid == 0 and config.get("*", "run_as_root") ~= true and not arg_root then
 			-- We haz root!
 			local desired_user = config.get("*", "prosody_user") or "prosody";
@@ -569,6 +567,7 @@
 
 -- prosodyctl only
 function startup.prosodyctl()
+	startup.parse_args();
 	startup.init_global_state();
 	startup.read_config();
 	startup.force_console_logging();
@@ -589,6 +588,7 @@
 function startup.prosody()
 	-- These actions are in a strict order, as many depend on
 	-- previous steps to have already been performed
+	startup.parse_args();
 	startup.init_global_state();
 	startup.read_config();
 	startup.init_logging();