X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Fextlib%2FhExtlib.ml;h=c32ed0bed9b5d6daac98063553aa56e50445de70;hb=fa0347cc0a604ba8743da9479117e1f13ab60482;hp=2fba7f651497a532af8db1445cdc12d25dcea302;hpb=e5141edaab98baafa31173da8164fa5d87b808c5;p=helm.git diff --git a/components/extlib/hExtlib.ml b/components/extlib/hExtlib.ml index 2fba7f651..c32ed0bed 100644 --- a/components/extlib/hExtlib.ml +++ b/components/extlib/hExtlib.ml @@ -438,7 +438,7 @@ let normalize_path s = let find_in paths path = let rec aux = function - | [] -> raise (Failure "not found") + | [] -> raise (Failure "find_in") | p :: tl -> let path = normalize_path (p ^ "/" ^ path) in try @@ -450,7 +450,19 @@ let find_in paths path = aux paths with Unix.Unix_error _ | Failure _ -> raise - (Failure ("File " ^ path ^ " not found (or not readable) in: " ^ - String.concat ":" paths)) + (Failure "find_in") ;; +let is_prefix_of d1 d2 = + let len1 = String.length d1 in + let len2 = String.length d2 in + if len2 < len1 then + false + else + let pref = String.sub d2 0 len1 in + pref = d1 && (len1 = len2 || d2.[len1] = '/') +;; + +let touch s = + try close_out(open_out s) with Sys_error _ -> () +;;