diff --git a/generator/golang.ml b/generator/golang.ml index 4d409be83..8af124c48 100644 --- a/generator/golang.ml +++ b/generator/golang.ml @@ -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" diff --git a/golang/src/libguestfs.org/guestfs/guestfs_070_optargs_test.go b/golang/src/libguestfs.org/guestfs/guestfs_070_optargs_test.go index 2dd5ad97c..ab05e8686 100644 --- a/golang/src/libguestfs.org/guestfs/guestfs_070_optargs_test.go +++ b/golang/src/libguestfs.org/guestfs/guestfs_070_optargs_test.go @@ -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)