]> git.pond.sub.org Git - empserver/commitdiff
(genpower, powcmp): Sort struct powstr powbuf[] instead of struct
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 31 Dec 2006 13:38:46 +0000 (13:38 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 31 Dec 2006 13:38:46 +0000 (13:38 +0000)
powsort order[].  Marginally less efficient, but simpler.
(powsort): Unused, remove.

src/lib/commands/powe.c

index 8687b72069b953a5461eed048902bb6e219e1211..94c15bbabf9c6e8824bd152cccfa7b9e4f89e7dc 100644 (file)
 #include "power.h"
 #include "ship.h"
 
-struct powsort {
-    float powval;
-    natid cnum;
-};
-
 static void prpower(char *, struct powstr *, int);
 static void out5(double, int, int);
 static void gen_power(void);
@@ -206,7 +201,6 @@ gen_power(void)
     struct powstr powbuf[MAXNOC];
     struct nstr_item ni;
     struct nstr_sect ns;
-    struct powsort order[MAXNOC];
     struct natstr *natp;
     float f;
 
@@ -294,14 +288,10 @@ gen_power(void)
            maxpop = max_population(np->nat_level[NAT_RLEV], SCT_MINE, 0);
            powbuf[i].p_power *= 1.0 + maxpop / 10000.0;
        }
-       order[i].powval = powbuf[i].p_power;
-       order[i].cnum = i;
-    }
-    qsort(&order[1], MAXNOC - 1, sizeof(*order), powcmp);
-    putpower(0, &powbuf[0]);
-    for (i = 1; i < MAXNOC; i++) {
-       putpower(i, &powbuf[order[i].cnum]);
     }
+    qsort(&powbuf[1], MAXNOC - 1, sizeof(*powbuf), powcmp);
+    for (i = 0; i < MAXNOC; i++)
+       putpower(i, &powbuf[i]);
 #ifdef _WIN32
     /*
      * At least some versions of Windows fail to update mtime on
@@ -315,12 +305,12 @@ gen_power(void)
 static int
 powcmp(const void *a, const void *b)
 {
-    const struct powsort *p1 = a;
-    const struct powsort *p2 = b;
+    const struct powstr *p1 = a;
+    const struct powstr *p2 = b;
 
-    if (p1->powval > p2->powval)
+    if (p1->p_power > p2->p_power)
        return -1;
-    if (p1->powval < p2->powval)
+    if (p1->p_power < p2->p_power)
        return 1;
     return 0;
 }