commit | 7492a09da956314566026e96a1d971e85307df5b | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Wed Jul 10 15:23:29 2019 -0700 |
committer | Damien Neil <dneil@google.com> | Thu Jul 11 18:07:16 2019 +0000 |
tree | 39a176023f43b2d8a21d7bcaf1c04e9662d8c981 | |
parent | 3e6a39b3f11d19c58355619bc13983691bc16a1d [diff] [blame] |
internal/impl: support packed extensions Change-Id: I5a9e22f1c98f5db9caae1681775017da5aa67394 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/185541 Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/impl/codec_extension.go b/internal/impl/codec_extension.go index 10a9fa2..3a23bb0 100644 --- a/internal/impl/codec_extension.go +++ b/internal/impl/codec_extension.go
@@ -29,7 +29,12 @@ return e } - wiretag := wire.EncodeTag(xt.Number(), wireTypes[xt.Kind()]) + var wiretag uint64 + if !xt.IsPacked() { + wiretag = wire.EncodeTag(xt.Number(), wireTypes[xt.Kind()]) + } else { + wiretag = wire.EncodeTag(xt.Number(), wire.BytesType) + } e = &extensionFieldInfo{ wiretag: wiretag, tagsize: wire.SizeVarint(wiretag),