From 358160f7ae6a219f6f520ac426096dc1b874ca23 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Wed, 25 Nov 2009 05:01:51 +0000 Subject: [PATCH] tr_cpPercentComplete() considers cases where size is 0 --- libtransmission/completion.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 )