Move setting nat_cnam, nat_pnam into nat_reset()
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 6 Nov 2011 12:56:34 +0000 (13:56 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 29 Dec 2011 10:47:06 +0000 (11:47 +0100)
include/nat.h
src/lib/commands/add.c
src/lib/common/nat.c
src/util/files.c

index dd13f2321f64bacd2e0dbcb274186ef806e2d322..21a6d0b2ebb90abaf6d63187503b5398517085d5 100644 (file)
@@ -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);
 
index a7f1b00aec3ad200fc5f11bb1f2954c4ba40af55..c89a8c840fec9ba248a5e44b750deacce75762be 100644 (file)
@@ -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;
 }
index f539b2d26cca41bb5771e3b0fd86b5c4d9651119..439ae949dea41f8c0a7f238b3ffeced71a5c72ea 100644 (file)
@@ -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);
index cd48915addabdb77c17dae0acc1ad4ecf1c5fa29..20481dd149ab4f86523d06db732e76934a31ec14 100644 (file)
@@ -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);