(svn r26448) -Fix [FS#5970]: Avoid division by 0 when scaling flow values.

This commit is contained in:
fonsinchen
2014-04-08 19:28:14 +00:00
parent 4ef5339405
commit 8395c08738
2 changed files with 6 additions and 2 deletions

View File

@@ -49,8 +49,10 @@ void FlowMapper::Run(LinkGraphJob &job) const
FlowStatMap &flows = node.Flows();
flows.FinalizeLocalConsumption(node.Station());
if (this->scale) {
/* Scale by time the graph has been running without being compressed. */
uint runtime = job.JoinDate() - job.Settings().recalc_time - job.LastCompression();
/* Scale by time the graph has been running without being compressed. Add 1 to avoid
* division by 0 if spawn date == last compression date. This matches
* LinkGraph::Monthly(). */
uint runtime = job.JoinDate() - job.Settings().recalc_time - job.LastCompression() + 1;
for (FlowStatMap::iterator i = flows.begin(); i != flows.end(); ++i) {
i->second.ScaleToMonthly(runtime);
}