Author: cazfi Date: Thu Apr 23 20:49:35 2015 New Revision: 28847 URL: http://svn.gna.org/viewcvs/freeciv?rev=28847&view=rev Log: Sanity check trade routes.
See patch #6023 Modified: trunk/server/sanitycheck.c Modified: trunk/server/sanitycheck.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/sanitycheck.c?rev=28847&r1=28846&r2=28847&view=diff ============================================================================== --- trunk/server/sanitycheck.c (original) +++ trunk/server/sanitycheck.c Thu Apr 23 20:49:35 2015 @@ -223,6 +223,7 @@ { struct player *pplayer = city_owner(pcity); struct tile *pcenter = city_tile(pcity); + int i; if (NULL == pcenter) { /* Editor! */ @@ -263,6 +264,36 @@ SANITY_CITY(pcity, city_from_great_wonder(pimprove) == pcity); } } city_built_iterate_end; + + for (i = 0; i < MAX_TRADE_ROUTES; i++) { + struct city *partner = game_city_by_number(pcity->trade[i]); + + if (partner != NULL) { + int j; + + for (j = 0; j < MAX_TRADE_ROUTES; j++) { + if (game_city_by_number(partner->trade[j]) == pcity) { + break; + } + } + + SANITY_CITY(pcity, j < MAX_TRADE_ROUTES); + + if (j < MAX_TRADE_ROUTES) { + switch (partner->trade_direction[j]) { + case RDIR_TO: + SANITY_CITY(pcity, pcity->trade_direction[i] == RDIR_FROM); + break; + case RDIR_FROM: + SANITY_CITY(pcity, pcity->trade_direction[i] == RDIR_TO); + break; + case RDIR_BIDIRECTIONAL: + SANITY_CITY(pcity, pcity->trade_direction[i] == RDIR_BIDIRECTIONAL); + break; + } + } + } + } return TRUE; } _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits