]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: use unsafe.Slice instead of unsafeheader package
authorTobias Klauser <tklauser@distanz.ch>
Wed, 7 Sep 2022 07:51:35 +0000 (09:51 +0200)
committerGopher Robot <gobot@golang.org>
Fri, 9 Sep 2022 15:30:06 +0000 (15:30 +0000)
Change-Id: I9de5aafb36d05bdc90bbdba516367eb2b200a7e0
Reviewed-on: https://go-review.googlesource.com/c/go/+/428777
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/syscall/syscall_unix.go
src/syscall/syscall_windows.go

index cf0e238e2f49517f28889c913cd331f5b5fa17de..3133becd7ca52008e0bb4cee6f029daca1ca7563 100644 (file)
@@ -11,7 +11,6 @@ import (
        "internal/itoa"
        "internal/oserror"
        "internal/race"
-       "internal/unsafeheader"
        "runtime"
        "sync"
        "unsafe"
@@ -57,11 +56,7 @@ func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (d
        }
 
        // Use unsafe to turn addr into a []byte.
-       var b []byte
-       hdr := (*unsafeheader.Slice)(unsafe.Pointer(&b))
-       hdr.Data = unsafe.Pointer(addr)
-       hdr.Cap = length
-       hdr.Len = length
+       b := unsafe.Slice((*byte)(unsafe.Pointer(addr)), length)
 
        // Register mapping in m and return it.
        p := &b[cap(b)-1]
index c58d972e6198c94192dd5a3fb877480422ca8ec8..76a2f5ad54192c50f26136ac4156fab5f1fa3885 100644 (file)
@@ -12,7 +12,6 @@ import (
        "internal/itoa"
        "internal/oserror"
        "internal/race"
-       "internal/unsafeheader"
        "runtime"
        "sync"
        "unicode/utf16"
@@ -78,11 +77,7 @@ func utf16PtrToString(p *uint16) string {
                n++
        }
        // Turn *uint16 into []uint16.
-       var s []uint16
-       hdr := (*unsafeheader.Slice)(unsafe.Pointer(&s))
-       hdr.Data = unsafe.Pointer(p)
-       hdr.Cap = n
-       hdr.Len = n
+       s := unsafe.Slice((*uint16)(unsafe.Pointer(p)), n)
        // Decode []uint16 into string.
        return string(utf16.Decode(s))
 }