From 5dc0e3901776eb546f69536bd0ca80a8715a84df Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Wed, 17 Jun 2020 19:36:39 +0200
Subject: util.prosodyctl.shell: Handle argument parsing errors

While almost identical to the handling in util.startup, this seems more
appropriate. It would also simplify if shell-specific options need to be
handled in the future.
---
 util/prosodyctl/shell.lua | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/util/prosodyctl/shell.lua b/util/prosodyctl/shell.lua
index 3e98540f..d0a6881e 100644
--- a/util/prosodyctl/shell.lua
+++ b/util/prosodyctl/shell.lua
@@ -62,6 +62,15 @@ local function start(arg) --luacheck: ignore 212/arg
 	local client = adminstream.client();
 	local opts = parse_args(arg);
 
+	if not opts then
+		if err == "param-not-found" then
+			print("Unknown command-line option: "..tostring(where));
+		elseif err == "missing-value" then
+			print("Expected a value to follow command-line option: "..where);
+		end
+		os.exit(1);
+	end
+
 	client.events.add_handler("connected", function ()
 		if not arg.quiet then
 			printbanner();
-- 
cgit v1.2.3