binary: unsafe.String() decoders.

This commit is contained in:
fiatjaf
2024-06-03 20:53:52 -03:00
parent 742873bde6
commit 00ae611115
3 changed files with 19 additions and 19 deletions

View File

@@ -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
}