jesseduffield.lazygit/vendor/github.com/yuin/goldmark/util/util_unsafe.go
Jesse Duffield 3a191b913f Add release notes popup after update
We're using glamour for rendering the markdown, and I'm interested in using it in other places
too
2024-01-13 19:26:26 +11:00

24 lines
515 B
Go

// +build !appengine,!js
package util
import (
"reflect"
"unsafe"
)
// BytesToReadOnlyString returns a string converted from given bytes.
func BytesToReadOnlyString(b []byte) string {
return *(*string)(unsafe.Pointer(&b))
}
// StringToReadOnlyBytes returns bytes converted from given string.
func StringToReadOnlyBytes(s string) (bs []byte) {
sh := (*reflect.StringHeader)(unsafe.Pointer(&s))
bh := (*reflect.SliceHeader)(unsafe.Pointer(&bs))
bh.Data = sh.Data
bh.Cap = sh.Len
bh.Len = sh.Len
return
}