Move modules into dedicated files
[dups.git] / lib / in_channel.ml
diff --git a/lib/in_channel.ml b/lib/in_channel.ml
new file mode 100644 (file)
index 0000000..3581d0e
--- /dev/null
@@ -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
This page took 0.018082 seconds and 4 git commands to generate.