Now that we have a distinct branch in the generator when returning
an
enum or bitmask that cannot fail, we can use it in Golang for
symmetry, so that the result of a get function can be plugged into a
set function without a trip through other types.
---
generator/GoLang.ml | 12 ++++++------
.../libnbd/libnbd_110_defaults_test.go | 6 +++---
.../libnbd/libnbd_120_set_non_defaults_test.go | 2 +-
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/generator/GoLang.ml b/generator/GoLang.ml
index 732b81f..aecd2d5 100644
--- a/generator/GoLang.ml
+++ b/generator/GoLang.ml
@@ -99,8 +99,8 @@ let go_ret_type = function
* always nil unless h is closed
*)
| RUInt -> Some "uint"
- | REnum (_) -> Some "uint" (* XXX return typed constant instead? *)
- | RFlags (_) -> Some "uint" (* XXX return typed constant instead? *)
+ | REnum ({ enum_prefix}) -> Some (camel_case enum_prefix)
+ | RFlags ({ flag_prefix}) -> Some (camel_case flag_prefix)
let go_ret_error = function
| RErr -> None
@@ -393,10 +393,10 @@ let print_binding (name, { args; optargs; ret; shortdesc }) =
pr " return &r, nil\n"
| RUInt ->
pr " return uint (ret), nil\n"
- | REnum (_) ->
- pr " return uint (ret), nil\n" (* XXX Proper enum type? *)
- | RFlags (_) ->
- pr " return uint (ret), nil\n" (* XXX Proper bitmask type? *)
+ | REnum ({enum_prefix}) ->
+ pr " return %s (ret), nil\n" (camel_case enum_prefix)
+ | RFlags ({flag_prefix}) ->
+ pr " return %s (ret), nil\n" (camel_case flag_prefix)
);
pr "}\n";
pr "\n"
diff --git
a/golang/src/libguestfs.org/libnbd/libnbd_110_defaults_test.go
b/golang/src/libguestfs.org/libnbd/libnbd_110_defaults_test.go
index 7b4ea0a..005289b 100644
---
a/golang/src/libguestfs.org/libnbd/libnbd_110_defaults_test.go
+++
b/golang/src/libguestfs.org/libnbd/libnbd_110_defaults_test.go
@@ -47,7 +47,7 @@ func Test110Defaults(t *testing.T) {
if err != nil {
t.Fatalf("could not get tls state: %s", err)
}
- if tls != uint(TLS_DISABLE) {
+ if tls != TLS_DISABLE {
t.Fatalf("unexpected tls state")
}
@@ -63,8 +63,8 @@ func Test110Defaults(t *testing.T) {
if err != nil {
t.Fatalf("could not get handshake flags: %s", err)
}
- if flags != uint(HANDSHAKE_FLAG_FIXED_NEWSTYLE |
- HANDSHAKE_FLAG_NO_ZEROES) {
+ if flags != (HANDSHAKE_FLAG_FIXED_NEWSTYLE |
+ HANDSHAKE_FLAG_NO_ZEROES) {
t.Fatalf("unexpected handshake flags")
}
diff --git
a/golang/src/libguestfs.org/libnbd/libnbd_120_set_non_defaults_test.go
b/golang/src/libguestfs.org/libnbd/libnbd_120_set_non_defaults_test.go
index 331304e..685604e 100644
---
a/golang/src/libguestfs.org/libnbd/libnbd_120_set_non_defaults_test.go
+++
b/golang/src/libguestfs.org/libnbd/libnbd_120_set_non_defaults_test.go
@@ -64,7 +64,7 @@ func Test120SetNonDefaults(t *testing.T) {
if err != nil {
t.Fatalf("could not get tls state: %s", err)
}
- if tls != uint(TLS_ALLOW) {
+ if tls != TLS_ALLOW {
t.Fatalf("unexpected tls state")
}
}
Seems reasonable. I suppose the test case would fail if it
was wrong, so ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.