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

This will be applicable to all branches!

In 2.1, has 60 occurrences in 20 files.
In 2.2, has 63 occurrences in 23 files.

In this case, the code already has a FIXME over two years old!

It clearly indicates:

     /* It is a virtual unit, so must start in a city... */
     struct city *pcity = tile_city(punit->tile);

     /* The default is to lose 100%.  The growth bonus reduces this. */
     int foodloss_pct = 100 - get_city_bonus(pcity, EFT_GROWTH_FOOD);

There's no question that pcity should *not* be NULL.

My guess is this is another bug related to old/new border calculation, as in
PR#40069, because there's been a long history of problems with the tile not
pointing to the expected city.  One of the problems that new deterministic
border code was made to correct!

Freeciv-dev mailing list

Reply via email to