mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-04 08:52:26 -06:00 
			
		
		
		
	* bump go-byteutil v1.2.0 -> v1.3.0 which has safer (as in long-term API consistency) byte <-> string conversions * fix test relying on byteutil exported type no longer existing
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			618 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			618 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package byteutil
 | 
						|
 | 
						|
import (
 | 
						|
	"unsafe"
 | 
						|
)
 | 
						|
 | 
						|
// Copy returns a copy of []byte.
 | 
						|
func Copy(b []byte) []byte {
 | 
						|
	if b == nil {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
	p := make([]byte, len(b))
 | 
						|
	copy(p, b)
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
// B2S returns a string representation of []byte without allocation.
 | 
						|
// Since Go strings are immutable, the bytes passed to String must
 | 
						|
// not be modified as long as the returned string value exists.
 | 
						|
func B2S(b []byte) string {
 | 
						|
	return unsafe.String(unsafe.SliceData(b), len(b))
 | 
						|
}
 | 
						|
 | 
						|
// S2B returns a []byte representation of string without allocation.
 | 
						|
func S2B(s string) []byte {
 | 
						|
	return unsafe.Slice(unsafe.StringData(s), len(s))
 | 
						|
}
 |