From 6c2875bb6b58d54a51f3db299e84216afc10a2ff Mon Sep 17 00:00:00 2001 From: Guillaume Date: Sat, 14 Mar 2026 02:31:21 +0100 Subject: [PATCH] Use Arg to parse arguments --- bin/main.ml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/bin/main.ml b/bin/main.ml index 7e7720c..7819265 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1,11 +1,24 @@ +let usage_msg = "inspector -log -db " +let logfile = ref "" +let dbfile = ref "" + +let speclist = + [ + ("-log", Arg.Set_string logfile, "Set log filename"); + ("-db", Arg.Set_string dbfile, "Set XAPI db file"); + ] + +let ignore_anon arg = print_endline @@ arg ^ " is ignored" + let () = - let open Inspector in - if Array.length Sys.argv <> 2 then ( - Printf.eprintf "Usage: %s \n" (Filename.basename Sys.argv.(0)); + Arg.parse speclist ignore_anon usage_msg; + if !logfile = "" then ( + Printf.eprintf "You must specify a log file using -log\n"; exit 1); - let s = State.create Sys.argv.(1) in + let open Inspector in + let s = State.create !logfile in + Printf.printf "dbfile is currently ignored\n"; Printf.printf "Loaded %d lines\n" (State.size s); Repl.help (); - Repl.loop s