diff --git a/libtransmission/completion.c b/libtransmission/completion.c index 39735644a..944e2f770 100644 --- a/libtransmission/completion.c +++ b/libtransmission/completion.c @@ -305,18 +305,19 @@ void tr_cpGetAmountDone( const tr_completion * cp, float * tab, int tabCount ) { int i; - const int isComplete = tr_cpGetStatus ( cp ) == TR_CP_COMPLETE; - const int tabSpan = cp->tor->blockCount / tabCount; - tr_block_index_t block_i = 0; - for( i=0; itor; + const float interval = tor->info.pieceCount / (float)tabCount; + const int isComplete = tr_cpGetStatus ( tor->completion ) == TR_CP_COMPLETE; + + for( i=0; icompleteBlocks[piece] / tr_torPieceCountBlocks( tor, piece ); } } diff --git a/libtransmission/peer-mgr.c b/libtransmission/peer-mgr.c index 8f146b4d2..ef5faa951 100644 --- a/libtransmission/peer-mgr.c +++ b/libtransmission/peer-mgr.c @@ -1300,13 +1300,11 @@ tr_peerMgrTorrentAvailability( const tr_peerMgr * manager, memset( tab, 0, tabCount ); - for( i=0; icompletion, piece ) ) + if( isComplete || tr_cpPieceIsComplete( tor->completion, piece ) ) tab[i] = -1; else if( peerCount ) { int j; diff --git a/libtransmission/rpc-server.c b/libtransmission/rpc-server.c index cf8fa273c..833ae67eb 100644 --- a/libtransmission/rpc-server.c +++ b/libtransmission/rpc-server.c @@ -238,7 +238,7 @@ tr_rpcGetPort( const tr_rpc_server * server ) * this stuff is worth it, you can buy me a beer in return. */ -#define DELIM_CHARS " ," /* Separators for lists */ +#define DELIM_CHARS "," /* Separators for lists */ #define FOR_EACH_WORD_IN_LIST(s,len) \ for (; s != NULL && (len = strcspn(s, DELIM_CHARS)) != 0; \