Skip to content

Commit c74b18e

Browse files
dveedenserprex
andauthored
Update serialization/serialization.go
Co-authored-by: Philip Dubé <[email protected]>
1 parent 4a8e497 commit c74b18e

File tree

1 file changed

+3
-22
lines changed

1 file changed

+3
-22
lines changed

serialization/serialization.go

+3-22
Original file line numberDiff line numberDiff line change
@@ -246,28 +246,9 @@ func decodeVar(data []byte, pos uint64, unsigned bool) (interface{}, uint64, err
246246
return 0, pos, fmt.Errorf("truncated data, expected length: %d", flen)
247247
}
248248
var tNum uint64
249-
switch flen {
250-
case 1:
251-
tNum = uint64(data[pos])
252-
case 2:
253-
tNum = uint64(binary.LittleEndian.Uint16(data[pos : int(pos)+flen]))
254-
case 3:
255-
tNum = uint64(binary.LittleEndian.Uint32(
256-
slices.Concat(data[pos:int(pos)+flen], []byte{0x0})))
257-
case 4:
258-
tNum = uint64(binary.LittleEndian.Uint32(data[pos : int(pos)+flen]))
259-
case 5:
260-
tNum = binary.LittleEndian.Uint64(
261-
slices.Concat(data[pos:int(pos)+flen], []byte{0x0, 0x0, 0x0}))
262-
case 6:
263-
tNum = binary.LittleEndian.Uint64(
264-
slices.Concat(data[pos:int(pos)+flen], []byte{0x0, 0x0}))
265-
case 7:
266-
tNum = binary.LittleEndian.Uint64(
267-
slices.Concat(data[pos:int(pos)+flen], []byte{0x0}))
268-
case 8:
269-
tNum = binary.LittleEndian.Uint64(data[pos : int(pos)+flen])
270-
}
249+
var tNumBytes [8]byte
250+
copy(tNumBytes[:], data[pos:int(pos)+flen])
251+
tNum := binary.LittleEndian.Uint64(tNumBytes[:])
271252
pos += uint64(flen)
272253
if unsigned {
273254
return tNum >> flen, pos, nil

0 commit comments

Comments
 (0)