From 8cb55944a3d5eef7eef4ccaf4437d9e67348cd04 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 30 Apr 2006 12:56:41 +0000 Subject: [PATCH] (TERR_MAX): New. (terr): Use it. (terr): When the territory number is bad, do not loop prompting, just fail. That's what the vast majority of commands do. --- include/sect.h | 2 ++ src/lib/commands/terr.c | 21 +++++---------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/include/sect.h b/include/sect.h index 34394aa2..5a46c090 100644 --- a/include/sect.h +++ b/include/sect.h @@ -199,6 +199,8 @@ extern struct dchrstr bigcity_dchr; #define CHE_MAX 255 /* maximum fallout, must fit into struct sctstr member sct_fallout */ #define FALLOUT_MAX 9999 +/* maximum territory, must fit into struct sctstr members sct_terr etc */ +#define TERR_MAX 99 /* Each cost is per point of efficency */ struct sctintrins { diff --git a/src/lib/commands/terr.c b/src/lib/commands/terr.c index a72ed781..9ea2ad0c 100644 --- a/src/lib/commands/terr.c +++ b/src/lib/commands/terr.c @@ -68,26 +68,15 @@ terr(void) sect.sct_effic, dchr[sect.sct_type].d_name); if ((p = getstarg(player->argp[2], prompt, buf)) == 0) return RET_FAIL; - if (!check_sect_ok(§)) - return RET_FAIL; if (*p == 0) continue; terr_n = atoi(p); - while (terr_n < 0 || terr_n > 99 || *p < '0' || *p > '9') { - pr("Enter a number between 0 and 99!\n"); - sprintf(prompt, "%s %d%% %s territory? ", - xyas(nstr.x, nstr.y, player->cnum), - sect.sct_effic, dchr[sect.sct_type].d_name); - if ((p = getstarg(NULL, prompt, buf)) == 0) - return RET_FAIL; - if (!check_sect_ok(§)) - return RET_FAIL; - if (*p == 0) - break; - terr_n = atoi(p); + if (terr_n < 0 || terr_n > TERR_MAX) { + pr("Territory number must be between 0 and %d\n", TERR_MAX); + return RET_FAIL; } - if (*p == 0) - continue; + if (!check_sect_ok(§)) + return RET_FAIL; switch (field) { case 1: sect.sct_terr1 = terr_n;