]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/getter/http_getter_misc.ml
- changes defaults of getxml (format gzipped, don't patch dtd)
[helm.git] / helm / ocaml / getter / http_getter_misc.ml
index b25a425805ad9c6a29cda92c83cd87aff2af496d..c1f21512eb289b78305355071e3b949fa70fe2c9 100644 (file)
@@ -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 [])