From 0e2db6328946180c47bc09a486fe38ca0364e2af Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Tue, 7 Jul 2020 17:21:39 +0200 Subject: Fix repeated calls to server_get_default() --- minecctl/server.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'minecctl/server.c') diff --git a/minecctl/server.c b/minecctl/server.c index fb59d35..979c15f 100644 --- a/minecctl/server.c +++ b/minecctl/server.c @@ -20,10 +20,21 @@ bool server_read_config(struct cfg *cfg, struct server *server, int dfd; int fd; - if (!server || !server->scfg.filename || server->file_read || - !lineno || !error) + if (!error) return false; + if (!server) + INVALID("Invalid argument, server missing"); + + if (!lineno) + INVALID("Invalid argument, lineno not set"); + + if (!server->scfg.filename) + INVALID("Invalid argument, filename not set"); + + if (server->file_read) + return true; + *lineno = 0; server->file_read = true; @@ -77,9 +88,10 @@ struct server *server_get_default(struct cfg *cfg) if (!server) die("No servers defined"); - /* FIXME: error msg */ - if (!server_read_config(cfg, server, &lineno, &error)) + if (!server_read_config(cfg, server, &lineno, &error)) { + error("server_read_config error: %s", error); return NULL; + } return server; } -- cgit v1.2.3