- MmsValue_getNumberOfSetBits now deals with wrong padding

pull/6/head
Michael Zillgith 9 years ago
parent 23cf37d048
commit 940bcee6fc

@ -372,6 +372,23 @@ MmsValue_getNumberOfSetBits(const MmsValue* self)
int i; int i;
for (i = 0; i < byteSize; i++) { for (i = 0; i < byteSize; i++) {
/* deal with wrong padding */
if (i == (byteSize - 1)) {
int paddingSize = (byteSize * 8) - self->value.bitString.size;
uint8_t mask = 0;
int k;
for (k = 0; k < paddingSize; k++)
mask += (1 << k);
mask = ~mask;
self->value.bitString.buf[i] = (self->value.bitString.buf[i] & mask);
}
uint8_t currentByte = self->value.bitString.buf[i]; uint8_t currentByte = self->value.bitString.buf[i];
while (currentByte != 0) { while (currentByte != 0) {

Loading…
Cancel
Save