summaryrefslogtreecommitdiff
path: root/vendor/github.com/philhofer/fwd/writer_unsafe.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/philhofer/fwd/writer_unsafe.go')
-rw-r--r--vendor/github.com/philhofer/fwd/writer_unsafe.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/github.com/philhofer/fwd/writer_unsafe.go b/vendor/github.com/philhofer/fwd/writer_unsafe.go
new file mode 100644
index 000000000..e4cb4a830
--- /dev/null
+++ b/vendor/github.com/philhofer/fwd/writer_unsafe.go
@@ -0,0 +1,20 @@
+//go:build !appengine && !tinygo
+// +build !appengine,!tinygo
+
+package fwd
+
+import (
+ "reflect"
+ "unsafe"
+)
+
+// unsafe cast string as []byte
+func unsafestr(s string) []byte {
+ var b []byte
+ sHdr := (*reflect.StringHeader)(unsafe.Pointer(&s))
+ bHdr := (*reflect.SliceHeader)(unsafe.Pointer(&b))
+ bHdr.Data = sHdr.Data
+ bHdr.Len = sHdr.Len
+ bHdr.Cap = sHdr.Len
+ return b
+}