From 370e9ab3558aa1fafaa2559582f491670cb8db70 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Wed, 31 Jan 2007 16:23:07 +0000 Subject: [PATCH] do the same calculation one time per loop --- libtransmission/torrent.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libtransmission/torrent.c b/libtransmission/torrent.c index 5e006fa92..d5fa0aaa1 100644 --- a/libtransmission/torrent.c +++ b/libtransmission/torrent.c @@ -469,11 +469,13 @@ void tr_torrentPeersFree( tr_peer_stat_t * peers, int peerCount ) void tr_torrentAvailability( tr_torrent_t * tor, int8_t * tab, int size ) { int i, j, piece; + float interval; tr_lockLock( &tor->lock ); + interval = (float)tor->info.pieceCount / (float)size; for( i = 0; i < size; i++ ) { - piece = i * tor->info.pieceCount / size; + piece = i * interval; if( tr_cpPieceIsComplete( tor->completion, piece ) ) { @@ -497,11 +499,13 @@ void tr_torrentAvailability( tr_torrent_t * tor, int8_t * tab, int size ) void tr_torrentAmountFinished( tr_torrent_t * tor, float * tab, int size ) { int i, piece; + float interval; tr_lockLock( &tor->lock ); + interval = (float)tor->info.pieceCount / (float)size; for( i = 0; i < size; i++ ) { - piece = i * tor->info.pieceCount / size; + piece = i * interval; tab[i] = tr_cpPercentBlocksInPiece( tor->completion, piece ); } tr_lockUnlock( &tor->lock );