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: Wed, 25 Jul 2007 19:25:48 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       07/07/25 19:25:48

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

Log message:
        patch #6085

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1302&r2=1.1303
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTComplexOptions.ml?cvsroot=mldonkey&r1=1.40&r2=1.41
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTGlobals.ml?cvsroot=mldonkey&r1=1.80&r2=1.81
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTInteractive.ml?cvsroot=mldonkey&r1=1.141&r2=1.142
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTTorrent.ml?cvsroot=mldonkey&r1=1.13&r2=1.14

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1302
retrieving revision 1.1303
diff -u -b -r1.1302 -r1.1303
--- distrib/ChangeLog   9 Jul 2007 23:50:54 -0000       1.1302
+++ distrib/ChangeLog   25 Jul 2007 19:25:47 -0000      1.1303
@@ -14,6 +14,11 @@
 ChangeLog
 =========
 
+2007/07/25
+6085: BT: Improve UTF8 support
+- parse field "encoding"
+- use field "name.utf8" instead of "name", if available
+
 2007/07/10
 5996: BT: Recognize more client types (orbit)
 6065: DirectConnect: Support dc++ hublist in web_infos

Index: src/networks/bittorrent/bTComplexOptions.ml
===================================================================
RCS file: 
/sources/mldonkey/mldonkey/src/networks/bittorrent/bTComplexOptions.ml,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- src/networks/bittorrent/bTComplexOptions.ml 17 Jun 2007 01:28:25 -0000      
1.40
+++ src/networks/bittorrent/bTComplexOptions.ml 25 Jul 2007 19:25:48 -0000      
1.41
@@ -114,7 +114,6 @@
     with _ ->
 
         let file_name = get_value "file_name" value_to_string in
-        let file_name_utf8 = Charset.to_utf8 file_name in
         let file_comment = try get_value "file_comment" value_to_string with 
Not_found -> "" in
         let file_id =
           try
@@ -151,7 +150,7 @@
         let torrent = {
             torrent_name = file_name;
             torrent_filename = "";
-            torrent_name_utf8 = file_name_utf8;
+            torrent_name_utf8 = file_name;
             torrent_comment = file_comment;
             torrent_pieces = file_chunks;
             torrent_piece_size = file_piece_size;

Index: src/networks/bittorrent/bTGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTGlobals.ml,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -b -r1.80 -r1.81
--- src/networks/bittorrent/bTGlobals.ml        9 Jul 2007 23:50:54 -0000       
1.80
+++ src/networks/bittorrent/bTGlobals.ml        25 Jul 2007 19:25:48 -0000      
1.81
@@ -270,7 +270,7 @@
           file_file = file_impl;
           file_piece_size = t.torrent_piece_size;
           file_id = file_id;
-          file_name = Charset.safe_convert t.torrent_encoding t.torrent_name;
+          file_name = t.torrent_name;
           file_comment = t.torrent_comment;
           file_created_by = t.torrent_created_by;
           file_creation_date = t.torrent_creation_date;

Index: src/networks/bittorrent/bTInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTInteractive.ml,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -b -r1.141 -r1.142
--- src/networks/bittorrent/bTInteractive.ml    3 Jul 2007 14:13:44 -0000       
1.141
+++ src/networks/bittorrent/bTInteractive.ml    25 Jul 2007 19:25:48 -0000      
1.142
@@ -180,7 +180,7 @@
   Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-%d\\\"\\>" (html_mods_cntr 
());
   html_mods_td buf [
     ("Filename", "sr br", "Filename");
-    ("", "sr", (Charset.safe_convert file.file_encoding file.file_name)) ];
+    ("", "sr", file.file_name) ];
 
   Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-%d\\\"\\>" (html_mods_cntr 
());
   html_mods_td buf [
@@ -216,7 +216,7 @@
 
   html_mods_td buf [
     ("Torrent Filename", "sr br", "Torrent Fname");
-    ("", "sr", (Charset.safe_convert file.file_encoding 
file.file_torrent_diskname)) ];
+    ("", "sr", file.file_torrent_diskname) ];
 
   Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-%d\\\"\\>" (html_mods_cntr 
());
 
@@ -224,14 +224,14 @@
     ("Comment", "sr br", "Comment");
     ("", "sr", match file.file_comment with
         "" -> "-"
-      | _ -> (Charset.safe_convert file.file_encoding file.file_comment)) ];
+      | _ -> file.file_comment) ];
 
   Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-%d\\\"\\>" (html_mods_cntr 
());
   html_mods_td buf [
     ("Created by", "sr br", "Created by");
     ("", "sr", match file.file_created_by with
         "" -> "-"
-      | _ -> (Charset.safe_convert file.file_encoding file.file_created_by)) ];
+      | _ -> file.file_created_by) ];
 
   Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-%d\\\"\\>" (html_mods_cntr 
());
   html_mods_td buf [
@@ -243,7 +243,7 @@
     ("Modified by", "sr br", "Modified by");
     ("", "sr", match file.file_modified_by with
         "" -> "-"
-      | _ -> (Charset.safe_convert file.file_encoding file.file_modified_by)) 
];
+      | _ -> file.file_modified_by) ];
 
   Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-%d\\\"\\>" (html_mods_cntr 
());
   html_mods_td buf [
@@ -372,16 +372,13 @@
         Printf.bprintf buf "%s, disabled (try %d): %s\n" tracker.tracker_url i 
s
     | _ -> Printf.bprintf buf "%s\n" tracker.tracker_url
   ) file.file_trackers;
-  let s = Charset.safe_convert file.file_encoding file.file_torrent_diskname in
-  if s <> "" then Printf.bprintf buf "Torrent diskname: %s\n" s;
-  let s = Charset.safe_convert file.file_encoding file.file_comment in
-  if s <> "" then Printf.bprintf buf "Comment: %s\n" s;
-  let s = Charset.safe_convert file.file_encoding file.file_created_by in
-  if s <> "" then Printf.bprintf buf "Created by %s\n" s;
+  if file.file_torrent_diskname <> "" then
+    Printf.bprintf buf "Torrent diskname: %s\n" file.file_torrent_diskname;
+  if file.file_comment <> "" then Printf.bprintf buf "Comment: %s\n" 
file.file_comment;
+  if file.file_created_by <> "" then Printf.bprintf buf "Created by %s\n" 
file.file_created_by;
   let s = Date.to_string (Int64.to_float file.file_creation_date) in
   if s <> "" then Printf.bprintf buf "Creation date: %s\n" s;
-  let s = Charset.safe_convert file.file_encoding file.file_modified_by in
-  if s <> "" then Printf.bprintf buf "Modified by %s\n" s;
+  if file.file_modified_by <> "" then Printf.bprintf buf "Modified by %s\n" 
file.file_modified_by;
   if file.file_encoding <> "" then Printf.bprintf buf "Encoding: %s\n" 
file.file_encoding;
   if file.file_files <> [] then Printf.bprintf buf "Subfiles: %d\n" 
(List.length file.file_files);
   let cntr = ref 0 in
@@ -634,6 +631,7 @@
 
 
 let load_torrent_string s user =
+  if !verbose then lprintf_nl "load_torrent_string";
   let file_id, torrent = BTTorrent.decode_torrent s in
 
   (* Save the torrent, because we later want to put

Index: src/networks/bittorrent/bTTorrent.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTTorrent.ml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- src/networks/bittorrent/bTTorrent.ml        9 Jul 2007 23:44:34 -0000       
1.13
+++ src/networks/bittorrent/bTTorrent.ml        25 Jul 2007 19:25:48 -0000      
1.14
@@ -70,7 +70,7 @@
   let file_info = ref (List []) in
   let file_name = ref "" in
   let file_torrent_filename = ref "" in
-  let file_name_utf8 = ref "" in
+  let file_name_utf8 = ref None in
   let file_piece_size = ref zero in
   let file_pieces = ref "" in
   let file_comment = ref "" in
@@ -204,7 +204,7 @@
                       file_created_by := !file_created_by ^ " @ " ^ 
publisher_url
 
                     | String "name.utf-8", String name_utf8 ->
-                        file_name_utf8 := name_utf8
+                        file_name_utf8 := Some name_utf8
 
                     | String "publisher.utf-8", String publisher_utf8 -> ()
                     | String "publisher-url.utf-8", String publisher_url_utf8 
-> ()
@@ -271,8 +271,13 @@
     | _ -> assert false
   end;
 
+  let real_file_name =
+    match !file_name_utf8 with
+    | None -> Charset.safe_convert !file_encoding !file_name
+    | Some name -> name
+  in
   assert (!announce <> "");
-  assert (!file_name <> "");
+  assert (real_file_name <> "");
   assert (!file_piece_size <> zero);
   assert (!file_pieces <> "");
   assert (!file_info = Bencode.decode (Bencode.encode !file_info));
@@ -291,19 +296,19 @@
   | _ -> file_files := List.rev !file_files);
 
   file_id, {
-    torrent_name = !file_name;
+    torrent_name = real_file_name;
     torrent_filename = !file_torrent_filename;
-    torrent_name_utf8 = !file_name_utf8;
+    torrent_name_utf8 = real_file_name;
     torrent_length = !length;
     torrent_announce = !announce;
     torrent_announce_list = !announce_list;
     torrent_piece_size = !file_piece_size;
     torrent_files = !file_files;
     torrent_pieces = pieces;
-    torrent_comment = !file_comment;
-    torrent_created_by = !file_created_by;
+    torrent_comment = Charset.safe_convert !file_encoding !file_comment;
+    torrent_created_by = Charset.safe_convert !file_encoding !file_created_by;
     torrent_creation_date = !file_creation_date;
-    torrent_modified_by = !file_modified_by;
+    torrent_modified_by = Charset.safe_convert !file_encoding 
!file_modified_by;
     torrent_encoding = !file_encoding;
     torrent_private = !file_is_private;
 




reply via email to

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