X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fgetter%2Fhttp_getter_misc.ml;h=b7b52bbf64309da80028b1b5cfd47fff7c31c615;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=4149d4603154337986c3f6d0c54f2db9ec68501c;hpb=9577234cdce1fea3f0090f954f15f897efd2394d;p=helm.git diff --git a/helm/ocaml/getter/http_getter_misc.ml b/helm/ocaml/getter/http_getter_misc.ml index 4149d4603..b7b52bbf6 100644 --- a/helm/ocaml/getter/http_getter_misc.ml +++ b/helm/ocaml/getter/http_getter_misc.ml @@ -289,6 +289,25 @@ let rec list_uniq = function | h1::tl (* when h1 <> h2 *) -> h1 :: list_uniq tl let extension s = - let idx = String.rindex s '.' in - String.sub s idx (String.length s - idx) + try + let idx = String.rindex s '.' in + String.sub s idx (String.length s - idx) + with Not_found -> "" + +let temp_file_of_uri uri = + let flat_string s s' c = + let cs = String.copy s in + for i = 0 to (String.length s) - 1 do + if String.contains s' s.[i] then cs.[i] <- c + done; + cs + in + let user = try Unix.getlogin () with _ -> "" in + Filename.open_temp_file (user ^ flat_string uri ".-=:;!?/&" '_') "" + +let backtick cmd = + let ic = Unix.open_process_in cmd in + let res = input_line ic in + ignore (Unix.close_process_in ic); + res