]> matita.cs.unibo.it Git - helm.git/commitdiff
- probe: recursive removal of empty directories
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Wed, 20 Mar 2013 18:43:07 +0000 (18:43 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Wed, 20 Mar 2013 18:43:07 +0000 (18:43 +0000)
- matitadep: improved parsing of input

matita/components/binaries/matitadep/matitadep.ml
matita/components/binaries/probe/matitaRemove.ml

index da82b9fc1e92a7dad19e6fe238f0ca979449d990..de8f3d65db7a03d2f9f88b814890bb38ba00c599 100644 (file)
@@ -47,7 +47,7 @@ let check () =
    Hashtbl.iter iter graph 
 
 let rec read ich = 
-   let _ = Scanf.fscanf ich "%s@:include \"%s@\". " init in
+   let _ = Scanf.sscanf (input_line ich) "%s@:include \"%s@\"." init in
    read ich
    
 let _ =
index 1ef87a5ca16efd829c127ca20c104b3760cf64fc..0ad0cd1d4b3fcc67fda75c2d1f101b138dad5394 100644 (file)
@@ -17,10 +17,14 @@ module U = Unix
 module O = Options
 
 let remove_dir dir =
+   let map name = Y.remove (F.concat dir name) in
+   let rec rmdir dir =
+      U.rmdir dir; (* Sys.remove does not seem to remove empty directories *)
+      rmdir (F.dirname dir)
+   in
    if Y.file_exists dir then begin
-      let map name = Y.remove (F.concat dir name) in
       A.iter map (Y.readdir dir);
-      U.rmdir dir (* Sys.remove does not seem to remove empty directories *)
+      try rmdir dir with U.Unix_error _ -> ()
    end
 
 let objects () =