mldonkey-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/bittorr...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/bittorr...
Date: Mon, 16 Jan 2006 16:09:10 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Branch:         
Changes by:     spiralvoice <address@hidden>    06/01/16 16:09:10

Modified files:
        distrib        : ChangeLog 
        src/networks/bittorrent: bTGlobals.ml 

Log message:
        patch #4803

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/distrib/ChangeLog.diff?tr1=1.679&tr2=1.680&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/bittorrent/bTGlobals.ml.diff?tr1=1.48&tr2=1.49&r1=text&r2=text

Patches:
Index: mldonkey/distrib/ChangeLog
diff -u mldonkey/distrib/ChangeLog:1.679 mldonkey/distrib/ChangeLog:1.680
--- mldonkey/distrib/ChangeLog:1.679    Mon Jan 16 16:05:14 2006
+++ mldonkey/distrib/ChangeLog  Mon Jan 16 16:09:10 2006
@@ -15,6 +15,7 @@
 =========
 
 2006/01/16
+4803: BT: force uniqueness of added trackers by "trackers" command (pango)
 4801: EDK: add more server info fields (html and guiprot) (zet)
 4798: Fix thread recognition on *BSD
 
Index: mldonkey/src/networks/bittorrent/bTGlobals.ml
diff -u mldonkey/src/networks/bittorrent/bTGlobals.ml:1.48 
mldonkey/src/networks/bittorrent/bTGlobals.ml:1.49
--- mldonkey/src/networks/bittorrent/bTGlobals.ml:1.48  Mon Jan  9 00:25:58 2006
+++ mldonkey/src/networks/bittorrent/bTGlobals.ml       Mon Jan 16 16:09:10 2006
@@ -180,22 +180,29 @@
         file_temp);
   file_fd
 
-let set_trackers file file_trackers =
-  file.file_trackers <- (List.map (fun url -> {
-          tracker_url = url;
-          tracker_interval = 600;
-          tracker_min_interval = 600;
-          tracker_last_conn = 0;
-          tracker_last_clients_num = 0;
-          tracker_torrent_downloaded = 0;
-          tracker_torrent_complete = 0;
-          tracker_torrent_incomplete = 0;
-          tracker_torrent_total_clients_count = 0;
-          tracker_torrent_last_dl_req = 0;
-          tracker_id = "";
-          tracker_key = "";
-         tracker_enabled = true
-        } ) file_trackers) @ file.file_trackers
+let rec set_trackers file file_trackers =
+  match file_trackers with
+    | [] -> ()
+    | url :: q ->
+       if not (List.exists (fun tracker -> 
+                              tracker.tracker_url = url
+                           ) file.file_trackers) then 
+         file.file_trackers <- {
+            tracker_url = url;
+            tracker_interval = 600;
+            tracker_min_interval = 600;
+            tracker_last_conn = 0;
+            tracker_last_clients_num = 0;
+            tracker_torrent_downloaded = 0;
+            tracker_torrent_complete = 0;
+            tracker_torrent_incomplete = 0;
+            tracker_torrent_total_clients_count = 0;
+            tracker_torrent_last_dl_req = 0;
+            tracker_id = "";
+            tracker_key = "";
+           tracker_enabled = true
+          } :: file.file_trackers;
+       set_trackers file q
 
 let new_file file_id t torrent_diskname file_temp file_state =
   try




reply via email to

[Prev in Thread] Current Thread [Next in Thread]