From aa6c52ef463af7a1465f23beb99c49dec55f57a6 Mon Sep 17 00:00:00 2001 From: Eric Petit Date: Tue, 31 Jan 2006 04:58:28 +0000 Subject: [PATCH] Fixed a lame typo so the algorithm may actually work --- libtransmission/choking.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libtransmission/choking.c b/libtransmission/choking.c index e246b2ae5..233a9ca88 100644 --- a/libtransmission/choking.c +++ b/libtransmission/choking.c @@ -132,7 +132,7 @@ void tr_chokingPulse( tr_choking_t * c ) sortPeers( peersCanChoke, peersCanChokeCount ); sortPeers( peersCanUnchoke, peersCanUnchokeCount ); - if( unchokedCount > c->slots ) + if( unchokedCount > c->slots && peersCanChokeCount > 0 ) { int willChoke; willChoke = MIN( peersCanChokeCount, unchokedCount - c->slots ); @@ -142,7 +142,7 @@ void tr_chokingPulse( tr_choking_t * c ) memmove( &peersCanChoke[0], &peersCanChoke[willChoke], peersCanChokeCount ); } - else if( unchokedCount < c->slots ) + else if( unchokedCount < c->slots && peersCanUnchokeCount > 0 ) { int willUnchoke; willUnchoke = MIN( peersCanUnchokeCount, c->slots - unchokedCount ); @@ -154,7 +154,7 @@ void tr_chokingPulse( tr_choking_t * c ) while( peersCanChokeCount > 0 && peersCanUnchokeCount > 0 ) { if( tr_peerDownloadRate( peersCanUnchoke[peersCanUnchokeCount - 1] ) - > tr_peerDownloadRate( peersCanChoke[0] ) ) + < tr_peerDownloadRate( peersCanChoke[0] ) ) break; tr_peerChoke( peersCanChoke[0] );