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);
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;
}
* 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];
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);
}
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);