summaryrefslogtreecommitdiff
path: root/src/torrent.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-04-24 09:58:32 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-04-24 09:58:32 +0000
commitf75912afd2d89d7dd8a71e7450774c122f9161f5 (patch)
treeeeeee2bd7a4a5b0034fce3476a62cd6846363975 /src/torrent.c
parentca82978e8074c2afb54fb1ae420e2135b7bc420e (diff)
minor
Diffstat (limited to 'src/torrent.c')
-rw-r--r--src/torrent.c19
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)