in macos/wrapper.go [102:117]
func unwrap(w *C.Wrapper) (res []byte, err error) {
defer C.free(unsafe.Pointer(w))
if w == nil {
return nil, errors.New("tried to unwrap empty response")
}
if w.error != nil {
msg := C.GoString(w.error)
err = errors.New(msg)
C.free(unsafe.Pointer(w.error))
}
if w.buf != nil {
res = C.GoBytes(unsafe.Pointer(w.buf), C.int(w.size))
C.free(unsafe.Pointer(w.buf))
}
return
}