[Libguestfs] [PATCH 1/2] builder: move os-version search in own function

Pino Toscano ptoscano at redhat.com
Thu Jan 14 11:43:32 UTC 2016


Simple code motion, no behaviour changes.
---
 builder/builder.ml | 46 ++++++++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 20 deletions(-)

diff --git a/builder/builder.ml b/builder/builder.ml
index 9c26573..ec9919f 100644
--- a/builder/builder.ml
+++ b/builder/builder.ml
@@ -75,6 +75,30 @@ let remove_duplicates index =
         false
   ) index
 
+(* Look for the specified os-version, resolving it as alias first. *)
+let selected_cli_item cmdline index =
+  let arg =
+    (* Try to resolve the alias. *)
+    try
+      let item =
+        List.find (
+          fun (name, { Index.aliases = aliases }) ->
+            match aliases with
+            | None -> false
+            | Some l -> List.mem cmdline.arg l
+        ) index in
+        fst item
+    with Not_found -> cmdline.arg in
+  let item =
+    try List.find (
+      fun (name, { Index.arch = a }) ->
+        name = arg && cmdline.arch = normalize_arch a
+    ) index
+    with Not_found ->
+      error (f_"cannot find os-version '%s' with architecture '%s'.\nUse --list to list available guest types.")
+        arg cmdline.arch in
+  item
+
 let main () =
   (* Command line argument parsing - see cmdline.ml. *)
   let cmdline = parse_cmdline () in
@@ -229,26 +253,8 @@ let main () =
     | (`Install|`Notes) as mode -> mode in
 
   (* Which os-version (ie. index entry)? *)
-  let arg =
-    (* Try to resolve the alias. *)
-    try
-      let item =
-        List.find (
-          fun (name, { Index.aliases = aliases }) ->
-            match aliases with
-            | None -> false
-            | Some l -> List.mem cmdline.arg l
-        ) index in
-        fst item
-    with Not_found -> cmdline.arg in
-  let item =
-    try List.find (
-      fun (name, { Index.arch = a }) ->
-        name = arg && cmdline.arch = normalize_arch a
-    ) index
-    with Not_found ->
-      error (f_"cannot find os-version '%s' with architecture '%s'.\nUse --list to list available guest types.")
-        arg cmdline.arch in
+  let item = selected_cli_item cmdline index in
+  let arg = fst item in
   let entry = snd item in
   let sigchecker = entry.Index.sigchecker in
 
-- 
2.5.0




More information about the Libguestfs mailing list