diff --git a/include/nat.h b/include/nat.h index 69678b2d..017778c5 100644 --- a/include/nat.h +++ b/include/nat.h @@ -199,7 +199,7 @@ extern char *relatename(struct natstr *np, natid other); extern char *natstate(struct natstr *np); extern int getrel(struct natstr *np, natid them); extern int relations_with(natid, natid); -extern int nat_accepts(struct natstr *, natid, enum rej_comm); +extern int nat_accepts(natid, natid, enum rej_comm); extern int in_contact(natid, natid); extern void putrel(struct natstr *np, natid them, int relate); extern void agecontact(struct natstr *np); diff --git a/src/lib/commands/acce.c b/src/lib/commands/acce.c index 8ebbcef6..c76c8153 100644 --- a/src/lib/commands/acce.c +++ b/src/lib/commands/acce.c @@ -34,7 +34,7 @@ #include "commands.h" -static void pr_accept(struct natstr *, natid); +static void pr_accept(natid, natid); /* * report rejection status @@ -69,15 +69,15 @@ acce(void) if (np->nat_stat == STAT_UNUSED) continue; pr("%3d) %-14.14s ", cn, cname(cn)); - pr_accept(natp, cn); - pr_accept(np, as); + pr_accept(as, cn); + pr_accept(cn, as); pr("\n"); } return RET_OK; } static void -pr_accept(struct natstr *to, natid from) +pr_accept(natid to, natid from) { static char *yes_no[] = { "YES", " NO" }; diff --git a/src/lib/commands/offe.c b/src/lib/commands/offe.c index c3022138..1de9c141 100644 --- a/src/lib/commands/offe.c +++ b/src/lib/commands/offe.c @@ -77,8 +77,7 @@ do_loan(void) pr("You can't loan yourself money!\n"); return RET_FAIL; } - natp = getnatp(recipient); - if (!nat_accepts(natp, player->cnum, REJ_LOAN)) { + if (!nat_accepts(recipient, player->cnum, REJ_LOAN)) { pr("%s is rejecting your loans.\n", cname(recipient)); return RET_SYN; } diff --git a/src/lib/commands/rea.c b/src/lib/commands/rea.c index cbb0968a..bf5766ed 100644 --- a/src/lib/commands/rea.c +++ b/src/lib/commands/rea.c @@ -107,7 +107,7 @@ rea(void) if (res <= 0) break; if (*kind == 'a') { - if ((!nat_accepts(np, tgm.tel_from, REJ_ANNO)) + if ((!nat_accepts(player->cnum, tgm.tel_from, REJ_ANNO)) || tgm.tel_date < then) { res = tel_read_body(telfp, mbox, &tgm, NULL, NULL); if (res < 0) diff --git a/src/lib/commands/tele.c b/src/lib/commands/tele.c index a5e5e904..0dbe5a06 100644 --- a/src/lib/commands/tele.c +++ b/src/lib/commands/tele.c @@ -92,7 +92,7 @@ tele(void) kk++; continue; } - if (!nat_accepts(natp, player->cnum, REJ_TELE)) { + if (!nat_accepts(to, player->cnum, REJ_TELE)) { pr("%s is rejecting your telegrams.\n", cname(to)); return RET_SYN; } diff --git a/src/lib/common/nat.c b/src/lib/common/nat.c index d9c6820c..8ed75cc4 100644 --- a/src/lib/common/nat.c +++ b/src/lib/common/nat.c @@ -90,10 +90,10 @@ relations_with(natid us, natid them) } int -nat_accepts(struct natstr *np, natid them, enum rej_comm what) +nat_accepts(natid us, natid them, enum rej_comm what) { return getnatp(them)->nat_stat == STAT_GOD - || !(getrejectp(np->nat_cnum)->rej_rejects[them] & bit(what)); + || !(getrejectp(us)->rej_rejects[them] & bit(what)); } void diff --git a/src/lib/subs/rej.c b/src/lib/subs/rej.c index 33347dba..4135b3b0 100644 --- a/src/lib/subs/rej.c +++ b/src/lib/subs/rej.c @@ -44,7 +44,6 @@ void setrel(natid us, natid them, int rel) { struct natstr *mynp = getnatp(us); - struct natstr *themnp = getnatp(them); int oldrel; char *whichway; int n_up = 0; @@ -55,7 +54,7 @@ setrel(natid us, natid them, int rel) rel = AT_WAR; if (CANT_HAPPEN(rel > ALLIED)) rel = ALLIED; - if (CANT_HAPPEN(!mynp || !themnp)) + if (CANT_HAPPEN(!mynp)) return; if (us == them) return; @@ -88,7 +87,7 @@ setrel(natid us, natid them, int rel) pr("%s\n", addendum); mpr(us, "Diplomatic relations with %s %s to \"%s\".\n", cname(them), whichway, relates[rel]); - if (nat_accepts(themnp, us, REJ_TELE)) + if (nat_accepts(them, us, REJ_TELE)) mpr(them, "Country %s has %s their relations with you to \"%s\"!\n", prnat(mynp), whichway, relates[rel]); diff --git a/src/lib/subs/wu.c b/src/lib/subs/wu.c index 18088cc7..21bc31e9 100644 --- a/src/lib/subs/wu.c +++ b/src/lib/subs/wu.c @@ -153,7 +153,7 @@ typed_wu(natid from, natid to, char *message, int type) for (to = 0; NULL != (np = getnatp(to)); to++) { if (np->nat_stat < STAT_SANCT) continue; - if (!nat_accepts(np, from, REJ_ANNO)) + if (!nat_accepts(to, from, REJ_ANNO)) continue; if (!np->nat_ann || !tel.tel_cont) { np->nat_ann++;