diff options
Diffstat (limited to 'src/NonStupidBitfield.h')
-rw-r--r-- | src/NonStupidBitfield.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/NonStupidBitfield.h b/src/NonStupidBitfield.h index 124ba76..22e13a9 100644 --- a/src/NonStupidBitfield.h +++ b/src/NonStupidBitfield.h @@ -51,9 +51,14 @@ struct NonStupidBitField template <typename T> void Next() { - while (RemainingBits == 0 && DataIdx < DataLength) + if (DataIdx >= DataLength) + return; + + while (RemainingBits == 0) { DataIdx += sizeof(T); + if (DataIdx >= DataLength) + return; RemainingBits = *(T*)&BitField.Data[DataIdx]; } |