From 6166772bc57054440a107140577ef372a8d97b9b Mon Sep 17 00:00:00 2001 From: fonsinchen Date: Sun, 9 Jun 2013 14:10:33 +0000 Subject: [PATCH] (svn r25379) -Fix: avoid warning in FlowStatMap::FinalizeLocalConsumption --- src/station_cmd.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 502ba15e52..ae2ba9588c 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -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. */