summaryrefslogtreecommitdiff
path: root/minecctl/minecctl.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-06-30 08:54:52 +0200
committerDavid Härdeman <david@hardeman.nu>2020-06-30 08:54:52 +0200
commit769457c165488fb8059ecb843a1c200f69dce95d (patch)
tree8ea46bc8f22454681130c7ce9958443ca1e4d440 /minecctl/minecctl.c
parenta89a0f918925a662503c1bcb28bdb06ab9b7ef25 (diff)
Centralize scfg validation and use in minecctl to implement a lint command
Diffstat (limited to 'minecctl/minecctl.c')
-rw-r--r--minecctl/minecctl.c12
1 files changed, 10 insertions, 2 deletions
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;