mldonkey-commits
[Top][All Lists]
Advanced

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

[Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/driver/dr...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/driver/dr...
Date: Sun, 26 Nov 2006 13:21:06 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       06/11/26 13:21:06

Modified files:
        distrib        : ChangeLog 
        src/daemon/driver: driverCommands.ml 

Log message:
        patch #5585

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1109&r2=1.1110
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverCommands.ml?cvsroot=mldonkey&r1=1.199&r2=1.200

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1109
retrieving revision 1.1110
diff -u -b -r1.1109 -r1.1110
--- distrib/ChangeLog   26 Nov 2006 13:19:31 -0000      1.1109
+++ distrib/ChangeLog   26 Nov 2006 13:21:06 -0000      1.1110
@@ -15,6 +15,7 @@
 =========
 
 2006/11/26
+5585: EDK: New parameter "all" for command "x" to disconnect all conn. servers
 5586: BT: Recognize Bitrocket clients
 
 2006/11/21

Index: src/daemon/driver/driverCommands.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverCommands.ml,v
retrieving revision 1.199
retrieving revision 1.200
diff -u -b -r1.199 -r1.200
--- src/daemon/driver/driverCommands.ml 21 Nov 2006 22:34:33 -0000      1.199
+++ src/daemon/driver/driverCommands.ml 26 Nov 2006 13:21:06 -0000      1.200
@@ -814,14 +814,41 @@
         ""
     ), "[<num>] :\t\t\t\tconnect to more servers (or to server <num>)";
 
-    "x", Arg_one (fun num o ->
+    "x", Arg_multiple (fun args o ->
+        let counter = ref 0 in
+        let is_connected state =
+          match state with
+          | Connecting
+          | Connected _
+          | Connected_initiating -> true
+          | _ -> false
+        in
+        let print_result v =
+            print_command_result o o.conn_buf
+             (Printf.sprintf (_b "Disconnected %d server%s") !counter 
(Printf2.print_plural_s !counter))
+        in
+        match args with
+        | ["all"] ->
+            Intmap.iter ( fun _ s ->
+              if is_connected (server_state s) then begin
+                server_disconnect s;
+                incr counter
+              end
+            ) !!servers;
+            print_result !counter;
+        ""
+        | _ ->
+            List.iter (fun num ->
         let num = int_of_string num in
         let s = server_find num in
-        (match server_state s with
-            NotConnected _ -> ()
-          | _ ->   server_disconnect s);
+                if is_connected (server_state s) then begin
+                  server_disconnect s;
+                  incr counter
+                end
+            ) args;
+            print_result !counter;
         ""
-    ), "<num> :\t\t\t\tdisconnect from server";
+    ), "<server numbers|all> :\t\t\t\tdisconnect from server(s)";
 
   ]
 




reply via email to

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