(svn r25379) -Fix: avoid warning in FlowStatMap::FinalizeLocalConsumption

This commit is contained in:
fonsinchen 2013-06-09 14:10:33 +00:00
parent 9a92d55dee
commit 6166772bc5
1 changed files with 7 additions and 2 deletions

View File

@ -4173,8 +4173,13 @@ void FlowStatMap::FinalizeLocalConsumption(StationID self)
for (FlowStatMap::iterator i = this->begin(); i != this->end(); ++i) {
FlowStat &fs = i->second;
uint local = fs.GetShare(INVALID_STATION);
fs.ChangeShare(self, -local);
fs.ChangeShare(INVALID_STATION, -local);
if (local > INT_MAX) { // make sure it fits in an int
fs.ChangeShare(self, -INT_MAX);
fs.ChangeShare(INVALID_STATION, -INT_MAX);
local -= INT_MAX;
}
fs.ChangeShare(self, (int)-local);
fs.ChangeShare(INVALID_STATION, (int)-local);
/* If the local share is used up there must be a share for some
* remote station. */