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/common/co...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co...
Date: Sat, 12 Aug 2006 20:36:14 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       06/08/12 20:36:14

Modified files:
        distrib        : ChangeLog 
        src/daemon/common: commonSwarming.ml commonUserDb.ml 
        src/daemon/driver: driverCommands.ml driverControlers.ml 
                           driverInteractive.ml driverInterface.ml 
        src/networks/bittorrent: bTComplexOptions.ml bTInteractive.ml 
        src/utils/cdk  : unix2.ml 

Log message:
        patch #5298

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.955&r2=1.956
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonSwarming.ml?cvsroot=mldonkey&r1=1.50&r2=1.51
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonUserDb.ml?cvsroot=mldonkey&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverCommands.ml?cvsroot=mldonkey&r1=1.162&r2=1.163
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverControlers.ml?cvsroot=mldonkey&r1=1.80&r2=1.81
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverInteractive.ml?cvsroot=mldonkey&r1=1.92&r2=1.93
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverInterface.ml?cvsroot=mldonkey&r1=1.51&r2=1.52
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTComplexOptions.ml?cvsroot=mldonkey&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTInteractive.ml?cvsroot=mldonkey&r1=1.102&r2=1.103
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/cdk/unix2.ml?cvsroot=mldonkey&r1=1.30&r2=1.31

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.955
retrieving revision 1.956
diff -u -b -r1.955 -r1.956
--- distrib/ChangeLog   12 Aug 2006 18:43:05 -0000      1.955
+++ distrib/ChangeLog   12 Aug 2006 20:36:14 -0000      1.956
@@ -15,6 +15,7 @@
 =========
 
 2006/08/12
+5298: Some internal changes moved from multiuser patch to CVS
 5285: GUI: Self-test en-/decoding only down to protocol 24 to solve
       crash when system date is wrong
 5297: Force conversion of allowed_ips to IP blocklist when $MLDONKEY_DIR

Index: src/daemon/common/commonSwarming.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonSwarming.ml,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- src/daemon/common/commonSwarming.ml 10 Aug 2006 17:41:19 -0000      1.50
+++ src/daemon/common/commonSwarming.ml 12 Aug 2006 20:36:14 -0000      1.51
@@ -2093,16 +2093,6 @@
                        else acc) 0 t.t_blocks_of_chunk.(chunk)) (t.t_num, i))
              ) 0 s.s_networks) i in
 
-       let memoize_completed_blocks_in_chunk = Hashtbl.create 17 in
-       let completed_blocks_in_chunk i = 
-         assert(i >= 0 && i < my_t.t_nchunks);
-         memoize memoize_completed_blocks_in_chunk
-           (fun i ->
-              List.fold_left (fun acc b ->
-               if VB.get s.s_verified_bitmap b = VB.State_complete then acc + 1
-               else acc
-              ) 0 my_t.t_blocks_of_chunk.(i)) i in
-
        let preview_beginning = 10000000L in
        let preview_end = (s.s_size ** 98L) // 100L in
 
@@ -2138,7 +2128,7 @@
        let choice_num choice =
          choice.choice_num in
 
-       let choice_block choice =
+       let _choice_block choice =
          choice.choice_block in
 
        let choice_user_priority choice =

Index: src/daemon/common/commonUserDb.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonUserDb.ml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/daemon/common/commonUserDb.ml   19 May 2006 23:43:54 -0000      1.4
+++ src/daemon/common/commonUserDb.ml   12 Aug 2006 20:36:14 -0000      1.5
@@ -39,6 +39,8 @@
 
 let admin_user = "admin"
 
+let user2_is_admin user = user = admin_user
+
 let blank_password = Md4.string ""
 
 module UserOption = struct

Index: src/daemon/driver/driverCommands.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverCommands.ml,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -b -r1.162 -r1.163
--- src/daemon/driver/driverCommands.ml 8 Aug 2006 23:59:02 -0000       1.162
+++ src/daemon/driver/driverCommands.ml 12 Aug 2006 20:36:14 -0000      1.163
@@ -325,13 +325,13 @@
     ), ":\t\t\t\t\t$bclose telnet$n";
 
     "kill", Arg_none (fun o ->
-        if o.conn_user == default_user then
+        if user2_is_admin o.conn_user.ui_user_name then
          begin
             CommonInteractive.clean_exit 0;
            _s "exit"
          end
         else
-          _s "Only 'admin' is allowed to kill MLDonkey"
+          _s "You are not allowed to kill MLDonkey"
         ), ":\t\t\t\t\t$bsave and kill the server$n";
 
     "urladd", Arg_two (fun kind url o ->
@@ -420,35 +420,13 @@
     ), "<num> :\t\t\t\tview client (use arg 'all' for all clients)";
 
     "version", Arg_none (fun o ->
-        let buf = o.conn_buf in
-        let version = CommonGlobals.version () in
-        if o.conn_output = HTML then
-          begin
-            Printf.bprintf buf "\\<div class=\\\"cs\\\"\\>";
-            html_mods_table_header buf "versionTable" "results" [];
-            Printf.bprintf buf "\\<tr\\>";
-            html_mods_td buf [ ("", "srh", version); ];
-            Printf.bprintf buf "\\</tr\\>\\</table\\>\\</div\\>\\</div\\>";
-          end
-        else
-            Printf.bprintf buf "%s" version;
+       print_command_result o o.conn_buf (CommonGlobals.version ());
         ""
     ), ":\t\t\t\tprint mldonkey version";
 
     "uptime", Arg_none (fun o ->
-        let buf = o.conn_buf in
-        let uptime = log_time () ^ "- up " ^
-         Date.time_to_string (last_time () - start_time) "verbose" in
-        if o.conn_output = HTML then
-          begin
-            Printf.bprintf buf "\\<div class=\\\"cs\\\"\\>";
-            html_mods_table_header buf "versionTable" "results" [];
-            Printf.bprintf buf "\\<tr\\>";
-            html_mods_td buf [ ("", "srh", uptime); ];
-            Printf.bprintf buf "\\</tr\\>\\</table\\>\\</div\\>\\</div\\>";
-          end
-        else
-            Printf.bprintf buf "%s" uptime;
+       print_command_result o o.conn_buf (log_time () ^ "- up " ^
+         Date.time_to_string (last_time () - start_time) "verbose");
         ""
     ), ":\t\t\t\tcore uptime";
 
@@ -1336,7 +1314,7 @@
     [
 
     "set", Arg_two (fun name value o ->
-       if (o.conn_user == default_user) || !!enable_user_config then begin
+       if user2_is_admin o.conn_user.ui_user_name then begin
         try
           try
             CommonInteractive.set_fully_qualified_options name value;
@@ -1349,7 +1327,7 @@
             Printf.sprintf "Error %s" (Printexc2.to_string e)
          end
        else
-         _s "Only 'admin' is allowed to change options"
+         _s "You are not allowed to change options"
     ), "<option_name> <option_value> :\t$bchange option value$n";
 
     "save", Arg_multiple (fun args o ->
@@ -1380,14 +1358,17 @@
 \\<table cellspacing=0 cellpadding=0  width=100%%\\>\\<tr\\>
 \\<td class=downloaded width=100%%\\>\\</td\\>
 \\<td nowrap title=\\\"Show shares Tab (also related for incoming 
directory)\\\" class=\\\"fbig fbigpad\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=shares'\\\"\\>Shares\\</a\\>\\</td\\>
-\\<td nowrap title=\\\"Show users Tab where you can add/remove Users\\\" 
class=\\\"fbig fbigpad\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=users'\\\"\\>Users\\</a\\>\\</td\\>
+%s
 \\<td nowrap title=\\\"Show Web_infos Tab where you can add/remove automatic 
downloads like serverlists\\\" class=\\\"fbig fbigpad\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=vwi'\\\"\\>Web 
infos\\</a\\>\\</td\\>
 \\<td nowrap title=\\\"Show Calendar Tab, there are informations about 
automatically jobs\\\" class=\\\"fbig fbigpad\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=vcal'\\\"\\>Calendar\\</a\\>\\</td\\>
 \\<td nowrap title=\\\"Change to simple Webinterface without html_mods\\\" 
class=\\\"fbig fbigpad\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=html_mods'\\\"\\>Toggle 
html_mods\\</a\\>\\</td\\>
 \\<td nowrap title=\\\"voo\\\" class=\\\"fbig pr fbigpad\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=voo+1'\\\"\\>Full 
Options\\</a\\>\\</td\\>
 \\</tr\\>\\</table\\>
 \\</td\\>\\</tr\\>
-\\<tr\\>\\<td\\>";
+\\<tr\\>\\<td\\>"
+(if (user2_is_admin o.conn_user.ui_user_name) then
+  "\\<td nowrap title=\\\"Show users Tab where you can add/remove Users\\\" 
class=\\\"fbig fbigpad\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=users'\\\"\\>Users\\</a\\>\\</td\\>"
+ else "");
 
             list_options_html o  (
               [
@@ -1728,7 +1709,7 @@
 \\<table cellspacing=0 cellpadding=0  width=100%%\\>\\<tr\\>
 \\<td class=downloaded width=100%%\\>\\</td\\>
 \\<td nowrap title=\\\"Show shares Tab (also related for incoming 
directory)\\\" class=\\\"fbig fbigb\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=shares'\\\"\\>Shares\\</a\\>\\</td\\>
-\\<td nowrap title=\\\"Show users Tab where you can add/remove Users\\\" 
class=\\\"fbig fbigb\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=users'\\\"\\>Users\\</a\\>\\</td\\>
+%s
 \\<td nowrap title=\\\"Show Web_infos Tab where you can add/remove automatic 
downloads like serverlists\\\" class=\\\"fbig fbigb\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=vwi'\\\"\\>Web 
infos\\</a\\>\\</td\\>
 \\<td nowrap title=\\\"Show Calendar Tab, there are informations about 
automatically jobs\\\" class=\\\"fbig fbigb\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=vcal'\\\"\\>Calendar\\</a\\>\\</td\\>
 \\<td nowrap class=\\\"fbig fbigb pr\\\"\\>
@@ -1736,7 +1717,10 @@
 action=\\\"javascript:submitHtmlModsStyle();\\\"\\>
 \\<select id=\\\"modsStyle\\\" name=\\\"modsStyle\\\"
 style=\\\"padding: 0px; font-size: 10px; font-family: verdana\\\" 
onchange=\\\"this.form.submit()\\\"\\>
-\\<option value=\\\"0\\\"\\>style/theme\n";
+\\<option value=\\\"0\\\"\\>style/theme\n"
+(if (user2_is_admin o.conn_user.ui_user_name) then
+  "\\<td nowrap title=\\\"Show users Tab where you can add/remove Users\\\" 
class=\\\"fbig fbigb\\\"\\>\\<a 
onclick=\\\"javascript:window.location.href='submit?q=users'\\\"\\>Users\\</a\\>\\</td\\>"
+ else "");
 
             Array.iteri (fun i style ->
                 Printf.bprintf buf "\\<option 
value=\\\"%d\\\"\\>%s\\</option\\>\n" i style.style_name
@@ -2704,7 +2688,7 @@
             let list = List2.tail_map file_info !!files in
             DriverInteractive.display_file_list buf o list;
             ""
-    ), "<num> :\t\t\t\t$bview file info$n";
+    ), "[<num>|queued|paused|downloading] :\t\t\t\t$bview file info for 
download <num>, or lists of queued, paused or downloading files, or all 
downloads if no argument given$n";
 
     "preview", Arg_one (fun arg o ->
 
@@ -2869,15 +2853,9 @@
     ), ":\t\t\t\t\tprint users";
 
     "whoami", Arg_none (fun o ->
-        let buf = o.conn_buf in
-       let whoami = o.conn_user.ui_user_name in
-        if use_html_mods o then
-          html_mods_table_one_row buf "serversTable" "servers" [
-            ("", "srh", whoami); ]
-        else
-          Printf.bprintf buf "%s" whoami;
+       print_command_result o o.conn_buf o.conn_user.ui_user_name;
         _s ""
-    ), ":\t\t\t\tprint logged-in user name";
+    ), "\t\t\t\tprint logged-in user name";
   ]
 
 

Index: src/daemon/driver/driverControlers.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverControlers.ml,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -b -r1.80 -r1.81
--- src/daemon/driver/driverControlers.ml       10 Aug 2006 17:41:19 -0000      
1.80
+++ src/daemon/driver/driverControlers.ml       12 Aug 2006 20:36:14 -0000      
1.81
@@ -143,7 +143,7 @@
           Printf.bprintf buf "\\<tr class=\\\"dl-1\\\"\\>";
           html_mods_td buf [
             ("", "sr", "< > : required parameter");
-            ("", "sr", "[< >] : optionnal parameter");
+            ("", "sr", "[< >] : optional parameter");
             ("", "sr", "< 1 | 2 > : alternative parameter"); ];
           Printf.bprintf buf "\\</table\\>\\</div\\>\\</div\\>"
         end else
@@ -317,7 +317,10 @@
             o.conn_user <- find_ui_user user;
             if not !verbose_no_login then lprintf_nl "Authenticated user: %s" 
user;
             let module M = CommonMessages in
-            Buffer.add_string buf M.full_access
+            Buffer.add_string buf M.full_access;
+            (match DriverInteractive.real_startup_message () with
+               Some s -> Buffer.add_string buf s;
+             | None -> ());
           end else
         let module M = CommonMessages in
         Buffer.add_string buf M.bad_login
@@ -604,9 +607,6 @@
         before_telnet_output o sock;
         TcpBufferedSocket.write_string sock
           (Printf.sprintf "Welcome to MLDonkey %s\n" Autoconf.current_version);
-       (match DriverInteractive.real_startup_message () with
-          Some s -> TcpBufferedSocket.write_string sock (s);
-        | None -> ());
 
         TcpBufferedSocket.write_string sock (dollar_escape o false
             "$cWelcome on mldonkey command-line$n\n\nUse $r?$n for help\n\n");
@@ -1092,6 +1092,7 @@
             Buffer.add_string buf (Printf.sprintf "<br><div 
align=\"center\"><h3>%s %s</h3></div>"
              (Printf.sprintf (_b "Welcome to MLDonkey")) 
Autoconf.current_version);
            if !!motd_html <> "" then Buffer.add_string buf !!motd_html;
+           if user2_is_admin o.conn_user.ui_user_name then
            (match DriverInteractive.real_startup_message () with
               Some s -> Buffer.add_string buf (Printf.sprintf 
"<p><pre><b><h3>%s</b></h3></pre>" s);
             | None -> ())
@@ -1391,7 +1392,7 @@
                       Buffer.add_string buf "Option value changed"
                    end
                  else
-                    Buffer.add_string buf "Only 'admin' is allowed to change 
options"
+                    Buffer.add_string buf "You are not allowed to change 
options"
 
               | args ->
                   List.iter (fun (s,v) ->

Index: src/daemon/driver/driverInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverInteractive.ml,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -b -r1.92 -r1.93
--- src/daemon/driver/driverInteractive.ml      12 Aug 2006 18:14:03 -0000      
1.92
+++ src/daemon/driver/driverInteractive.ml      12 Aug 2006 20:36:14 -0000      
1.93
@@ -2174,3 +2174,10 @@
       dllink_query_networks html (Printf.sprintf "Location: %s" url)
     else
       dllink_query_networks html url
+
+let print_command_result o buf result =
+  if use_html_mods o then
+    html_mods_table_one_row buf "serversTable" "servers" [
+      ("", "srh", result); ]
+  else
+    Printf.bprintf buf "%s" result

Index: src/daemon/driver/driverInterface.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverInterface.ml,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -b -r1.51 -r1.52
--- src/daemon/driver/driverInterface.ml        27 Jul 2006 21:45:05 -0000      
1.51
+++ src/daemon/driver/driverInterface.ml        12 Aug 2006 20:36:14 -0000      
1.52
@@ -470,19 +470,9 @@
         P.Options_info (simple_options "" downloads_ini));
       networks_iter_all (fun r ->
           List.iter (fun opfile ->
-(*
-lprintf "options for net %s\n" r.network_name; 
-*)
               let prefix = r.network_shortname ^ "-" in
               let args = simple_options prefix opfile in
-(*
-lprintf "Sending for %s\n" prefix; 
- *)
-              gui_send gui (P.Options_info args)
-(*                            lprintf "sent for %s\n" prefix; *)
-          )
-          r.network_config_file 
-      );
+              gui_send gui (P.Options_info args)) r.network_config_file);
 
 (* Options panels defined in downloads.ini *)
       List.iter (fun s ->
@@ -623,14 +613,14 @@
               ) list
           
           | P.SetOption (name, value) ->
-             if (gui.gui_conn.conn_user == default_user) || 
!!enable_user_config then
+             if user2_is_admin gui.gui_conn.conn_user.ui_user_name || 
!!enable_user_config then
                CommonInteractive.set_fully_qualified_options name value
              else
                begin
                   let o = gui.gui_conn in
                   let buf = o.conn_buf in
                   Buffer.reset buf; 
-                  Buffer.add_string buf "\nOnly 'admin' is allowed to change 
options\n";
+                  Buffer.add_string buf "\nYou are not allowed to change 
options\n";
                   gui_send gui (P.Console (
                       DriverControlers.dollar_escape o false
                         (Buffer.contents buf)))
@@ -680,14 +670,14 @@
                     network_extend_search r s e)
           
           | P.KillServer -> 
-             if gui.gui_conn.conn_user == default_user then
+             if user2_is_admin gui.gui_conn.conn_user.ui_user_name then
                CommonInteractive.clean_exit 0
              else
                begin
                   let o = gui.gui_conn in
                   let buf = o.conn_buf in
                   Buffer.reset buf; 
-                  Buffer.add_string buf "\nOnly 'admin' is allowed to kill 
MLDonkey\n";
+                  Buffer.add_string buf "\nYou are not allowed to kill 
MLDonkey\n";
                   gui_send gui (P.Console (
                       DriverControlers.dollar_escape o false
                         (Buffer.contents buf)))
@@ -727,36 +717,16 @@
                   then
                     
                     r.op_network_search search buf);
-(*
-        search.op_search_end_reply_handlers <- 
-          (fun _ -> send_waiting gui num search.search_waiting) ::
-search.op_search_end_reply_handlers;
-  *)
           
           | P.Download_query (filenames, num, force) ->
-              begin
                 let r = find_result num in
                 let files = result_download r filenames force in
                 List.iter CommonInteractive.start_download files
-              end
           
           | P.ConnectMore_query ->
               networks_iter network_connect_servers
           
           | P.Url url ->
-              (* changed with the new header-check code from dllink, but i
-                 didn't care about the read from file functionality that
-                 perhaps worked before:
-              
-              if not (networks_iter_until_true (fun n -> network_parse_url n 
url)) then
-                begin
-                  let file = File.to_string url in
-                  let lines = String2.split_simplify file '\n' in
-                  List.iter (fun line ->
-                      ignore (networks_iter_until_true (fun n -> 
network_parse_url n line))
-                  ) lines
-                end
-              *)
               let query_networks url = 
                 if not (networks_iter_until_true
                     (fun n ->
@@ -897,8 +867,7 @@
               let c = client_find num in
               client_connect c
           
-          | P.DisconnectClient num
-            ->
+          | P.DisconnectClient num ->
               let c = client_find num in
               client_disconnect c
           

Index: src/networks/bittorrent/bTComplexOptions.ml
===================================================================
RCS file: 
/sources/mldonkey/mldonkey/src/networks/bittorrent/bTComplexOptions.ml,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- src/networks/bittorrent/bTComplexOptions.ml 25 May 2006 19:47:25 -0000      
1.34
+++ src/networks/bittorrent/bTComplexOptions.ml 12 Aug 2006 20:36:14 -0000      
1.35
@@ -41,10 +41,6 @@
     let value_to_stat v =
       match v with
         Options.Module assocs ->
-          let get_value name conv = conv (List.assoc name assocs) in
-          let get_value_nil name conv =
-            try conv (List.assoc name assocs) with _ -> []
-          in
           {
             brand_seen = value_to_int (List.assoc "seen" assocs);
             brand_banned = value_to_int (List.assoc "banned" assocs);
@@ -75,9 +71,6 @@
       | Module assocs ->
 
           let get_value name conv = conv (List.assoc name assocs) in
-          let get_value_nil name conv =
-            try conv (List.assoc name assocs) with _ -> []
-          in
           let client_ip = get_value "client_ip" (from_value Ip.option)
           in
           let client_port = get_value "client_port" value_to_int in
@@ -103,10 +96,6 @@
 
 let value_to_file file_size file_state assocs =
   let get_value name conv = conv (List.assoc name assocs) in
-  let get_value_nil name conv =
-    try conv (List.assoc name assocs) with _ -> []
-  in
-
   let file_trackers =
     try
       get_value "file_trackers" (value_to_list value_to_string)

Index: src/networks/bittorrent/bTInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTInteractive.ml,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -b -r1.102 -r1.103

Index: src/utils/cdk/unix2.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/utils/cdk/unix2.ml,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- src/utils/cdk/unix2.ml      16 Jun 2006 16:53:19 -0000      1.30
+++ src/utils/cdk/unix2.ml      12 Aug 2006 20:36:14 -0000      1.31
@@ -114,10 +114,8 @@
       try
         Unix.mkdir dir 0o775
       with
-          e -> 
-           lprintf_nl "error %s for directory %s" (Printexc2.to_string e) dir;
-           exit 73
-    
+       Unix.Unix_error (EEXIST, _, _) -> ()
+      | e -> lprintf_nl "error %s for directory %s" (Printexc2.to_string e) 
dir; exit 73
     
 (* same as in downloadClient.ml *)
 let rec really_write fd s pos len =




reply via email to

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