From: Mitchell Livingston Date: Wed, 25 Nov 2009 05:01:51 +0000 (+0000) Subject: tr_cpPercentComplete() considers cases where size is 0 X-Git-Tag: 1.80b5~341 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=358160f7ae6a219f6f520ac426096dc1b874ca23;p=transmission tr_cpPercentComplete() considers cases where size is 0 --- diff --git a/libtransmission/completion.h b/libtransmission/completion.h index ad7a10229..835cac307 100644 --- a/libtransmission/completion.h +++ b/libtransmission/completion.h @@ -105,7 +105,13 @@ static TR_INLINE uint64_t tr_cpLeftUntilDone( const tr_completion * cp ) static TR_INLINE float tr_cpPercentComplete( const tr_completion * cp ) { - return tr_getRatio( cp->sizeNow, tr_torrentInfo(cp->tor)->totalSize ); + const double ratio = tr_getRatio( cp->sizeNow, tr_torrentInfo(cp->tor)->totalSize ); + if( (int)ratio == TR_RATIO_NA ) + return 0.0; + else if( (int)ratio == TR_RATIO_INF ) + return 1.0; + else + return ratio; } static TR_INLINE float tr_cpPercentDone( const tr_completion * cp )