X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fgetter%2Fhttp_getter_misc.ml;h=c1f21512eb289b78305355071e3b949fa70fe2c9;hb=52fdcda3e0083391fa04a064f3e07279d975d5ba;hp=b25a425805ad9c6a29cda92c83cd87aff2af496d;hpb=f693e2de79c1a95422a5efd22acbcea5003eeaba;p=helm.git diff --git a/helm/ocaml/getter/http_getter_misc.ml b/helm/ocaml/getter/http_getter_misc.ml index b25a42580..c1f21512e 100644 --- a/helm/ocaml/getter/http_getter_misc.ml +++ b/helm/ocaml/getter/http_getter_misc.ml @@ -61,6 +61,19 @@ let fold_file f init fname = let iter_file f = fold_file (fun line _ -> f line) () +let iter_buf_size = 10240 + +let iter_file_data f fname = + let ic = open_in fname in + let buf = String.create iter_buf_size in + try + while true do + let bytes = input ic buf 0 iter_buf_size in + if bytes = 0 then raise End_of_file; + f (String.sub buf 0 bytes) + done + with End_of_file -> close_in ic + let hashtbl_sorted_fold f tbl init = let sorted_keys = List.sort compare (Hashtbl.fold (fun key _ keys -> key::keys) tbl [])