diff --git a/include/prototypes.h b/include/prototypes.h index b3807331..352cf81e 100644 --- a/include/prototypes.h +++ b/include/prototypes.h @@ -545,7 +545,7 @@ extern int msl_launch_mindam(struct emp_qelem *, coord, coord, int, /* mtch.c */ extern int comtch(register s_char *, struct cmndstr *, int); /* natarg.c */ -extern int natarg(s_char *, s_char *); +extern int natarg(char *, char *); /* neigh.c */ extern int neigh(coord, coord, natid); /* nreport.c */ diff --git a/src/lib/subs/natarg.c b/src/lib/subs/natarg.c index eb5552bc..187d662d 100644 --- a/src/lib/subs/natarg.c +++ b/src/lib/subs/natarg.c @@ -28,7 +28,7 @@ * natarg.c: Return countr # given country name or country # * * Known contributors to this file: - * (List known contributors to this file) + * Markus Armbruster, 2006 */ #include @@ -42,40 +42,29 @@ #include "optlist.h" int -natarg(s_char *arg, s_char *prompt) +natarg(char *arg, char *prompt) { - s_char buf[1024]; + char buf[1024]; int n; struct natstr *np; - int byname = 0; arg = getstarg(arg, prompt, buf); if (arg == 0 || *arg == 0) return -1; if (isdigit(*arg)) n = atoi(arg); - else { + else n = cnumb(arg); - if (opt_HIDDEN) { - byname = 1; - } - } - if (n < 0 || n >= MAXNOC) { - pr("No such country exists.\n"); - n = -1; + np = getnatp(n); + if (!np) { + pr("Country '%s' doesn't exist.\n", arg); + return -1; } if (opt_HIDDEN) { if (!player->god && !getcontact(getnatp(player->cnum), n)) { - if ((np = getnatp(n)) == 0) - return -1; if (np->nat_stat != STAT_GOD) { - if (byname) { - pr("No such country exists.\n"); - n = -1; - } else { - pr("Country has not been contacted.\n"); - n = -2; - } + pr("Country '%s' has not been contacted.\n", arg); + return -2; } } }