(b []byte, p unsafe.Pointer, t reflect.Type, unexported bool, offset uintptr, decode decodeFunc)
| 401 | } |
| 402 | } |
| 403 | func (d decoder) decodeEmbeddedStructPointer(b []byte, p unsafe.Pointer, t reflect.Type, unexported bool, offset uintptr, decode decodeFunc) ([]byte, error) { |
| 404 | v := *(*unsafe.Pointer)(p) |
| 405 | if v == nil { |
| 406 | if unexported { |
| 407 | return nil, fmt.Errorf("msgp: cannot set embedded pointer to unexported struct: %s", t) |
| 408 | } |
| 409 | v = unsafe.Pointer(reflect.New(t).Pointer()) |
| 410 | *(*unsafe.Pointer)(p) = v |
| 411 | } |
| 412 | return decode(d, b, unsafe.Pointer(uintptr(v)+offset)) |
| 413 | } |
| 414 | func (d decoder) decodePointer(b []byte, p unsafe.Pointer, t reflect.Type, decode decodeFunc) ([]byte, error) { |
| 415 | if hasNilCode(b) { |
| 416 | pp := *(*unsafe.Pointer)(p) |
no test coverage detected