<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40175 >

 S2_2 & TRUNK:
 leader_name is temporary variable set only when !player->created, but
it was used always.

 Fix attached.


 ...

 S2_1 code differs from S2_2 & TRUNK. It seems that some earlier
bugfix is missing.


 - ML

diff -Nurd -X.diff_ignore freeciv/server/srv_main.c freeciv/server/srv_main.c
--- freeciv/server/srv_main.c	2008-03-19 04:30:55.000000000 +0200
+++ freeciv/server/srv_main.c	2008-03-30 19:10:09.000000000 +0300
@@ -1657,8 +1657,6 @@
 **************************************************************************/
 static void generate_players(void)
 {
-  char leader_name[MAX_LEN_NAME];
-
   /* Select nations for AI players generated with server
    * 'create <name>' command
    */
@@ -1694,12 +1692,15 @@
 
     /* don't change the name of a created player */
     if (!pplayer->was_created) {
+      char leader_name[MAX_LEN_NAME];
+
       pick_random_player_name(nation_of_player(pplayer), leader_name);
       sz_strlcpy(pplayer->name, leader_name);
     }
 
-    if (check_nation_leader_name(nation_of_player(pplayer), leader_name)) {
-      pplayer->is_male = get_nation_leader_sex(nation_of_player(pplayer), leader_name);
+    if (check_nation_leader_name(nation_of_player(pplayer), pplayer->name)) {
+      pplayer->is_male = get_nation_leader_sex(nation_of_player(pplayer),
+                                               pplayer->name);
     } else {
       pplayer->is_male = (myrand(2) == 1);
     }
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to