X-Git-Url: https://git.xandkar.net/?p=dups.git;a=blobdiff_plain;f=lib%2Fin_channel.ml;fp=lib%2Fin_channel.ml;h=3581d0e75bb47d3fd04a42c582b584f3b149fb2b;hp=0000000000000000000000000000000000000000;hb=ddcbda0046a598d55746850e15d4fa99b3998ce0;hpb=21e1d14c1e23d2c586ebe1480add8e9d87e7ad7a diff --git a/lib/in_channel.ml b/lib/in_channel.ml new file mode 100644 index 0000000..3581d0e --- /dev/null +++ b/lib/in_channel.ml @@ -0,0 +1,19 @@ +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