Browse Source

- Fixed overflow handling in ETA calculation

adaptive-webui-19844
Christophe Dumez 17 years ago
parent
commit
f75501f781
  1. 10
      src/bittorrent.cpp

10
src/bittorrent.cpp

@ -166,8 +166,16 @@ void bittorrent::updateETAs() {
foreach(val, listEtas) { foreach(val, listEtas) {
moy += (qlonglong)((double)val/(double)nbETAs); moy += (qlonglong)((double)val/(double)nbETAs);
} }
Q_ASSERT(moy >= 0); if(moy < 0) {
if(ETAstats.contains(hash)) {
ETAstats.remove(hash);
}
if(ETAs.contains(hash)) {
ETAs.remove(hash);
}
} else {
ETAs[hash] = moy; ETAs[hash] = moy;
}
} else { } else {
// Speed is too low, we don't want an overflow. // Speed is too low, we don't want an overflow.
if(ETAstats.contains(hash)) { if(ETAstats.contains(hash)) {

Loading…
Cancel
Save