From f06ff46151c38b2259c5ee4ae83d38c6f6fc0c8c Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Sun, 12 Jul 2020 02:30:31 +0200 Subject: Teach minecctl to create proper mcserver files, auto-generate systemd service names as necessary --- minecctl/server.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'minecctl/server.c') diff --git a/minecctl/server.c b/minecctl/server.c index 8bd7b51..3acc537 100644 --- a/minecctl/server.c +++ b/minecctl/server.c @@ -71,18 +71,12 @@ void server_load_all_known(struct cfg *cfg) while ((dent = readdir(cfg->cfg_dir))) { struct server *server; - char *suffix; if (!config_valid_server_filename(dent, NULL)) continue; server = server_new(dent->d_name); - suffix = strrchr(dent->d_name, '.'); - assert_die(suffix, "Error parsing filename"); - *suffix = '\0'; - server->name = xstrdup(dent->d_name); - list_add(&server->list, &cfg->servers); } } @@ -153,7 +147,7 @@ bool server_read_config(struct cfg *cfg, struct server *server, return false; /* fill in missing parameters from server.properties */ - dfd = open_subdir(dirfd(cfg->data_dir), server->name, false); + dfd = open_subdir(dirfd(cfg->data_dir), server->scfg.name, false); if (dfd < 0) goto out; @@ -193,21 +187,21 @@ bool server_read_all_configs(struct cfg *cfg, bool print_results) if (!server_read_config(cfg, server, &lineno, &error)) { if (lineno != 0 && print_results) info("• %s: %sfail%s - line %u: %s", - server->name, ansi_red, ansi_normal, + server->scfg.name, ansi_red, ansi_normal, lineno, error); else if (print_results) info("• %s: %sfail%s - %s", - server->name, ansi_red, ansi_normal, + server->scfg.name, ansi_red, ansi_normal, error); rv = false; } else if (!scfg_validate(&server->scfg, &error) && print_results) { info("• %s: %sfail%s - %s", - server->name, ansi_red, ansi_normal, + server->scfg.name, ansi_red, ansi_normal, error); rv = false; } else if (print_results) { - info("• %s: %sok%s", server->name, ansi_green, + info("• %s: %sok%s", server->scfg.name, ansi_green, ansi_normal); } } @@ -226,7 +220,7 @@ struct server *server_get_default(struct cfg *cfg) die("No servers defined"); if (!server_read_config(cfg, server, &lineno, &error)) { - error("%s: server_read_config error - %s", server->name, error); + error("%s: server_read_config error - %s", server->scfg.name, error); return NULL; } @@ -242,7 +236,7 @@ bool server_set_default(struct cfg *cfg, const char *name) server_load_all_known(cfg); list_for_each_entry(server, &cfg->servers, list) { - if (streq(name, server->name)) { + if (streq(name, server->scfg.name)) { list_rotate_to_front(&server->list, &cfg->servers); cfg->default_set = true; return true; @@ -263,7 +257,6 @@ void server_free_all(struct cfg *cfg) void server_free(struct server *server) { scfg_delete(&server->scfg); - xfree(server->name); xfree(server); } -- cgit v1.2.3