]> git.r.bdr.sh - rbdr/mobius/blobdiff - hotline/time.go
Update README.md
[rbdr/mobius] / hotline / time.go
index 3b87864e53db8932962c6084eeaf9c4ea92673e9..edc700dd29f8b47a2cf3a3954b21a1839336cf45 100644 (file)
@@ -2,12 +2,13 @@ package hotline
 
 import (
        "encoding/binary"
+       "slices"
        "time"
 )
 
 // toHotlineTime converts a time.Time to the 8 byte Hotline time format:
 // Year (2 bytes), milliseconds (2 bytes) and seconds (4 bytes)
-func toHotlineTime(t time.Time) (b []byte) {
+func toHotlineTime(t time.Time) (b [8]byte) {
        yearBytes := make([]byte, 2)
        secondBytes := make([]byte, 4)
 
@@ -17,9 +18,9 @@ func toHotlineTime(t time.Time) (b []byte) {
        binary.BigEndian.PutUint16(yearBytes, uint16(t.Year()))
        binary.BigEndian.PutUint32(secondBytes, uint32(t.Sub(startOfYear).Seconds()))
 
-       b = append(b, yearBytes...)
-       b = append(b, []byte{0, 0}...)
-       b = append(b, secondBytes...)
-
-       return b
+       return [8]byte(slices.Concat(
+               yearBytes,
+               []byte{0, 0},
+               secondBytes,
+       ))
 }