You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			24 lines
		
	
	
		
			557 B
		
	
	
	
		
			Go
		
	
		
		
			
		
	
	
			24 lines
		
	
	
		
			557 B
		
	
	
	
		
			Go
		
	
| 
											5 months ago
										 | package gokb | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"encoding/hex" | ||
|  | 	"fmt" | ||
|  | ) | ||
|  | 
 | ||
|  | // decodeUUIDBinary interprets the binary format of a uuid, returning it in text format.
 | ||
|  | func decodeUUIDBinary(src []byte) ([]byte, error) { | ||
|  | 	if len(src) != 16 { | ||
|  | 		return nil, fmt.Errorf("kb: unable to decode uuid; bad length: %d", len(src)) | ||
|  | 	} | ||
|  | 
 | ||
|  | 	dst := make([]byte, 36) | ||
|  | 	dst[8], dst[13], dst[18], dst[23] = '-', '-', '-', '-' | ||
|  | 	hex.Encode(dst[0:], src[0:4]) | ||
|  | 	hex.Encode(dst[9:], src[4:6]) | ||
|  | 	hex.Encode(dst[14:], src[6:8]) | ||
|  | 	hex.Encode(dst[19:], src[8:10]) | ||
|  | 	hex.Encode(dst[24:], src[10:16]) | ||
|  | 
 | ||
|  | 	return dst, nil | ||
|  | } |