go-common/vendor/howett.net/plist/zerocopy.go

21 lines
304 B
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
// +build !appengine
package plist
import (
"reflect"
"unsafe"
)
func zeroCopy8BitString(buf []byte, off int, len int) string {
if len == 0 {
return ""
}
var s string
hdr := (*reflect.StringHeader)(unsafe.Pointer(&s))
hdr.Data = uintptr(unsafe.Pointer(&buf[off]))
hdr.Len = len
return s
}