diff options
author | peter1138 <peter1138@openttd.org> | 2009-01-13 18:18:53 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2009-01-13 18:18:53 +0000 |
commit | 02bda12599ced659e5e3ff9404ff21f0ca718cd1 (patch) | |
tree | ae7816db55022acd80a77f5e646ba906e2ee9762 /src/station_cmd.cpp | |
parent | e1f64922c5acb3f2173108ca81b656266bb8b651 (diff) | |
download | openttd-02bda12599ced659e5e3ff9404ff21f0ca718cd1.tar.xz |
(svn r15067) -Fix [FS#2531]: Possible compiler bug, alleviated by using SmallVector instead of using std::set. SmallVector does everything needed anyway.
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r-- | src/station_cmd.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 17c1c9aac..9c3529390 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2940,9 +2940,9 @@ CommandCost CmdRenameStation(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, * * @return: Set of found stations */ -StationSet FindStationsAroundTiles(TileIndex tile, int w_prod, int h_prod) +StationList FindStationsAroundTiles(TileIndex tile, int w_prod, int h_prod) { - StationSet station_set; + StationList stations; /* area to search = producer plus station catchment radius */ int max_rad = (_settings_game.station.modified_catchment ? MAX_CATCHMENT : CA_UNMODIFIED); @@ -2989,11 +2989,11 @@ StationSet FindStationsAroundTiles(TileIndex tile, int w_prod, int h_prod) /* Insert the station in the set. This will fail if it has * already been added. */ - station_set.insert(st); + stations.Include(st); END_TILE_LOOP(cur_tile, w, h, tile - TileDiffXY(max_rad, max_rad)) - return station_set; + return stations; } uint MoveGoodsToStation(TileIndex tile, int w, int h, CargoID type, uint amount) @@ -3003,8 +3003,8 @@ uint MoveGoodsToStation(TileIndex tile, int w, int h, CargoID type, uint amount) uint best_rating1 = 0; // rating of st1 uint best_rating2 = 0; // rating of st2 - StationSet all_stations = FindStationsAroundTiles(tile, w, h); - for (StationSet::iterator st_iter = all_stations.begin(); st_iter != all_stations.end(); ++st_iter) { + StationList all_stations = FindStationsAroundTiles(tile, w, h); + for (Station **st_iter = all_stations.Begin(); st_iter != all_stations.End(); ++st_iter) { Station *st = *st_iter; /* Is the station reserved exclusively for somebody else? */ |