From 769457c165488fb8059ecb843a1c200f69dce95d Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Tue, 30 Jun 2020 08:54:52 +0200 Subject: Centralize scfg validation and use in minecctl to implement a lint command --- minecctl/minecctl.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'minecctl/minecctl.c') diff --git a/minecctl/minecctl.c b/minecctl/minecctl.c index 231b150..69286fc 100644 --- a/minecctl/minecctl.c +++ b/minecctl/minecctl.c @@ -69,7 +69,7 @@ _noreturn_ static void usage(bool no_error) " -m, --mc-address=ADDR connect to Minecraft server at ADDR\n" " (only relevant for some commands, can also\n" " use environment variable MC_ADDRESS)\n" - " -c, --cfgdir=DIR look for server configurations in DIR\n" + " -c, --cfgdir=DIR look for server configuration files in DIR\n" " (default: %s)\n" " -f, --force stop server even if it has players\n" " -v, --verbose enable extra logging\n" @@ -77,6 +77,7 @@ _noreturn_ static void usage(bool no_error) "\n" "Valid commands:\n" " list list known servers\n" + " lint check validity of server configuration files\n" " status [SERVER] show status of SERVER (or all known servers)\n" " ping [SERVER] check if SERVER is running\n" " stop [SERVER] stop SERVER\n" @@ -225,6 +226,13 @@ static void parse_command(struct cfg *cfg, char *const *argv) } cfg->cmd = do_list; break; + case CMD_LINT: + if (*argv) { + error("Too many arguments"); + usage(false); + } + cfg->cmd = do_lint; + break; case CMD_STOPALL: if (*argv) { error("Too many arguments"); @@ -300,7 +308,7 @@ static void parse_cmdline(struct cfg *cfg, int argc, char *const *argv) cfg->cfgdir = DEFAULT_CFG_DIR; - /* FIXME: add lint and debug options */ + /* FIXME: add debug option */ while (true) { int option_index = 0; -- cgit v1.2.3