binary: unsafe.String() decoders.
This commit is contained in:
@@ -3,6 +3,7 @@ package binary
|
||||
import (
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"unsafe"
|
||||
|
||||
"github.com/nbd-wtf/go-nostr"
|
||||
)
|
||||
@@ -21,7 +22,7 @@ func UnmarshalBinary(data []byte, evt *Event) (err error) {
|
||||
evt.CreatedAt = nostr.Timestamp(binary.BigEndian.Uint32(data[128:132]))
|
||||
evt.Kind = binary.BigEndian.Uint16(data[132:134])
|
||||
contentLength := int(binary.BigEndian.Uint16(data[134:136]))
|
||||
evt.Content = string(data[136 : 136+contentLength])
|
||||
evt.Content = unsafe.String(&data[136], contentLength)
|
||||
|
||||
curr := 136 + contentLength
|
||||
|
||||
@@ -37,10 +38,9 @@ func UnmarshalBinary(data []byte, evt *Event) (err error) {
|
||||
curr = curr + 1
|
||||
itemSize := int(binary.BigEndian.Uint16(data[curr : curr+2]))
|
||||
itemStart := curr + 2
|
||||
itemEnd := itemStart + itemSize
|
||||
item := string(data[itemStart:itemEnd])
|
||||
item := unsafe.String(&data[itemStart], itemSize)
|
||||
tag[i] = item
|
||||
curr = itemEnd
|
||||
curr = itemStart + itemSize
|
||||
}
|
||||
evt.Tags[t] = tag
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user