Fix unsigned int conversion to/from Variant

This commit is contained in:
Ruslan Mustakov 2019-12-23 20:53:13 +07:00
commit d1b82d351c
2 changed files with 6 additions and 2 deletions

View file

@ -604,7 +604,11 @@ proc fromVariant*[T: SomeSignedInt or SomeUnsignedInt](
else: uint64)
intVal = when T is SomeSignedInt: val.asInt()
else: val.asUint()
if intVal > high(T) or intVal < low(T):
const highT = when T is SomeSignedInt: high(T).int64
else: high(T).uint64
const lowT = when T is SomeSignedInt: low(T).int64
else: low(T).uint64
if intVal > highT or intVal < lowT:
result = ConversionResult.RangeError
else:
self = T(intVal)