vendor: github.com/tinylib/msgp v1.1.6
This is a dependency of github.com/fluent/fluent-logger-golang, which currently does not provide a go.mod, but tests against the latest versions of its dependencies. Updating this dependency to the latest version. Notable changes: - all: implement omitempty - fix: JSON encoder may produce invalid utf-8 when provided invalid utf-8 message pack string. - added Unwrap method to errWrapped plus tests; switched travis to go 1.14 - CopyToJSON: fix bitSize for floats - Add Reader/Writer constructors with custom buffer - Add missing bin header functions - msgp/unsafe: bring code in line with unsafe guidelines - msgp/msgp: fix ReadMapKeyZC (fix "Fail to decode string encoded as bin type") full diff: https://github.com/tinylib/msgp/compare/v1.1.0...v1.1.6 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
24496fe097
commit
389dacd6e2
11 changed files with 151 additions and 44 deletions
|
@ -140,7 +140,7 @@ require (
|
||||||
github.com/prometheus/procfs v0.8.0 // indirect
|
github.com/prometheus/procfs v0.8.0 // indirect
|
||||||
github.com/rexray/gocsi v1.2.2 // indirect
|
github.com/rexray/gocsi v1.2.2 // indirect
|
||||||
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect
|
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect
|
||||||
github.com/tinylib/msgp v1.1.0 // indirect
|
github.com/tinylib/msgp v1.1.6 // indirect
|
||||||
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect
|
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect
|
||||||
go.etcd.io/etcd/client/pkg/v3 v3.5.6 // indirect
|
go.etcd.io/etcd/client/pkg/v3 v3.5.6 // indirect
|
||||||
go.etcd.io/etcd/pkg/v3 v3.5.6 // indirect
|
go.etcd.io/etcd/pkg/v3 v3.5.6 // indirect
|
||||||
|
|
|
@ -914,6 +914,7 @@ github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko
|
||||||
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
|
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
|
||||||
github.com/phayes/permbits v0.0.0-20190612203442-39d7c581d2ee h1:P6U24L02WMfj9ymZTxl7CxS73JC99x3ukk+DBkgQGQs=
|
github.com/phayes/permbits v0.0.0-20190612203442-39d7c581d2ee h1:P6U24L02WMfj9ymZTxl7CxS73JC99x3ukk+DBkgQGQs=
|
||||||
github.com/phayes/permbits v0.0.0-20190612203442-39d7c581d2ee/go.mod h1:3uODdxMgOaPYeWU7RzZLxVtJHZ/x1f/iHkBZuKJDzuY=
|
github.com/phayes/permbits v0.0.0-20190612203442-39d7c581d2ee/go.mod h1:3uODdxMgOaPYeWU7RzZLxVtJHZ/x1f/iHkBZuKJDzuY=
|
||||||
|
github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
|
||||||
github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw=
|
github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw=
|
||||||
github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0=
|
github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0=
|
||||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
@ -1052,8 +1053,8 @@ github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG
|
||||||
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
|
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
|
||||||
github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I=
|
github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I=
|
||||||
github.com/thecodeteam/gosync v0.1.0/go.mod h1:43QHsngcnWc8GE1aCmi7PEypslflHjCzXFleuWKEb00=
|
github.com/thecodeteam/gosync v0.1.0/go.mod h1:43QHsngcnWc8GE1aCmi7PEypslflHjCzXFleuWKEb00=
|
||||||
github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU=
|
github.com/tinylib/msgp v1.1.6 h1:i+SbKraHhnrf9M5MYmvQhFnbLhAXSDWF8WWsuyRdocw=
|
||||||
github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
|
github.com/tinylib/msgp v1.1.6/go.mod h1:75BAfg2hauQhs3qedfdDZmWAPcFMAvJE5b9rGOMufyw=
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||||
|
@ -1568,6 +1569,7 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc
|
||||||
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
|
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
|
||||||
golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
|
golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
|
||||||
|
golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
|
|
3
vendor/github.com/tinylib/msgp/msgp/errors.go
generated
vendored
3
vendor/github.com/tinylib/msgp/msgp/errors.go
generated
vendored
|
@ -123,6 +123,9 @@ func (e errWrapped) Resumable() bool {
|
||||||
return resumableDefault
|
return resumableDefault
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unwrap returns the cause.
|
||||||
|
func (e errWrapped) Unwrap() error { return e.cause }
|
||||||
|
|
||||||
type errShort struct{}
|
type errShort struct{}
|
||||||
|
|
||||||
func (e errShort) Error() string { return "msgp: too few bytes left to read object" }
|
func (e errShort) Error() string { return "msgp: too few bytes left to read object" }
|
||||||
|
|
4
vendor/github.com/tinylib/msgp/msgp/extension.go
generated
vendored
4
vendor/github.com/tinylib/msgp/msgp/extension.go
generated
vendored
|
@ -474,8 +474,8 @@ func AppendExtension(b []byte, e Extension) ([]byte, error) {
|
||||||
// and returns any remaining bytes.
|
// and returns any remaining bytes.
|
||||||
// Possible errors:
|
// Possible errors:
|
||||||
// - ErrShortBytes ('b' not long enough)
|
// - ErrShortBytes ('b' not long enough)
|
||||||
// - ExtensionTypeErorr{} (wire type not the same as e.Type())
|
// - ExtensionTypeError{} (wire type not the same as e.Type())
|
||||||
// - TypeErorr{} (next object not an extension)
|
// - TypeError{} (next object not an extension)
|
||||||
// - InvalidPrefixError
|
// - InvalidPrefixError
|
||||||
// - An umarshal error returned from e.UnmarshalBinary
|
// - An umarshal error returned from e.UnmarshalBinary
|
||||||
func ReadExtensionBytes(b []byte, e Extension) ([]byte, error) {
|
func ReadExtensionBytes(b []byte, e Extension) ([]byte, error) {
|
||||||
|
|
66
vendor/github.com/tinylib/msgp/msgp/json.go
generated
vendored
66
vendor/github.com/tinylib/msgp/msgp/json.go
generated
vendored
|
@ -206,7 +206,7 @@ func rwFloat32(dst jsWriter, src *Reader) (int, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
src.scratch = strconv.AppendFloat(src.scratch[:0], float64(f), 'f', -1, 64)
|
src.scratch = strconv.AppendFloat(src.scratch[:0], float64(f), 'f', -1, 32)
|
||||||
return dst.Write(src.scratch)
|
return dst.Write(src.scratch)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,7 +215,7 @@ func rwFloat64(dst jsWriter, src *Reader) (int, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
src.scratch = strconv.AppendFloat(src.scratch[:0], f, 'f', -1, 32)
|
src.scratch = strconv.AppendFloat(src.scratch[:0], f, 'f', -1, 64)
|
||||||
return dst.Write(src.scratch)
|
return dst.Write(src.scratch)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -466,7 +466,23 @@ func rwquoted(dst jsWriter, s []byte) (n int, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
n++
|
n++
|
||||||
|
case '\t':
|
||||||
|
err = dst.WriteByte('\\')
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
n++
|
||||||
|
err = dst.WriteByte('t')
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
n++
|
||||||
default:
|
default:
|
||||||
|
// This encodes bytes < 0x20 except for \t, \n and \r.
|
||||||
|
// It also escapes <, >, and &
|
||||||
|
// because they can lead to security holes when
|
||||||
|
// user-controlled strings are rendered into JSON
|
||||||
|
// and served to some browsers.
|
||||||
nn, err = dst.WriteString(`\u00`)
|
nn, err = dst.WriteString(`\u00`)
|
||||||
n += nn
|
n += nn
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -495,16 +511,23 @@ func rwquoted(dst jsWriter, s []byte) (n int, err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
nn, err = dst.WriteString(`\ufffd`)
|
|
||||||
n += nn
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
i += size
|
|
||||||
start = i
|
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
nn, err = dst.WriteString(`\ufffd`)
|
||||||
|
n += nn
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
i += size
|
||||||
|
start = i
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
// U+2028 is LINE SEPARATOR.
|
||||||
|
// U+2029 is PARAGRAPH SEPARATOR.
|
||||||
|
// They are both technically valid characters in JSON strings,
|
||||||
|
// but don't work in JSONP, which has to be evaluated as JavaScript,
|
||||||
|
// and can lead to security holes there. It is valid JSON to
|
||||||
|
// escape them, so we do so unconditionally.
|
||||||
|
// See http://timelessrepo.com/json-isnt-a-javascript-subset for discussion.
|
||||||
if c == '\u2028' || c == '\u2029' {
|
if c == '\u2028' || c == '\u2029' {
|
||||||
if start < i {
|
if start < i {
|
||||||
nn, err = dst.Write(s[start:i])
|
nn, err = dst.Write(s[start:i])
|
||||||
|
@ -512,17 +535,20 @@ func rwquoted(dst jsWriter, s []byte) (n int, err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
nn, err = dst.WriteString(`\u202`)
|
|
||||||
n += nn
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
err = dst.WriteByte(hex[c&0xF])
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
n++
|
|
||||||
}
|
}
|
||||||
|
nn, err = dst.WriteString(`\u202`)
|
||||||
|
n += nn
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = dst.WriteByte(hex[c&0xF])
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
n++
|
||||||
|
i += size
|
||||||
|
start = i
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
i += size
|
i += size
|
||||||
}
|
}
|
||||||
|
|
5
vendor/github.com/tinylib/msgp/msgp/read.go
generated
vendored
5
vendor/github.com/tinylib/msgp/msgp/read.go
generated
vendored
|
@ -126,6 +126,11 @@ func NewReaderSize(r io.Reader, sz int) *Reader {
|
||||||
return &Reader{R: fwd.NewReaderSize(r, sz)}
|
return &Reader{R: fwd.NewReaderSize(r, sz)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewReaderBuf returns a *Reader with a provided buffer.
|
||||||
|
func NewReaderBuf(r io.Reader, buf []byte) *Reader {
|
||||||
|
return &Reader{R: fwd.NewReaderBuf(r, buf)}
|
||||||
|
}
|
||||||
|
|
||||||
// Reader wraps an io.Reader and provides
|
// Reader wraps an io.Reader and provides
|
||||||
// methods to read MessagePack-encoded values
|
// methods to read MessagePack-encoded values
|
||||||
// from it. Readers are buffered.
|
// from it. Readers are buffered.
|
||||||
|
|
44
vendor/github.com/tinylib/msgp/msgp/read_bytes.go
generated
vendored
44
vendor/github.com/tinylib/msgp/msgp/read_bytes.go
generated
vendored
|
@ -201,14 +201,14 @@ func ReadMapHeaderBytes(b []byte) (sz uint32, o []byte, err error) {
|
||||||
// - ErrShortBytes (too few bytes)
|
// - ErrShortBytes (too few bytes)
|
||||||
// - TypeError{} (not a str or bin)
|
// - TypeError{} (not a str or bin)
|
||||||
func ReadMapKeyZC(b []byte) ([]byte, []byte, error) {
|
func ReadMapKeyZC(b []byte) ([]byte, []byte, error) {
|
||||||
o, b, err := ReadStringZC(b)
|
o, x, err := ReadStringZC(b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if tperr, ok := err.(TypeError); ok && tperr.Encoded == BinType {
|
if tperr, ok := err.(TypeError); ok && tperr.Encoded == BinType {
|
||||||
return ReadBytesZC(b)
|
return ReadBytesZC(b)
|
||||||
}
|
}
|
||||||
return nil, b, err
|
return nil, b, err
|
||||||
}
|
}
|
||||||
return o, b, nil
|
return o, x, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadArrayHeaderBytes attempts to read
|
// ReadArrayHeaderBytes attempts to read
|
||||||
|
@ -253,6 +253,46 @@ func ReadArrayHeaderBytes(b []byte) (sz uint32, o []byte, err error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ReadBytesHeader reads the 'bin' header size
|
||||||
|
// off of 'b' and returns the size and remaining bytes.
|
||||||
|
// Possible errors:
|
||||||
|
// - ErrShortBytes (too few bytes)
|
||||||
|
// - TypeError{} (not a bin object)
|
||||||
|
func ReadBytesHeader(b []byte) (sz uint32, o []byte, err error) {
|
||||||
|
if len(b) < 1 {
|
||||||
|
return 0, nil, ErrShortBytes
|
||||||
|
}
|
||||||
|
switch b[0] {
|
||||||
|
case mbin8:
|
||||||
|
if len(b) < 2 {
|
||||||
|
err = ErrShortBytes
|
||||||
|
return
|
||||||
|
}
|
||||||
|
sz = uint32(b[1])
|
||||||
|
o = b[2:]
|
||||||
|
return
|
||||||
|
case mbin16:
|
||||||
|
if len(b) < 3 {
|
||||||
|
err = ErrShortBytes
|
||||||
|
return
|
||||||
|
}
|
||||||
|
sz = uint32(big.Uint16(b[1:]))
|
||||||
|
o = b[3:]
|
||||||
|
return
|
||||||
|
case mbin32:
|
||||||
|
if len(b) < 5 {
|
||||||
|
err = ErrShortBytes
|
||||||
|
return
|
||||||
|
}
|
||||||
|
sz = big.Uint32(b[1:])
|
||||||
|
o = b[5:]
|
||||||
|
return
|
||||||
|
default:
|
||||||
|
err = badPrefix(BinType, b[0])
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ReadNilBytes tries to read a "nil" byte
|
// ReadNilBytes tries to read a "nil" byte
|
||||||
// off of 'b' and return the remaining bytes.
|
// off of 'b' and return the remaining bytes.
|
||||||
// Possible errors:
|
// Possible errors:
|
||||||
|
|
17
vendor/github.com/tinylib/msgp/msgp/unsafe.go
generated
vendored
17
vendor/github.com/tinylib/msgp/msgp/unsafe.go
generated
vendored
|
@ -3,7 +3,6 @@
|
||||||
package msgp
|
package msgp
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"reflect"
|
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -24,18 +23,14 @@ const (
|
||||||
// THIS IS EVIL CODE.
|
// THIS IS EVIL CODE.
|
||||||
// YOU HAVE BEEN WARNED.
|
// YOU HAVE BEEN WARNED.
|
||||||
func UnsafeString(b []byte) string {
|
func UnsafeString(b []byte) string {
|
||||||
sh := (*reflect.SliceHeader)(unsafe.Pointer(&b))
|
return *(*string)(unsafe.Pointer(&b))
|
||||||
return *(*string)(unsafe.Pointer(&reflect.StringHeader{Data: sh.Data, Len: sh.Len}))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnsafeBytes returns the string as a byte slice
|
// UnsafeBytes returns the string as a byte slice
|
||||||
// THIS SHOULD ONLY BE USED BY THE CODE GENERATOR.
|
//
|
||||||
// THIS IS EVIL CODE.
|
// Deprecated:
|
||||||
// YOU HAVE BEEN WARNED.
|
// Since this code is no longer used by the code generator,
|
||||||
|
// UnsafeBytes(s) is precisely equivalent to []byte(s)
|
||||||
func UnsafeBytes(s string) []byte {
|
func UnsafeBytes(s string) []byte {
|
||||||
return *(*[]byte)(unsafe.Pointer(&reflect.SliceHeader{
|
return []byte(s)
|
||||||
Len: len(s),
|
|
||||||
Cap: len(s),
|
|
||||||
Data: (*(*reflect.StringHeader)(unsafe.Pointer(&s))).Data,
|
|
||||||
}))
|
|
||||||
}
|
}
|
||||||
|
|
24
vendor/github.com/tinylib/msgp/msgp/write.go
generated
vendored
24
vendor/github.com/tinylib/msgp/msgp/write.go
generated
vendored
|
@ -10,6 +10,11 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// min buffer size for the writer
|
||||||
|
minWriterSize = 18
|
||||||
|
)
|
||||||
|
|
||||||
// Sizer is an interface implemented
|
// Sizer is an interface implemented
|
||||||
// by types that can estimate their
|
// by types that can estimate their
|
||||||
// size when MessagePack encoded.
|
// size when MessagePack encoded.
|
||||||
|
@ -120,16 +125,27 @@ func NewWriter(w io.Writer) *Writer {
|
||||||
|
|
||||||
// NewWriterSize returns a writer with a custom buffer size.
|
// NewWriterSize returns a writer with a custom buffer size.
|
||||||
func NewWriterSize(w io.Writer, sz int) *Writer {
|
func NewWriterSize(w io.Writer, sz int) *Writer {
|
||||||
// we must be able to require() 18
|
// we must be able to require() 'minWriterSize'
|
||||||
// contiguous bytes, so that is the
|
// contiguous bytes, so that is the
|
||||||
// practical minimum buffer size
|
// practical minimum buffer size
|
||||||
if sz < 18 {
|
if sz < minWriterSize {
|
||||||
sz = 18
|
sz = minWriterSize
|
||||||
}
|
}
|
||||||
|
buf := make([]byte, sz)
|
||||||
|
return NewWriterBuf(w, buf)
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewWriterBuf returns a writer with a provided buffer.
|
||||||
|
// 'buf' is not used when the capacity is smaller than 18,
|
||||||
|
// custom buffer is allocated instead.
|
||||||
|
func NewWriterBuf(w io.Writer, buf []byte) *Writer {
|
||||||
|
if cap(buf) < minWriterSize {
|
||||||
|
buf = make([]byte, minWriterSize)
|
||||||
|
}
|
||||||
|
buf = buf[:cap(buf)]
|
||||||
return &Writer{
|
return &Writer{
|
||||||
w: w,
|
w: w,
|
||||||
buf: make([]byte, sz),
|
buf: buf,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
20
vendor/github.com/tinylib/msgp/msgp/write_bytes.go
generated
vendored
20
vendor/github.com/tinylib/msgp/msgp/write_bytes.go
generated
vendored
|
@ -193,6 +193,26 @@ func AppendBytes(b []byte, bts []byte) []byte {
|
||||||
return o[:n+copy(o[n:], bts)]
|
return o[:n+copy(o[n:], bts)]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AppendBytesHeader appends an 'bin' header with
|
||||||
|
// the given size to the slice.
|
||||||
|
func AppendBytesHeader(b []byte, sz uint32) []byte {
|
||||||
|
var o []byte
|
||||||
|
var n int
|
||||||
|
switch {
|
||||||
|
case sz <= math.MaxUint8:
|
||||||
|
o, n = ensure(b, 2)
|
||||||
|
prefixu8(o[n:], mbin8, uint8(sz))
|
||||||
|
return o
|
||||||
|
case sz <= math.MaxUint16:
|
||||||
|
o, n = ensure(b, 3)
|
||||||
|
prefixu16(o[n:], mbin16, uint16(sz))
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
o, n = ensure(b, 5)
|
||||||
|
prefixu32(o[n:], mbin32, sz)
|
||||||
|
return o
|
||||||
|
}
|
||||||
|
|
||||||
// AppendBool appends a bool to the slice
|
// AppendBool appends a bool to the slice
|
||||||
func AppendBool(b []byte, t bool) []byte {
|
func AppendBool(b []byte, t bool) []byte {
|
||||||
if t {
|
if t {
|
||||||
|
|
4
vendor/modules.txt
vendored
4
vendor/modules.txt
vendored
|
@ -776,8 +776,8 @@ github.com/spf13/cobra
|
||||||
# github.com/spf13/pflag v1.0.5
|
# github.com/spf13/pflag v1.0.5
|
||||||
## explicit; go 1.12
|
## explicit; go 1.12
|
||||||
github.com/spf13/pflag
|
github.com/spf13/pflag
|
||||||
# github.com/tinylib/msgp v1.1.0
|
# github.com/tinylib/msgp v1.1.6
|
||||||
## explicit
|
## explicit; go 1.14
|
||||||
github.com/tinylib/msgp/msgp
|
github.com/tinylib/msgp/msgp
|
||||||
# github.com/tonistiigi/fsutil v0.0.0-20220315205639-9ed612626da3
|
# github.com/tonistiigi/fsutil v0.0.0-20220315205639-9ed612626da3
|
||||||
## explicit; go 1.13
|
## explicit; go 1.13
|
||||||
|
|
Loading…
Reference in a new issue