diff --git a/xC-gen-proto-go.awk b/xC-gen-proto-go.awk index eb08477..a2244b5 100644 --- a/xC-gen-proto-go.awk +++ b/xC-gen-proto-go.awk @@ -100,6 +100,7 @@ function codegen_begin() { print "package main" print "" print "import (" + print "\t`encoding/base64`" print "\t`encoding/binary`" print "\t`encoding/json`" print "\t`errors`" @@ -274,6 +275,14 @@ function codegen_struct_field_marshal(d, cg, camel, f, marshal) { return } + if (d["type"] == "u8") { + append(cg, "marshal", + "\tb = append(b, `,\"" decapitalize(camel) "\":\"`...)\n" \ + "\tb = append(b, base64.StdEncoding.EncodeToString(" f ")...)\n" \ + "\tb = append(b, '\"')\n") + return + } + if (CodegenIsMarshaler[d["type"]]) marshal = f "[i].MarshalJSON()" else