projects
/
SXSI
/
xpathcomp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'handle-stdout'
[SXSI/xpathcomp.git]
/
src
/
options.ml
diff --git
a/src/options.ml
b/src/options.ml
index
babad16
..
fbbd73e
100644
(file)
--- a/
src/options.ml
+++ b/
src/options.ml
@@
-1,4
+1,3
@@
-open Utils
open Format
open Config
open Format
open Config
@@
-22,13
+21,13
@@
let set_logger s =
List.iter (fun t ->
if t = "" then ()
else
List.iter (fun t ->
if t = "" then ()
else
- match String.explode t ':' with
+ match
Utils.
String.explode t ':' with
[ tr; lvl ] ->
let l = try int_of_string lvl with _ -> raise (Arg.Bad (lvl)) in
if Logger.is_logger tr then Logger.activate tr l
else raise (Arg.Bad (t))
| _ -> raise (Arg.Bad (t))
[ tr; lvl ] ->
let l = try int_of_string lvl with _ -> raise (Arg.Bad (lvl)) in
if Logger.is_logger tr then Logger.activate tr l
else raise (Arg.Bad (t))
| _ -> raise (Arg.Bad (t))
- ) (String.explode s ',')
+ ) (
Utils.
String.explode s ',')
let pretty_loggers () =
ignore(flush_str_formatter());
let pretty_loggers () =
ignore(flush_str_formatter());
@@
-78,7
+77,6
@@
let spec = Arg.align
"-doc-stats", Arg.Set(docstats),
" Compute document statistics (performs full traversal)";
"-doc-stats", Arg.Set(docstats),
" Compute document statistics (performs full traversal)";
-
"-v", Arg.Set(verbose), " verbose mode"; ] @
IFNDEF NTRACE
THEN [
"-v", Arg.Set(verbose), " verbose mode"; ] @
IFNDEF NTRACE
THEN [
@@
-89,12
+87,22
@@
THEN [
ELSE []
END
ELSE []
END
+let real_spec =
+ spec @ [
+ "-", Arg.Unit (fun () -> anon_fun "-"), "";
+ ]
+
let parse_cmdline() =
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
in
- if (!pos > 3 || !pos < 2)
- then begin Arg.usage spec usage_msg; exit 1 end;
Logger.set_verbose !verbose
Logger.set_verbose !verbose