Make '--version' flag work.
[virt-mem.git] / lib / virt_mem.ml
index 3a42448..9a00ead 100644 (file)
@@ -101,6 +101,16 @@ let start usage_msg =
     :: !images
   in
 
+  let version () =
+    printf "virt-mem %s\n" Virt_mem_version.version;
+
+    let major, minor, release =
+      let v, _ = Libvirt.get_version () in
+      v / 1_000_000, (v / 1_000) mod 1_000, v mod 1_000 in
+    printf "libvirt %d.%d.%d\n" major minor release;
+    exit 0
+  in
+
   let argspec = Arg.align [
     "-A", Arg.String set_architecture,
       "arch " ^ s_"Set kernel architecture, endianness and word size";
@@ -118,6 +128,8 @@ let start usage_msg =
       " " ^ s_"Debug mode (default: false)";
     "-t", Arg.String memory_image,
       "image " ^ s_"Use saved kernel memory image";
+    "--version", Arg.Unit version,
+      " " ^ s_"Display version and exit";
   ] in
 
   let anon_fun str =