diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-10-03 09:50:03 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-10-03 09:50:03 +0000 |
commit | 74e77f943360008ae713a9b72ef3eb386879981a (patch) | |
tree | 045af453c0b09d89b218cf827d5f062884c65747 /src/torrent.c | |
parent | 5ce226277955a7d1aa6f5d0e00acb2ee98041003 (diff) |
hopefully fix issue 132
Diffstat (limited to 'src/torrent.c')
-rw-r--r-- | src/torrent.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/torrent.c b/src/torrent.c index 947d890..0455a89 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -194,6 +194,12 @@ gint64 torrent_get_activity_date(JsonObject *t) guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, gint64 downRate, gint64 upRate) { guint32 flags = 0; + + if (torrent_get_is_finished(t) == TRUE) + flags |= TORRENT_FLAG_COMPLETE; + else + flags |= TORRENT_FLAG_INCOMPLETE; + if (rpcv >= NEW_STATUS_RPC_VERSION) { switch (status) { case TR_STATUS_STOPPED: @@ -212,7 +218,8 @@ guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, gint64 dow flags |= TORRENT_FLAG_QUEUED; break; case TR_STATUS_DOWNLOAD: - flags |= TORRENT_FLAG_DOWNLOADING; + if (!(flags & TORRENT_FLAG_COMPLETE)) + flags |= TORRENT_FLAG_DOWNLOADING; flags |= TORRENT_FLAG_ACTIVE; break; case TR_STATUS_SEED_WAIT: @@ -247,11 +254,6 @@ guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, gint64 dow flags |= TORRENT_FLAG_ACTIVE; } - if (torrent_get_is_finished(t) == TRUE) - flags |= TORRENT_FLAG_COMPLETE; - else - flags |= TORRENT_FLAG_INCOMPLETE; - if (strlen(torrent_get_errorstr(t)) > 0) flags |= TORRENT_FLAG_ERROR; |