From 4de8e95b17adf047c7789f44ec0ba64fd02b0b5a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Sat, 20 Oct 2012 19:09:21 +0200 Subject: [PATCH] Support '-' on the command line as an aliase for /dev/stdout. --- src/options.ml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/options.ml b/src/options.ml index 4a7a0c7..d537d78 100644 --- a/src/options.ml +++ b/src/options.ml @@ -99,7 +99,6 @@ let spec = Arg.align "-doc-stats", Arg.Set(docstats), " Compute document statistics (performs full traversal)"; - "-v", Arg.Set(verbose), " verbose mode"; ] @ IFNDEF NTRACE THEN [ @@ -110,12 +109,22 @@ THEN [ ELSE [] END +let real_spec = + spec @ [ + "-", Arg.Unit (fun () -> anon_fun "-"), ""; + ] + let parse_cmdline() = - let _ = Arg.parse spec anon_fun usage_msg + let _ = + try + Arg.parse_argv Sys.argv real_spec anon_fun usage_msg; + if (!pos > 3 || !pos < 2) then raise (Arg.Bad "Invalid number of arguments") + with + Arg.Bad s | Arg.Help s -> + eprintf "%s\n" (Arg.usage_string spec usage_msg); + exit 1 in - if (!pos > 3 || !pos < 2) - then begin Arg.usage spec usage_msg; exit 1 end; Logger.set_verbose !verbose -- 2.17.1