From: Kim Nguyễn Date: Fri, 26 Oct 2012 12:41:52 +0000 (+0200) Subject: Merge branch 'handle-stdout' X-Git-Url: http://git.nguyen.vg/gitweb/?a=commitdiff_plain;h=b281387c0d6115086ad3c3f3d0510be734fc29a7;hp=-c;p=SXSI%2Fxpathcomp.git Merge branch 'handle-stdout' Allows to pass - as stdout. --- b281387c0d6115086ad3c3f3d0510be734fc29a7 diff --combined src/options.ml index 7307794,d537d78..fbbd73e --- a/src/options.ml +++ b/src/options.ml @@@ -1,5 -1,27 +1,5 @@@ -open Utils open Format - -let index_empty_texts = ref true -let sample_factor = ref 64 -let disable_text_collection = ref false -let tc_threshold = ref 60000 - -let query = ref "" -let input_file = ref "" -let output_file = ref None -let save_file = ref "" -let count_only = ref false -let time = ref false -let bottom_up = ref false -let no_jump = ref false -let no_cache = ref false -let verbose = ref false -let text_index_type = ref 0 -let do_perf = ref false -let twopass = ref false -let repeat = ref 1 -let docstats = ref false -let no_wrap_results = ref false +open Config let set_index_type = function | "default" -> text_index_type := 0 @@@ -21,13 -43,13 +21,13 @@@ let set_logger s 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)) - ) (String.explode s ',') + ) (Utils.String.explode s ',') let pretty_loggers () = ignore(flush_str_formatter()); @@@ -77,7 -99,6 +77,6 @@@ let spec = Arg.alig "-doc-stats", Arg.Set(docstats), " Compute document statistics (performs full traversal)"; - "-v", Arg.Set(verbose), " verbose mode"; ] @ IFNDEF NTRACE THEN [ @@@ -88,12 -109,22 +87,22 @@@ 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