git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
generator: Create a separate type for optional arguments
[libguestfs.git]
/
generator
/
generator_fish.ml
diff --git
a/generator/generator_fish.ml
b/generator/generator_fish.ml
index
53e4fd5
..
175f8dc
100644
(file)
--- 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
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 () =
(* 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 ->
(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_
opt
argt arg) (doc_opttype_of arg)
) optargs)) in
let warnings =
) optargs)) in
let warnings =
@@
-457,15
+456,15
@@
Guestfish will prompt for these separately."
pr " ";
List.iter (
fun argt ->
pr " ";
List.iter (
fun argt ->
- let n = name_of_argt argt in
+ let n = name_of_
opt
argt 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
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 ->
+ |
O
Bool n ->
pr " optargs_s.%s = is_true (&argv[i][%d]) ? 1 : 0;\n"
n (len+1);
pr " optargs_s.%s = is_true (&argv[i][%d]) ? 1 : 0;\n"
n (len+1);
- | Int n ->
+ |
O
Int n ->
let range =
let min = "(-(2LL<<30))"
and max = "((2LL<<30)-1)"
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)
let expr = sprintf "&argv[i][%d]" (len+1) in
parse_integer expr "xstrtoll" "long long" "int" range
(sprintf "optargs_s.%s" n)
- | Int64 n ->
+ |
O
Int64 n ->
let expr = sprintf "&argv[i][%d]" (len+1) in
parse_integer expr "xstrtoll" "long long" "int64_t" None
(sprintf "optargs_s.%s" 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 ->
+ |
O
String n ->
pr " optargs_s.%s = &argv[i][%d];\n" n (len+1);
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;
);
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
) args;
List.iter (
function
- | (
Bool n | Int n | Int64 n |
String n) as arg ->
+ | (
OBool n | OInt n | OInt64 n | O
String n) as arg ->
pr " [%s:%s]" n (doc_opttype_of arg)
pr " [%s:%s]" n (doc_opttype_of arg)
- | _ -> assert false
) optargs;
pr "\n";
pr "\n";
) optargs;
pr "\n";
pr "\n";