]> git.pond.sub.org Git - empserver/commitdiff
(gen_power, addtopow): Call addtopow() directly on item arrays instead
authorMarkus Armbruster <armbru@pond.sub.org>
Fri, 5 Mar 2004 13:20:11 +0000 (13:20 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 5 Mar 2004 13:20:11 +0000 (13:20 +0000)
of copies made by getvec().  This is obviously correct, since there
are no writes.

src/lib/commands/powe.c

index 182bc7678d68aee3106eb2b58fe7a105468b1ed5..e1c9e6250708f10882c583f4f14646ee0ef55e3f 100644 (file)
@@ -59,7 +59,7 @@ struct powsort {
     natid cnum;
 };
 
-static void addtopow(register int *vec, register struct powstr *pow);
+static void addtopow(register short *vec, register struct powstr *pow);
 static void gen_power(void);
 static void out5(double value, int round_val, int round_flag);
 static int powcmp(struct powsort *p1, struct powsort *p2);
@@ -237,7 +237,6 @@ gen_power(void)
     struct powstr powbuf[MAXNOC];
     struct nstr_item ni;
     struct nstr_sect ns;
-    int vec[I_MAX + 1];
     struct powsort order[MAXNOC];
     struct natstr *natp;
     float f;
@@ -251,16 +250,14 @@ gen_power(void)
        pow = &powbuf[sect.sct_own];
        pow->p_sects += 1.0;
        pow->p_effic += sect.sct_effic;
-       getvec(VT_ITEM, vec, (s_char *)&sect, EF_SECTOR);
-       addtopow(vec, pow);
+       addtopow(sect.sct_item, pow);
     }
     snxtitem_all(&ni, EF_LAND);
     while (nxtitem(&ni, (s_char *)&land)) {
        if (land.lnd_own == 0)
            continue;
        pow = &powbuf[land.lnd_own];
-       getvec(VT_ITEM, vec, (s_char *)&land, EF_LAND);
-       addtopow(vec, pow);
+       addtopow(land.lnd_item, pow);
        if (opt_NEWPOWER == 0) {
            pow->p_power += lchr[(int)land.lnd_type].l_lcm / 10.0;
            pow->p_power += lchr[(int)land.lnd_type].l_hcm / 5.0;
@@ -278,8 +275,7 @@ gen_power(void)
        if (ship.shp_own == 0)
            continue;
        pow = &powbuf[ship.shp_own];
-       getvec(VT_ITEM, vec, (s_char *)&ship, EF_SHIP);
-       addtopow(vec, pow);
+       addtopow(ship.shp_item, pow);
        if (opt_NEWPOWER == 0) {
            pow->p_power += mchr[(int)ship.shp_type].m_lcm / 10.0;
            pow->p_power += mchr[(int)ship.shp_type].m_hcm / 5.0;
@@ -391,7 +387,7 @@ powcmp(struct powsort *p1, struct powsort *p2)
 }
 
 static void
-addtopow(register int *vec, register struct powstr *pow)
+addtopow(short *vec, struct powstr *pow)
 {
     pow->p_civil += vec[I_CIVIL];
     pow->p_milit += vec[I_MILIT];