mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
golang: Capitalize fields in OptArgs* structs.
Otherwise those fields aren't accessible outside the package. We didn't catch this because all tests run in the same package.
This commit is contained in:
@@ -270,20 +270,21 @@ func return_hashtable (argv **C.char) map[string]string {
|
||||
pr "type Optargs%s struct {\n" go_name;
|
||||
List.iter (
|
||||
fun optarg ->
|
||||
let n = name_of_optargt optarg in
|
||||
pr " /* %s field is ignored unless %s_is_set == true */\n" n n;
|
||||
pr " %s_is_set bool\n" n;
|
||||
let cn = String.capitalize (name_of_optargt optarg) in
|
||||
pr " /* %s field is ignored unless %s_is_set == true */\n"
|
||||
cn cn;
|
||||
pr " %s_is_set bool\n" cn;
|
||||
match optarg with
|
||||
| OBool n ->
|
||||
pr " %s bool\n" n
|
||||
| OInt n ->
|
||||
pr " %s int\n" n
|
||||
| OInt64 n ->
|
||||
pr " %s int64\n" n
|
||||
| OString n ->
|
||||
pr " %s string\n" n
|
||||
| OStringList n ->
|
||||
pr " %s []string\n" n
|
||||
| OBool _ ->
|
||||
pr " %s bool\n" cn
|
||||
| OInt _ ->
|
||||
pr " %s int\n" cn
|
||||
| OInt64 _ ->
|
||||
pr " %s int64\n" cn
|
||||
| OString _ ->
|
||||
pr " %s string\n" cn
|
||||
| OStringList _ ->
|
||||
pr " %s []string\n" cn
|
||||
) optargs;
|
||||
pr "}\n";
|
||||
);
|
||||
@@ -395,21 +396,23 @@ func return_hashtable (argv **C.char) map[string]string {
|
||||
List.iter (
|
||||
fun optarg ->
|
||||
let n = name_of_optargt optarg in
|
||||
pr " if optargs.%s_is_set {\n" n;
|
||||
let cn = String.capitalize n in
|
||||
pr " if optargs.%s_is_set {\n" cn;
|
||||
pr " c_optargs.bitmask |= C.%s_%s_BITMASK\n"
|
||||
f.c_optarg_prefix (String.uppercase n);
|
||||
(match optarg with
|
||||
| OBool n ->
|
||||
pr " if optargs.%s { c_optargs.%s = 1 } else { c_optargs.%s = 0}\n" n n n
|
||||
| OInt n ->
|
||||
pr " c_optargs.%s = C.int (optargs.%s)\n" n n
|
||||
| OInt64 n ->
|
||||
pr " c_optargs.%s = C.int64_t (optargs.%s)\n" n n
|
||||
| OString n ->
|
||||
pr " c_optargs.%s = C.CString (optargs.%s)\n" n n;
|
||||
| OBool _ ->
|
||||
pr " if optargs.%s { c_optargs.%s = 1 } else { c_optargs.%s = 0}\n" cn n n
|
||||
| OInt _ ->
|
||||
pr " c_optargs.%s = C.int (optargs.%s)\n" n cn
|
||||
| OInt64 _ ->
|
||||
pr " c_optargs.%s = C.int64_t (optargs.%s)\n" n cn
|
||||
| OString _ ->
|
||||
pr " c_optargs.%s = C.CString (optargs.%s)\n" n cn;
|
||||
pr " defer C.free (unsafe.Pointer (c_optargs.%s))\n" n
|
||||
| OStringList n ->
|
||||
pr " c_optargs.%s = arg_string_list (optargs.%s)\n" n n;
|
||||
| OStringList _ ->
|
||||
pr " c_optargs.%s = arg_string_list (optargs.%s)\n"
|
||||
n cn;
|
||||
pr " defer free_string_list (c_optargs.%s)\n" n
|
||||
);
|
||||
pr " }\n"
|
||||
|
||||
@@ -30,28 +30,28 @@ func Test070Optargs (t *testing.T) {
|
||||
t.Errorf ("%s", err)
|
||||
}
|
||||
err = g.Add_drive ("/dev/null", &OptargsAdd_drive{
|
||||
readonly_is_set: true,
|
||||
readonly: true,
|
||||
Readonly_is_set: true,
|
||||
Readonly: true,
|
||||
})
|
||||
if err != nil {
|
||||
t.Errorf ("%s", err)
|
||||
}
|
||||
err = g.Add_drive ("/dev/null", &OptargsAdd_drive{
|
||||
readonly_is_set: true,
|
||||
readonly: true,
|
||||
format_is_set: true,
|
||||
format: "raw",
|
||||
Readonly_is_set: true,
|
||||
Readonly: true,
|
||||
Format_is_set: true,
|
||||
Format: "raw",
|
||||
})
|
||||
if err != nil {
|
||||
t.Errorf ("%s", err)
|
||||
}
|
||||
err = g.Add_drive ("/dev/null", &OptargsAdd_drive{
|
||||
readonly_is_set: true,
|
||||
readonly: true,
|
||||
format_is_set: true,
|
||||
format: "raw",
|
||||
iface_is_set: true,
|
||||
iface: "virtio",
|
||||
Readonly_is_set: true,
|
||||
Readonly: true,
|
||||
Format_is_set: true,
|
||||
Format: "raw",
|
||||
Iface_is_set: true,
|
||||
Iface: "virtio",
|
||||
})
|
||||
if err != nil {
|
||||
t.Errorf ("%s", err)
|
||||
|
||||
Reference in New Issue
Block a user