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

Attached patch fixes this programming error:

strncmp(packet->name, pcity->name, strlen(pcity->name))

which was causing a minor display bug for observers:
if a city changed its name by only adding characters
to its existing name, then the new name would not be
displayed (until a refresh).


-----------------------------------------------------------------------
訴えます!
diff --git a/client/packhand.c b/client/packhand.c
index 5fa615c..78e6d39 100644
--- a/client/packhand.c
+++ b/client/packhand.c
@@ -537,7 +537,8 @@ void handle_city_info(struct packet_city_info *packet)
             TILE_XY(packet));
     return;
   } else {
-    name_changed = (0 != strncmp(packet->name, pcity->name, strlen(pcity->name)));
+    name_changed = (0 != strncmp(packet->name, pcity->name,
+                                 sizeof(pcity->name)));
 
     /* Descriptions should probably be updated if the
      * city name, production or time-to-grow changes.
@@ -862,7 +863,8 @@ void handle_city_short_info(struct packet_city_short_info *packet)
             TILE_XY(packet));
     return;
   } else {
-    name_changed = (0 != strncmp(packet->name, pcity->name, strlen(pcity->name)));
+    name_changed = (0 != strncmp(packet->name, pcity->name,
+                                 sizeof(pcity->name)));
 
     /* Check if city desciptions should be updated */
     if (draw_city_names && name_changed) {
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to