diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-04-24 09:58:32 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-04-24 09:58:32 +0000 |
commit | f75912afd2d89d7dd8a71e7450774c122f9161f5 (patch) | |
tree | eeeee2bd7a4a5b0034fce3476a62cd6846363975 /src/torrent.c | |
parent | ca82978e8074c2afb54fb1ae420e2135b7bc420e (diff) |
minor
Diffstat (limited to 'src/torrent.c')
-rw-r--r-- | src/torrent.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/torrent.c b/src/torrent.c index 585c14b..032e9b7 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -222,21 +222,26 @@ gchar *torrent_get_status_string(gint64 value) gboolean torrent_has_tracker(JsonObject * t, GRegex * rx, gchar * search) { - JsonArray *trackers = torrent_get_trackers(t); - int i; + GList *trackers = json_array_get_elements(torrent_get_trackers(t)); + gboolean ret = FALSE; + GList *li; - for (i = 0; i < json_array_get_length(trackers); i++) { - JsonObject *tracker = json_array_get_object_element(trackers, i); + for (li = trackers; li; li = g_list_next(li)) { + JsonObject *tracker = json_node_get_object((JsonNode*)li->data); const gchar *trackerAnnounce = tracker_get_announce(tracker); gchar *trackerAnnounceHost = trg_gregex_get_first(rx, trackerAnnounce); int cmpResult = g_strcmp0(trackerAnnounceHost, search); g_free(trackerAnnounceHost); - if (cmpResult == 0) - return TRUE; + if (!cmpResult) { + ret = TRUE; + break; + } } - return FALSE; + g_list_free(trackers); + + return ret; } gint64 tracker_get_id(JsonObject * t) |