--- /dev/null
+let read_until_newline ic () =
+ match input_line ic with
+ | exception End_of_file ->
+ None
+ | line ->
+ Some line
+
+let read_until_null ic =
+ let lexbuf = Lexing.from_channel ic in
+ fun () -> Input_delim.by_null lexbuf
+
+let lines ?(delim_null=false) ic =
+ let reader =
+ if delim_null then
+ read_until_null ic
+ else
+ read_until_newline ic
+ in
+ Stream.create reader