diff --git a/include/nat.h b/include/nat.h index dd13f232..21a6d0b2 100644 --- a/include/nat.h +++ b/include/nat.h @@ -177,7 +177,8 @@ extern void putreject(struct natstr *np, natid them, int how, int what); extern void putcontact(struct natstr *np, natid them, int contact); extern void agecontact(struct natstr *np); extern int influx(struct natstr *np); -extern struct natstr *nat_reset(struct natstr *, natid, enum nat_status); +extern struct natstr *nat_reset(struct natstr *, natid, char *, char *, + enum nat_status); extern int check_nat_name(char *, natid); diff --git a/src/lib/commands/add.c b/src/lib/commands/add.c index a7f1b00a..c89a8c84 100644 --- a/src/lib/commands/add.c +++ b/src/lib/commands/add.c @@ -110,9 +110,7 @@ add(void) pr("Illegal status\n"); return RET_SYN; } - nat_reset(natp, natp->nat_cnum, stat); - strcpy(natp->nat_cnam, cntryname); - strcpy(natp->nat_pnam, pname); + nat_reset(natp, natp->nat_cnum, cntryname, pname, stat); putnat(natp); return 0; } diff --git a/src/lib/common/nat.c b/src/lib/common/nat.c index f539b2d2..439ae949 100644 --- a/src/lib/common/nat.c +++ b/src/lib/common/nat.c @@ -191,7 +191,8 @@ influx(struct natstr *np) * Also wipe realms and telegrams. */ struct natstr * -nat_reset(struct natstr *natp, natid cnum, enum nat_status stat) +nat_reset(struct natstr *natp, natid cnum, char *name, char *rep, + enum nat_status stat) { struct realmstr newrealm; char buf[1024]; @@ -199,6 +200,8 @@ nat_reset(struct natstr *natp, natid cnum, enum nat_status stat) ef_blank(EF_NATION, cnum, natp); natp->nat_stat = stat; + strncpy(natp->nat_cnam, name, sizeof(natp->nat_cnam) - 1); + strncpy(natp->nat_pnam, rep, sizeof(natp->nat_pnam) - 1); for (i = 0; i < MAXNOR; i++) { ef_blank(EF_REALM, i + cnum * MAXNOR, &newrealm); putrealm(&newrealm); diff --git a/src/util/files.c b/src/util/files.c index cd48915a..20481dd1 100644 --- a/src/util/files.c +++ b/src/util/files.c @@ -146,9 +146,7 @@ main(int argc, char *argv[]) } close(creat(annfil, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)); - nat_reset(&nat, 0, STAT_GOD); - strcpy(nat.nat_cnam, "POGO"); - strcpy(nat.nat_pnam, "peter"); + nat_reset(&nat, 0, "POGO", "peter", STAT_GOD); nat.nat_btu = 255; nat.nat_money = 123456789; putnat(&nat);