From e215af5ac5218950648f84ee4008115a6aabb0fc Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Thu, 3 Mar 2005 19:54:25 +0000 Subject: [PATCH] (init_files): Exit unsuccessfully when a file can't be opened. --- src/server/main.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/server/main.c b/src/server/main.c index f7b511e6a..305fd507d 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -339,21 +339,26 @@ start_server(int flags, char *config_file) static void init_files(void) { - ef_open(EF_NATION, O_RDWR, EFF_MEM); - ef_open(EF_SECTOR, O_RDWR, EFF_MEM); - ef_open(EF_SHIP, O_RDWR, EFF_MEM); - ef_open(EF_PLANE, O_RDWR, EFF_MEM); - ef_open(EF_LAND, O_RDWR, EFF_MEM); - ef_open(EF_NEWS, O_RDWR, 0); - ef_open(EF_LOAN, O_RDWR, 0); - ef_open(EF_TREATY, O_RDWR, 0); - ef_open(EF_NUKE, O_RDWR, EFF_MEM); - ef_open(EF_POWER, O_RDWR, 0); - ef_open(EF_TRADE, O_RDWR, 0); - ef_open(EF_MAP, O_RDWR, EFF_MEM); - ef_open(EF_BMAP, O_RDWR, EFF_MEM); - ef_open(EF_COMM, O_RDWR, 0); - ef_open(EF_LOST, O_RDWR, 0); + int failed = 0; + failed |= !ef_open(EF_NATION, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_SECTOR, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_SHIP, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_PLANE, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_LAND, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_NEWS, O_RDWR, 0); + failed |= !ef_open(EF_LOAN, O_RDWR, 0); + failed |= !ef_open(EF_TREATY, O_RDWR, 0); + failed |= !ef_open(EF_NUKE, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_POWER, O_RDWR, 0); + failed |= !ef_open(EF_TRADE, O_RDWR, 0); + failed |= !ef_open(EF_MAP, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_BMAP, O_RDWR, EFF_MEM); + failed |= !ef_open(EF_COMM, O_RDWR, 0); + failed |= !ef_open(EF_LOST, O_RDWR, 0); + if (failed) { + logerror("Missing files, giving up"); + exit(EXIT_FAILURE); + } } void -- 2.43.0