2025-06-12 11:44:57 +02:00
|
|
|
package fmp
|
|
|
|
|
2025-06-22 19:14:22 +02:00
|
|
|
func addIf(cond bool, val uint64) uint64 {
|
|
|
|
if cond {
|
|
|
|
return val
|
2025-06-14 16:28:41 +02:00
|
|
|
}
|
2025-06-22 19:14:22 +02:00
|
|
|
return 0
|
2025-06-14 16:28:41 +02:00
|
|
|
}
|
|
|
|
|
2025-06-22 19:14:22 +02:00
|
|
|
func decodeVarUint64(payload []byte) uint64 {
|
2025-06-12 11:52:09 +02:00
|
|
|
var length uint64
|
2025-06-12 21:21:55 +02:00
|
|
|
n := min(len(payload), 8) // clamp to uint64
|
2025-06-12 11:44:57 +02:00
|
|
|
for i := range n {
|
|
|
|
length <<= 8
|
2025-06-12 11:52:09 +02:00
|
|
|
length |= uint64(payload[i])
|
2025-06-12 11:44:57 +02:00
|
|
|
}
|
|
|
|
return length
|
|
|
|
}
|
|
|
|
|
2025-06-22 19:14:22 +02:00
|
|
|
func decodeString(payload []byte) string {
|
2025-06-12 11:44:57 +02:00
|
|
|
result := ""
|
|
|
|
for i := range payload {
|
|
|
|
result += string(payload[i] ^ 0x5A)
|
|
|
|
}
|
|
|
|
return result
|
|
|
|
}
|