summaryrefslogtreecommitdiff
path: root/minecctl/server.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-07-01 08:07:18 +0200
committerDavid Härdeman <david@hardeman.nu>2020-07-01 08:07:18 +0200
commit86727730b8e4cfce2a4ecf2e787c8bf7f57af924 (patch)
tree9a2f5c93474600f85aa35606ae2b3856f8a08165 /minecctl/server.c
parentff9d60b0d5b27369073a329cd5ceb5d6c94bdf84 (diff)
Improve line/error reporting in server config parsing
Diffstat (limited to 'minecctl/server.c')
-rw-r--r--minecctl/server.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/minecctl/server.c b/minecctl/server.c
index 21df7f4..658254f 100644
--- a/minecctl/server.c
+++ b/minecctl/server.c
@@ -10,6 +10,8 @@
void server_read_config(struct cfg *cfg, struct server *server)
{
+ unsigned lineno;
+ const char *error;
char buf[4096];
size_t off = 0;
ssize_t r;
@@ -47,8 +49,9 @@ void server_read_config(struct cfg *cfg, struct server *server)
buf[off] = '\0';
close(fd);
- if (!scfg_parse(&server->scfg, buf, NULL))
- die("Unable to parse %s", server->scfg.filename);
+ if (!scfg_parse(&server->scfg, buf, NULL, &lineno, &error))
+ die("Unable to parse %s, line %u: %s", server->scfg.filename,
+ lineno, error);
if (!server->scfg.rcon_password)
verbose("rcon password not found in %s", server->scfg.filename);