// It returns zero if the type cannot be implemented by the fast path in Read or Write.
func intDataSize(data interface{}) int {
switch data := data.(type) {
- case int8, *int8, *uint8:
+ case int8, uint8, *int8, *uint8:
return 1
case []int8:
return len(data)
case []uint8:
return len(data)
- case int16, *int16, *uint16:
+ case int16, uint16, *int16, *uint16:
return 2
case []int16:
return 2 * len(data)
case []uint16:
return 2 * len(data)
- case int32, *int32, *uint32:
+ case int32, uint32, *int32, *uint32:
return 4
case []int32:
return 4 * len(data)
case []uint32:
return 4 * len(data)
- case int64, *int64, *uint64:
+ case int64, uint64, *int64, *uint64:
return 8
case []int64:
return 8 * len(data)