summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qbitarray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qbitarray.cpp')
-rw-r--r--src/corelib/tools/qbitarray.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/tools/qbitarray.cpp b/src/corelib/tools/qbitarray.cpp
index 54c1ff88435..e432322aeb0 100644
--- a/src/corelib/tools/qbitarray.cpp
+++ b/src/corelib/tools/qbitarray.cpp
@@ -174,10 +174,10 @@ int QBitArray::count(bool on) const
bits += 3;
numBits += int(qPopulationCount(v));
}
- while (len >= 0) {
- if (bits[len / 8] & (1 << ((len - 1) & 7)))
- ++numBits;
+ while (len > 0) {
--len;
+ if (bits[len / 8] & (1 << (len & 7)))
+ ++numBits;
}
#endif
return on ? numBits : size() - numBits;