Changeset 14130
- Timestamp:
- Jul 20, 2013, 3:37:13 PM (9 years ago)
- Location:
- trunk/libtransmission
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/rpcimpl.c
r14116 r14130 182 182 else /* all of them */ 183 183 { 184 tr_torrent * tor = NULL; 185 const int n = tr_sessionCountTorrents (session); 186 torrents = tr_new0 (tr_torrent *, n); 187 while ((tor = tr_torrentNext (session, tor))) 188 torrents[torrentCount++] = tor; 184 torrents = tr_sessionGetTorrents (session, &torrentCount); 189 185 } 190 186 -
trunk/libtransmission/session.c
r14114 r14130 1741 1741 } 1742 1742 1743 tr_torrent ** 1744 tr_sessionGetTorrents (tr_session * session, int * setme_n) 1745 { 1746 int i; 1747 int n; 1748 tr_torrent ** torrents; 1749 tr_torrent * tor; 1750 1751 assert (tr_isSession (session)); 1752 assert (setme_n != NULL); 1753 1754 n = tr_sessionCountTorrents (session); 1755 *setme_n = n; 1756 1757 torrents = tr_new (tr_torrent *, n); 1758 tor = NULL; 1759 for (i=0; i<n; ++i) 1760 torrents[i] = tor = tr_torrentNext (session, tor); 1761 1762 return torrents; 1763 } 1764 1743 1765 static int 1744 1766 compareTorrentByCur (const void * va, const void * vb) … … 1790 1812 * if we can't get them all closed in a reasonable amount of time, 1791 1813 * at least we get the most important ones first. */ 1792 tor = NULL; 1793 n = session->torrentCount; 1794 torrents = tr_new (tr_torrent *, session->torrentCount); 1795 for (i=0; i<n; ++i) 1796 torrents[i] = tor = tr_torrentNext (session, tor); 1814 torrents = tr_sessionGetTorrents (session, &n); 1797 1815 qsort (torrents, n, sizeof (tr_torrent*), compareTorrentByCur); 1798 1816 for (i=0; i<n; ++i) … … 2806 2824 { 2807 2825 size_t i; 2826 size_t n; 2808 2827 tr_torrent * tor; 2809 2828 struct TorrentAndPosition * candidates; … … 2813 2832 2814 2833 /* build an array of the candidates */ 2815 candidates = tr_new (struct TorrentAndPosition, session->torrentCount); 2834 n = tr_sessionCountTorrents (session); 2835 candidates = tr_new (struct TorrentAndPosition, n); 2816 2836 i = 0; 2817 2837 tor = NULL; -
trunk/libtransmission/session.h
r14023 r14130 264 264 int tr_sessionCountTorrents (const tr_session * session); 265 265 266 tr_torrent ** tr_sessionGetTorrents (tr_session * session, int * setme_n); 267 266 268 enum 267 269 { -
trunk/libtransmission/torrent.c
r14125 r14130 3391 3391 queueIsSequenced (tr_session * session) 3392 3392 { 3393 int i 3394 int n 3395 bool is_sequenced = true;3393 int i; 3394 int n; 3395 bool is_sequenced; 3396 3396 tr_torrent * tor; 3397 tr_torrent ** tmp = tr_new (tr_torrent *, session->torrentCount); 3398 3399 /* get all the torrents */ 3397 tr_torrent ** torrents; 3398 3400 3399 n = 0; 3401 tor = NULL; 3402 while ((tor = tr_torrentNext (session, tor))) 3403 tmp[n++] = tor; 3404 3405 /* sort them by position */ 3406 qsort (tmp, n, sizeof (tr_torrent *), compareTorrentByQueuePosition); 3400 torrents = tr_sessionGetTorrents (session, &n); 3401 qsort (torrents, n, sizeof (tr_torrent *), compareTorrentByQueuePosition); 3407 3402 3408 3403 #if 0 … … 3414 3409 3415 3410 /* test them */ 3411 is_sequenced = true; 3416 3412 for (i=0; is_sequenced && i<n; ++i) 3417 if (t mp[i]->queuePosition != i)3413 if (torrents[i]->queuePosition != i) 3418 3414 is_sequenced = false; 3419 3415 3420 tr_free (t mp);3416 tr_free (torrents); 3421 3417 return is_sequenced; 3422 3418 }
Note: See TracChangeset
for help on using the changeset viewer.