aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Runxi Yu2025-11-21 08:00:00 +0800
committerGravatar Runxi Yu2025-11-21 08:00:00 +0800
commit1461c840c7ca96e5a17d9fd756def7f43848c22f (patch)
tree9df920d5b467ff0ef81e0fbe5a6a09c25c48b166
parentAdd DiffTrees (diff)
signatureNo signature
Add stringToBytes/bytesToString
-rw-r--r--unsafe.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/unsafe.go b/unsafe.go
new file mode 100644
index 00000000..fac20230
--- /dev/null
+++ b/unsafe.go
@@ -0,0 +1,17 @@
+package furgit
+
+import "unsafe"
+
+// // stringToBytes converts a string to a byte slice without copying the string.
+// // Memory is borrowed from the string.
+// // The resulting byte slice must not be modified in any form.
+// func stringToBytes(s string) (bytes []byte) {
+// return unsafe.Slice(unsafe.StringData(s), len(s)) //#nosec G103
+// }
+
+// bytesToString converts a byte slice to a string without copying the bytes.
+// Memory is borrowed from the byte slice.
+// The source byte slice must not be modified.
+func bytesToString(b []byte) string {
+ return unsafe.String(unsafe.SliceData(b), len(b)) //#nosec G103
+}