diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-09-05 19:44:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-05 19:44:43 +0200 |
commit | cef5bec06b200ffa5caed46db296e55fb7d72376 (patch) | |
tree | 2dd8944e49a07b8f067f07ac8c880244f97dbdb8 /vendor/github.com/gogo/protobuf/proto/extensions_gogo.go | |
parent | 3f81f4409d41510dd7440af9a3321c949ca485a0 (diff) | |
parent | f66a2069f1b26ff9987b008ba4b0c91ac3b682cc (diff) | |
download | podman-cef5bec06b200ffa5caed46db296e55fb7d72376.tar.gz podman-cef5bec06b200ffa5caed46db296e55fb7d72376.tar.bz2 podman-cef5bec06b200ffa5caed46db296e55fb7d72376.zip |
Merge pull request #3948 from openSUSE/buildah-update
Update buildah to v1.11.0
Diffstat (limited to 'vendor/github.com/gogo/protobuf/proto/extensions_gogo.go')
-rw-r--r-- | vendor/github.com/gogo/protobuf/proto/extensions_gogo.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go b/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go index 53ebd8cca..6f1ae120e 100644 --- a/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go @@ -154,6 +154,10 @@ func EncodeInternalExtension(m extendableProto, data []byte) (n int, err error) return EncodeExtensionMap(m.extensionsWrite(), data) } +func EncodeInternalExtensionBackwards(m extendableProto, data []byte) (n int, err error) { + return EncodeExtensionMapBackwards(m.extensionsWrite(), data) +} + func EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) { o := 0 for _, e := range m { @@ -169,6 +173,23 @@ func EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) { return o, nil } +func EncodeExtensionMapBackwards(m map[int32]Extension, data []byte) (n int, err error) { + o := 0 + end := len(data) + for _, e := range m { + if err := e.Encode(); err != nil { + return 0, err + } + n := copy(data[end-len(e.enc):], e.enc) + if n != len(e.enc) { + return 0, io.ErrShortBuffer + } + end -= n + o += n + } + return o, nil +} + func GetRawExtension(m map[int32]Extension, id int32) ([]byte, error) { e := m[id] if err := e.Encode(); err != nil { |