diff options
author | Kim Alvefur <zash@zash.se> | 2020-06-17 19:32:12 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2020-06-17 19:32:12 +0200 |
commit | d8ec3f98bef461a1e04a1c208aef4e18d537f9f9 (patch) | |
tree | a85032d49c9675d3137161e91b74a069f52fd72f /util/startup.lua | |
parent | 4e5cc92ac3f293b658838e0faa55645b705e3b48 (diff) | |
download | prosody-d8ec3f98bef461a1e04a1c208aef4e18d537f9f9.tar.gz prosody-d8ec3f98bef461a1e04a1c208aef4e18d537f9f9.zip |
util.argparse: Move exiting and error to util.startup
It's not so nice to have a library that exits the entire application
from under you, so this and the error reporting belongs in util.startup.
The argparse code was originally in util.startup but moved out in
1196f1e8d178 but the error handling should have stayed.
Diffstat (limited to 'util/startup.lua')
-rw-r--r-- | util/startup.lua | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/util/startup.lua b/util/startup.lua index 69633c47..0e14395b 100644 --- a/util/startup.lua +++ b/util/startup.lua @@ -20,10 +20,20 @@ local short_params = { D = "daemonize", F = "no-daemonize" }; local value_params = { config = true }; function startup.parse_args() - prosody.opts = parse_args(arg, { + local opts, err, where = parse_args(arg, { short_params = short_params, value_params = value_params, }); + if not opts then + if err == "param-not-found" then + print("Unknown command-line option: "..tostring(where)); + print("Perhaps you meant to use prosodyctl instead?"); + elseif err == "missing-value" then + print("Expected a value to follow command-line option: "..where); + end + os.exit(1); + end + prosody.opts = opts; end function startup.read_config() |