diff options
Diffstat (limited to 'src/corelib/tools/qbitarray.h')
-rw-r--r-- | src/corelib/tools/qbitarray.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/tools/qbitarray.h b/src/corelib/tools/qbitarray.h index 8fc86b0746..aa9c9620fc 100644 --- a/src/corelib/tools/qbitarray.h +++ b/src/corelib/tools/qbitarray.h @@ -120,22 +120,22 @@ Q_CORE_EXPORT QBitArray operator|(const QBitArray &, const QBitArray &); Q_CORE_EXPORT QBitArray operator^(const QBitArray &, const QBitArray &); inline bool QBitArray::testBit(int i) const -{ Q_ASSERT(i >= 0 && i < size()); +{ Q_ASSERT(uint(i) < uint(size())); return (*(reinterpret_cast<const uchar*>(d.constData())+1+(i>>3)) & (1 << (i & 7))) != 0; } inline void QBitArray::setBit(int i) -{ Q_ASSERT(i >= 0 && i < size()); +{ Q_ASSERT(uint(i) < uint(size())); *(reinterpret_cast<uchar*>(d.data())+1+(i>>3)) |= uchar(1 << (i & 7)); } inline void QBitArray::clearBit(int i) -{ Q_ASSERT(i >= 0 && i < size()); +{ Q_ASSERT(uint(i) < uint(size())); *(reinterpret_cast<uchar*>(d.data())+1+(i>>3)) &= ~uchar(1 << (i & 7)); } inline void QBitArray::setBit(int i, bool val) { if (val) setBit(i); else clearBit(i); } inline bool QBitArray::toggleBit(int i) -{ Q_ASSERT(i >= 0 && i < size()); +{ Q_ASSERT(uint(i) < uint(size())); uchar b = uchar(1<<(i&7)); uchar* p = reinterpret_cast<uchar*>(d.data())+1+(i>>3); uchar c = uchar(*p&b); *p^=b; return c!=0; } |