X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgetter%2Fhttp_getter_storage.ml;h=77bfe138da3450d9a484fdf2a6e8681b591d7e83;hb=99727f61d0a718e34d4282f9b9b45fce4336af84;hp=3650d79b95f0bc9b492271a4ea35db4d64e150eb;hpb=ee3f8d6fa92b051394a2ff7c71c03ac33a05182b;p=helm.git diff --git a/helm/software/components/getter/http_getter_storage.ml b/helm/software/components/getter/http_getter_storage.ml index 3650d79b9..77bfe138d 100644 --- a/helm/software/components/getter/http_getter_storage.ml +++ b/helm/software/components/getter/http_getter_storage.ml @@ -80,7 +80,10 @@ let is_file_schema url = Pcre.pmatch ~rex:file_scheme_RE url let is_http_schema url = Pcre.pmatch ~rex:http_scheme_RE url let is_empty_listing files = - List.for_all (fun s -> s.[String.length s - 1] = '/') files + List.for_all + (fun s -> + let len = String.length s in + len < 4 || String.sub s (len - 4) 4 <> ".xml") files (************************* GLOBALS PREFIXES **********************************) @@ -295,7 +298,10 @@ let exists s = with Resource_not_found _ -> false let resolve ?(must_exists=true) ~writable = - dispatch_single + (if must_exists then + dispatch_multi + else + dispatch_single) { write = writable; name="resolve"; exists = must_exists;