1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-03 08:34:07 +02:00

dont panic when reading 0 length signed int

This commit is contained in:
Robin Appelman 2020-01-20 16:01:05 +01:00
commit 7e4830c66f

View file

@ -304,7 +304,9 @@ where
where
T: PrimInt + BitOrAssign + IsSigned + UncheckedPrimitiveInt + BitXor,
{
if T::is_signed() {
if count == 0 {
T::zero()
} else if T::is_signed() {
let sign_bit = value >> (count - 1) & T::one();
if sign_bit == T::one() {
value | (T::zero() - T::one()) ^ ((T::one() << count) - T::one())