Make power sort countries of equal power predictably
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 6 Apr 2013 07:46:51 +0000 (09:46 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Wed, 8 May 2013 04:57:55 +0000 (06:57 +0200)
How qsort() sorts members that compare equal is unspecified.  Can
upset the smoke test.  Observed under FreeBSD 8.3.

Break ties in power by comparing country numbers.  Countries equal in
power are now sorted by increasing country number.

src/lib/commands/powe.c

index dcb0da8ae279da81c4baf0919cc71277a03077d4..e5d19de05f33160917f10e12311501207742b03e 100644 (file)
@@ -337,7 +337,7 @@ powcmp(const void *a, const void *b)
        return -1;
     if (p1->p_power < p2->p_power)
        return 1;
-    return 0;
+    return p1->p_nation - p2->p_nation;
 }
 
 static void