Adding upstream version 2.52.6.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
a960158181
commit
6d002e9543
441 changed files with 95392 additions and 0 deletions
24
utils/convert_s2b_old.go
Normal file
24
utils/convert_s2b_old.go
Normal file
|
@ -0,0 +1,24 @@
|
|||
//go:build !go1.20
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
const MaxStringLen = 0x7fff0000 // Maximum string length for UnsafeBytes. (decimal: 2147418112)
|
||||
|
||||
// UnsafeBytes returns a byte pointer without allocation.
|
||||
// String length shouldn't be more than 2147418112.
|
||||
//
|
||||
//nolint:gosec // unsafe is used for better performance here
|
||||
func UnsafeBytes(s string) []byte {
|
||||
if s == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
return (*[MaxStringLen]byte)(unsafe.Pointer(
|
||||
(*reflect.StringHeader)(unsafe.Pointer(&s)).Data),
|
||||
)[:len(s):len(s)]
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue