From 6bad4643483d99a7e8cfa4251646ae7f162bfa1b Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 26 Dec 2020 06:27:18 +0100 Subject: [PATCH] Avoid SCT_TYPE_MAX, use ARRAY_SIZE() instead The next commit will get rid of SCT_TYPE_MAX. Prepare. Signed-off-by: Markus Armbruster --- include/update.h | 4 ++-- src/lib/commands/budg.c | 6 +++--- src/lib/subs/maps.c | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/update.h b/include/update.h index 830367a49..ef0dc7dfb 100644 --- a/include/update.h +++ b/include/update.h @@ -28,7 +28,7 @@ * * Known contributors to this file: * Ville Virrankoski, 1995 - * Markus Armbruster, 2004-2016 + * Markus Armbruster, 2004-2020 */ #ifndef UPDATE_H @@ -59,7 +59,7 @@ struct budg_item { /* A nation's budget for an update */ struct budget { /* production by sector type */ - struct budg_item prod[SCT_TYPE_MAX + 1]; + struct budg_item prod[ARRAY_SIZE(dchr) - 1]; /* level production output */ float level[4]; /* building and maintenance */ diff --git a/src/lib/commands/budg.c b/src/lib/commands/budg.c index 00cb8f89e..028133dc4 100644 --- a/src/lib/commands/budg.c +++ b/src/lib/commands/budg.c @@ -30,7 +30,7 @@ * Thomas Ruschak, 1992 * Ville Virrankoski, 1995 * Steve McClure, 1997-2000 - * Markus Armbruster, 2004-2016 + * Markus Armbruster, 2004-2020 */ #include @@ -61,7 +61,7 @@ budg(void) { "Sector building", "sector" }, { "Sector maintenance", "sector" } }; - int i; + unsigned i; struct budget *budget; int income, expenses, taxes; struct natstr *np; @@ -76,7 +76,7 @@ budg(void) income = expenses = 0; pr("Sector Type\t\t\tProduction\t\t\t Cost\n"); - for (i = 0; i <= SCT_TYPE_MAX; i++) { + for (i = 0; i < ARRAY_SIZE(budget->prod); i++) { if (!budget->prod[i].money) continue; pr("%-17s\t\t", dchr[i].d_name); diff --git a/src/lib/subs/maps.c b/src/lib/subs/maps.c index 1f7528dcb..df7eedad5 100644 --- a/src/lib/subs/maps.c +++ b/src/lib/subs/maps.c @@ -29,7 +29,7 @@ * Known contributors to this file: * Ken Stevens, 1995 * Steve McClure, 1998 - * Markus Armbruster, 2004-2011 + * Markus Armbruster, 2004-2020 * Ron Koenderink, 2006 */ @@ -358,7 +358,8 @@ bmnxtsct(struct nstr_sect *np) static char map_char(int type, natid own, int owner_or_god) { - if (CANT_HAPPEN(type > SCT_TYPE_MAX || !dchr[type].d_mnem)) + if (CANT_HAPPEN((unsigned)type >= ARRAY_SIZE(dchr) - 1 + || !dchr[type].d_mnem)) return '?'; if (owner_or_god || type == SCT_WATER || type == SCT_MOUNT || type == SCT_WASTE -- 2.43.0