X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=generator%2Fgenerator_fish.ml;h=175f8dc63cf44739d4eae6016c21c6de429f0310;hp=53e4fd5639c3cc30481a5d42af9d7c81d7e198e1;hb=0a7b734d2f54d4e98882532da9887feb66c9824a;hpb=7123f0cab155c5c25ecae670677683001c1634ad diff --git a/generator/generator_fish.ml b/generator/generator_fish.ml index 53e4fd5..175f8dc 100644 --- a/generator/generator_fish.ml +++ b/generator/generator_fish.ml @@ -32,11 +32,10 @@ open Generator_c open Generator_events let doc_opttype_of = function - | Bool n -> "true|false" - | Int n - | Int64 n -> "N" - | String n -> ".." - | _ -> assert false + | OBool n -> "true|false" + | OInt n + | OInt64 n -> "N" + | OString n -> ".." (* Generate a lot of different functions for guestfish. *) let generate_fish_cmds () = @@ -131,7 +130,7 @@ let generate_fish_cmds () = (List.map (fun arg -> " " ^ name_of_argt arg) args)) (String.concat "" (List.map (fun arg -> - sprintf " [%s:%s]" (name_of_argt arg) (doc_opttype_of arg) + sprintf " [%s:%s]" (name_of_optargt arg) (doc_opttype_of arg) ) optargs)) in let warnings = @@ -457,15 +456,15 @@ Guestfish will prompt for these separately." pr " "; List.iter ( fun argt -> - let n = name_of_argt argt in + let n = name_of_optargt argt in let uc_n = String.uppercase n in let len = String.length n in pr "if (STRPREFIX (argv[i], \"%s:\")) {\n" n; (match argt with - | Bool n -> + | OBool n -> pr " optargs_s.%s = is_true (&argv[i][%d]) ? 1 : 0;\n" n (len+1); - | Int n -> + | OInt n -> let range = let min = "(-(2LL<<30))" and max = "((2LL<<30)-1)" @@ -475,13 +474,12 @@ Guestfish will prompt for these separately." let expr = sprintf "&argv[i][%d]" (len+1) in parse_integer expr "xstrtoll" "long long" "int" range (sprintf "optargs_s.%s" n) - | Int64 n -> + | OInt64 n -> let expr = sprintf "&argv[i][%d]" (len+1) in parse_integer expr "xstrtoll" "long long" "int64_t" None (sprintf "optargs_s.%s" n) - | String n -> + | OString n -> pr " optargs_s.%s = &argv[i][%d];\n" n (len+1); - | _ -> assert false ); pr " this_mask = GUESTFS_%s_%s_BITMASK;\n" uc_name uc_n; pr " this_arg = \"%s\";\n" n; @@ -851,9 +849,8 @@ and generate_fish_actions_pod () = ) args; List.iter ( function - | (Bool n | Int n | Int64 n | String n) as arg -> + | (OBool n | OInt n | OInt64 n | OString n) as arg -> pr " [%s:%s]" n (doc_opttype_of arg) - | _ -> assert false ) optargs; pr "\n"; pr "\n";