diff options
author | 2023-07-10 12:58:06 +0100 | |
---|---|---|
committer | 2023-07-10 12:58:06 +0100 | |
commit | a29b5affc87e578987580f22ae57fa719e1f4135 (patch) | |
tree | 6f5ee39951fe68a9c59fb98e48616ce82e233f70 /vendor/google.golang.org/protobuf/proto/size.go | |
parent | [feature] Use Read/Write lock for config (#1969) (diff) | |
download | gotosocial-a29b5affc87e578987580f22ae57fa719e1f4135.tar.xz |
[chore]: Bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 (#1975)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/google.golang.org/protobuf/proto/size.go')
-rw-r--r-- | vendor/google.golang.org/protobuf/proto/size.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/vendor/google.golang.org/protobuf/proto/size.go b/vendor/google.golang.org/protobuf/proto/size.go index 554b9c6c0..f1692b49b 100644 --- a/vendor/google.golang.org/protobuf/proto/size.go +++ b/vendor/google.golang.org/protobuf/proto/size.go @@ -73,23 +73,27 @@ func (o MarshalOptions) sizeField(fd protoreflect.FieldDescriptor, value protore } func (o MarshalOptions) sizeList(num protowire.Number, fd protoreflect.FieldDescriptor, list protoreflect.List) (size int) { + sizeTag := protowire.SizeTag(num) + if fd.IsPacked() && list.Len() > 0 { content := 0 for i, llen := 0, list.Len(); i < llen; i++ { content += o.sizeSingular(num, fd.Kind(), list.Get(i)) } - return protowire.SizeTag(num) + protowire.SizeBytes(content) + return sizeTag + protowire.SizeBytes(content) } for i, llen := 0, list.Len(); i < llen; i++ { - size += protowire.SizeTag(num) + o.sizeSingular(num, fd.Kind(), list.Get(i)) + size += sizeTag + o.sizeSingular(num, fd.Kind(), list.Get(i)) } return size } func (o MarshalOptions) sizeMap(num protowire.Number, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) (size int) { + sizeTag := protowire.SizeTag(num) + mapv.Range(func(key protoreflect.MapKey, value protoreflect.Value) bool { - size += protowire.SizeTag(num) + size += sizeTag size += protowire.SizeBytes(o.sizeField(fd.MapKey(), key.Value()) + o.sizeField(fd.MapValue(), value)) return true }) |