]> git.pond.sub.org Git - empserver/commitdiff
(as_extend, as_costcomp, gen_power, powcmp): Fix non-portable function
authorMarkus Armbruster <armbru@pond.sub.org>
Thu, 24 Feb 2005 18:47:26 +0000 (18:47 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 24 Feb 2005 18:47:26 +0000 (18:47 +0000)
cast.
(qsort_func_t): Unused, remove.

include/misc.h
src/lib/as/as.h
src/lib/as/as_costcomp.c
src/lib/as/as_extend.c
src/lib/commands/powe.c

index aa2b4fd9b3be58f8cbffc24501d59d8a8d4a8277..5086be359af773d0694b6a41d31f8e1f4d3bf61a 100644 (file)
@@ -132,8 +132,6 @@ extern int debug;
  */
 #define CANT_HAPPEN(expr) ((expr) ? oops(#expr, __FILE__, __LINE__) : 0)
 
-typedef int (*qsort_func_t) (const void *, const void *);
-
        /* return codes from command routines */
 #define        RET_OK          0       /* command completed sucessfully */
 #define        RET_FAIL        1       /* command completed unsucessfully [?] */
index 50b1ed6559654f287d4a590122854a4475e21759..071e9dd938c9591dfed9880442838bb6da40a5f3 100644 (file)
@@ -172,7 +172,7 @@ extern void as_disable_cachepath(void);
 extern void as_makepath(struct as_data *adp);
 extern void as_free_path(struct as_path *pp);
 
-extern int as_costcomp(struct as_node **n1, struct as_node **n2);
+extern int as_costcomp(const void *, const void *);
 extern struct as_queue *as_extend(struct as_data *adp);
 extern struct as_queue *as_merge(struct as_data *adp,
                                 struct as_queue *head,
index d0a43d7000b51c14818f1e09e6b609998b46d2dc..c41490172682c4d69144c639740ee3c9ad25e60d 100644 (file)
  * Used as comparision function for qsort.
  */
 int
-as_costcomp(struct as_node **n1, struct as_node **n2)
+as_costcomp(const void *p1, const void *p2)
 {
+    struct as_node *const *n1 = p1;
+    struct as_node *const *n2 = p2;
     double diff;
 
     diff = (*n1)->lbcost - (*n2)->lbcost;
index 86ed6fe4a15d4b94b8fe2b956c2bb67df7a41360..0f257e11c1b60235eb5202a7856e8641bc9f683e 100644 (file)
@@ -50,7 +50,7 @@ as_extend(struct as_data *adp)
        return (NULL);
     if (i > 1)
        qsort(adp->neighbor_nodes, i,
-             sizeof(*adp->neighbor_nodes), (qsort_func_t)as_costcomp);
+             sizeof(*adp->neighbor_nodes), as_costcomp);
 
     /* remove old coord from head of queue and add to list of tried */
     qp = head;
index 44d92153a98dd48934e779cfa541e98b16429e81..d2c0e2ad5ac8e43b22344d335150b7d997e84ce0 100644 (file)
@@ -60,7 +60,7 @@ struct powsort {
 static void addtopow(short *vec, 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);
+static int powcmp(const void *, const void *);
 static int set_target(s_char *, int *);
 
 int
@@ -325,19 +325,16 @@ gen_power(void)
     for (i = 1; i < MAXNOC; i++) {
        struct natstr *np;
        int maxpop;
-       float f = 1.0;
 
        if (opt_RES_POP) {
            np = getnatp(i);
            maxpop = max_population(np->nat_level[NAT_RLEV], SCT_MINE, 0);
-           f = 1.0 + (((float)maxpop) / 10000.0);
+           powbuf[i].p_power *= 1.0 + maxpop / 10000.0;
        }
-       powbuf[i].p_power *= f;
        order[i].powval = powbuf[i].p_power;
        order[i].cnum = i;
     }
-    qsort((s_char *)&order[1], MAXNOC - 1, sizeof(*order),
-         (qsort_func_t)powcmp);
+    qsort(&order[1], MAXNOC - 1, sizeof(*order), powcmp);
     putpower(0, &powbuf[0]);
     for (i = 1; i < MAXNOC; i++) {
        putpower(i, &powbuf[order[i].cnum]);
@@ -353,8 +350,11 @@ gen_power(void)
 }
 
 static int
-powcmp(struct powsort *p1, struct powsort *p2)
+powcmp(const void *a, const void *b)
 {
+    const struct powsort *p1 = a;
+    const struct powsort *p2 = b;
+
     if (p1->powval > p2->powval)
        return -1;
     if (p1->powval < p2->powval)