summaryrefslogtreecommitdiff
path: root/minecctl/server.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-07-07 17:21:39 +0200
committerDavid Härdeman <david@hardeman.nu>2020-07-07 17:21:39 +0200
commit0e2db6328946180c47bc09a486fe38ca0364e2af (patch)
tree61db007b4f1f9c00a26ea7d733eba5c162019c61 /minecctl/server.c
parent76ee64b5b3e30706181becbf33cc45d67f39f364 (diff)
Fix repeated calls to server_get_default()
Diffstat (limited to 'minecctl/server.c')
-rw-r--r--minecctl/server.c20
1 files changed, 16 insertions, 4 deletions
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;
}