MCPcopy
hub / github.com/uptrace/uptrace / decodeArray

Method decodeArray

pkg/msgp/decoder.go:192–207  ·  view source on GitHub ↗
(b []byte, p unsafe.Pointer, n int, size uintptr, t reflect.Type, decode decodeFunc)

Source from the content-addressed store, hash-verified

190 return b, nil
191}
192func (d decoder) decodeArray(b []byte, p unsafe.Pointer, n int, size uintptr, t reflect.Type, decode decodeFunc) ([]byte, error) {
193 ln, b, err := ParseArrayLen(b)
194 if err != nil {
195 return b, err
196 }
197 if ln != n {
198 return b, fmt.Errorf("msgp: got %d array elements, wanted %d", ln, n)
199 }
200 for i := 0; i < ln; i++ {
201 b, err = decode(d, b, unsafe.Pointer(uintptr(p)+(uintptr(i)*size)))
202 if err != nil {
203 return b, err
204 }
205 }
206 return b, nil
207}
208func (d decoder) decodeStringSlice(b []byte, p unsafe.Pointer) ([]byte, error) {
209 ss, b, err := ParseStringSlice(b, d.flags)
210 if err != nil {

Callers 1

createArrayDecodeFuncFunction · 0.80

Calls 2

ParseArrayLenFunction · 0.85
PointerMethod · 0.80

Tested by

no test coverage detected