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/donkey/...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/donkey/...
Date: Thu, 09 Feb 2006 11:45:12 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Branch:         
Changes by:     spiralvoice <address@hidden>    06/02/09 11:45:12

Modified files:
        distrib        : ChangeLog 
        src/networks/donkey: donkeyMftp.ml 

Log message:
        patch #4894

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/distrib/ChangeLog.diff?tr1=1.725&tr2=1.726&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/donkey/donkeyMftp.ml.diff?tr1=1.12&tr2=1.13&r1=text&r2=text

Patches:
Index: mldonkey/distrib/ChangeLog
diff -u mldonkey/distrib/ChangeLog:1.725 mldonkey/distrib/ChangeLog:1.726
--- mldonkey/distrib/ChangeLog:1.725    Thu Feb  9 11:43:34 2006
+++ mldonkey/distrib/ChangeLog  Thu Feb  9 11:45:12 2006
@@ -15,6 +15,8 @@
 =========
 
 2006/02/09
+4894: EDK: Support "new ed2k meta tags" to allow browsing
+      shared directories of newer eMule clients (sam_dennis)
 4891: Configure: Override system-installed Ocaml and force local compile
   Use ./configure --enable-force-ocaml to force MLDonkey to compile Ocaml,
   regardless if the system has Ocaml already installed or not.
Index: mldonkey/src/networks/donkey/donkeyMftp.ml
diff -u mldonkey/src/networks/donkey/donkeyMftp.ml:1.12 
mldonkey/src/networks/donkey/donkeyMftp.ml:1.13
--- mldonkey/src/networks/donkey/donkeyMftp.ml:1.12     Thu Jan 19 00:44:47 2006
+++ mldonkey/src/networks/donkey/donkeyMftp.ml  Thu Feb  9 11:45:12 2006
@@ -147,9 +147,15 @@
 let get_string = get_string16
   
 let get_tag (names_of_tag : (string * field) list) s pos =
-  let t = get_uint8 s pos in
-  let name, pos2 = get_string s (pos+1) in
+  let t2 = get_uint8 s pos in
+  let name, pos2 = 
+    if t2 land 0x80 = 0x80 then
+      String.sub s (pos+1) 1, pos+2
+    else
+      get_string s (pos+1)
+  in
 (*  lprintf "tag name = %s" (String.escaped name);   *)
+  let t = t2 land 0x7f in
   let v, pos = match t with
     | 2 -> let v, pos = get_string s pos2 in
         String v, pos
@@ -161,6 +167,8 @@
         Uint16 v, pos2 + 2
     | 9 -> let v = get_uint8 s pos2 in
         Uint8 v, pos2 + 1
+    | _ when t >= 0x11 & t <= 0x20 -> let v = String.sub s pos2 (t-0x10) in
+        String v, pos2 + t - 0x10
     | _ -> 
         if !verbose_unknown_messages then
           lprintf "get_tags: unknown tag %d at pos %d\n" t pos;




reply via email to

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