Fix csvtool call to support '-' notation for reading from stdin.
authorrich <rich>
Tue, 5 Dec 2006 22:40:38 +0000 (22:40 +0000)
committerrich <rich>
Tue, 5 Dec 2006 22:40:38 +0000 (22:40 +0000)
csvtool.ml

index 724eb72..8c54081 100644 (file)
@@ -1,5 +1,5 @@
 (* Handy tool for managing CSV files.
- * $Id: csvtool.ml,v 1.9 2006-12-05 22:24:44 rich Exp $
+ * $Id: csvtool.ml,v 1.10 2006-12-05 22:40:38 rich Exp $
  *)
 
 open Printf
@@ -316,9 +316,12 @@ let cmd_call ~input_sep ~output_sep ~chan command files =
   in
   List.iter (
     fun filename ->
-      let in_chan = open_in filename in
+      let in_chan, close =
+       match filename with
+       | "-" -> stdin, false
+       | filename -> open_in filename, true in
       load_rows ~separator:input_sep f in_chan;
-      close_in in_chan
+      if close then close_in in_chan
   ) files
 
 let rec uniq = function